modules/common/cassandra-common/pom.xml |
2 -
modules/common/cassandra-common/src/main/cassandra/cql/dbsetup.cql |
18 ++++++++++
modules/common/cassandra-common/src/main/java/org/rhq/cassandra/BootstrapDeployer.java |
16 ++------
3 files changed, 24 insertions(+), 12 deletions(-)
New commits:
commit 6e8a1ce1899c35ff1e22ff939eaea866424faf0d
Author: John Sanda <jsanda(a)redhat.com>
Date: Wed Oct 31 16:20:00 2012 -0400
initial commit for dbsetup.cql
This commit introduces schema management using cql. BootstrapDeployer now
executes the cql script instead of the cli script to install the schema.
Schema installation/upgrade will be done differently once we have a tool in
place such as liquibase.
diff --git a/modules/common/cassandra-common/pom.xml
b/modules/common/cassandra-common/pom.xml
index 7198211..97c4446 100644
--- a/modules/common/cassandra-common/pom.xml
+++ b/modules/common/cassandra-common/pom.xml
@@ -56,7 +56,7 @@
<filtering>true</filtering>
</resource>
<resource>
- <directory>src/main/cassandra/cli</directory>
+ <directory>src/main/cassandra/cql</directory>
</resource>
</resources>
diff --git a/modules/common/cassandra-common/src/main/cassandra/cql/dbsetup.cql
b/modules/common/cassandra-common/src/main/cassandra/cql/dbsetup.cql
new file mode 100644
index 0000000..52cba95
--- /dev/null
+++ b/modules/common/cassandra-common/src/main/cassandra/cql/dbsetup.cql
@@ -0,0 +1,18 @@
+CREATE KEYSPACE rhq WITH replication = {'class': 'SimpleStrategy',
'replication_factor': 1};
+
+USE rhq;
+
+CREATE TABLE raw_metrics (
+ schedule_id int,
+ time timestamp,
+ value double,
+ PRIMARY KEY (schedule_id, time)
+);
+
+CREATE TABLE metrics_work_queue (
+ bucket varchar,
+ time timestamp,
+ schedule_id int,
+ null_col boolean,
+ PRIMARY KEY (bucket, time, schedule_id)
+);
diff --git
a/modules/common/cassandra-common/src/main/java/org/rhq/cassandra/BootstrapDeployer.java
b/modules/common/cassandra-common/src/main/java/org/rhq/cassandra/BootstrapDeployer.java
index 646cb59..afb157e 100644
---
a/modules/common/cassandra-common/src/main/java/org/rhq/cassandra/BootstrapDeployer.java
+++
b/modules/common/cassandra-common/src/main/java/org/rhq/cassandra/BootstrapDeployer.java
@@ -195,28 +195,22 @@ public class BootstrapDeployer {
private void updateSchema(File basedir, String host, int port) throws
CassandraException {
File binDir = new File(basedir, "bin");
- File cliScript;
+ File script = new File(binDir, "cqlsh");
SystemInfo systemInfo = SystemInfoFactory.createSystemInfo();
- if (systemInfo.getOperatingSystemType() == OperatingSystemType.WINDOWS) {
- cliScript = new File(binDir, "cassandra-cli.bat");
- } else {
- cliScript = new File(binDir, "cassandra-cli");
- }
-
File dbsetupFile = null;
try {
- dbsetupFile = File.createTempFile("dbsetup.script", null);
- InputStream inputStream =
getClass().getResourceAsStream("/dbsetup.script");
+ dbsetupFile = File.createTempFile("dbsetup.cql", null);
+ InputStream inputStream =
getClass().getResourceAsStream("/dbsetup.cql");
FileOutputStream outputStream = new FileOutputStream(dbsetupFile);
StreamUtil.copy(inputStream, outputStream);
} catch (IOException e) {
throw new CassandraException("Failed to load schema update script",
e);
}
- ProcessExecution cliExe =
ProcessExecutionUtility.createProcessExecution(cliScript);
+ ProcessExecution cliExe =
ProcessExecutionUtility.createProcessExecution(script);
cliExe.setWaitForCompletion(30000L);
cliExe.setCaptureOutput(true);
- cliExe.setArguments(asList("--debug", "-f",
dbsetupFile.getAbsolutePath(), "-h", host, "-p",
Integer.toString(port)));
+ cliExe.setArguments(asList("-3", "--debug", "-f",
dbsetupFile.getAbsolutePath()));
ProcessExecutionResults results = systemInfo.executeProcess(cliExe);
String output = results.getCapturedOutput();
Show replies by date