You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by do...@apache.org on 2016/10/01 07:05:12 UTC

zeppelin git commit: [ZEPPELIN-908] Apply new mechanism to CassandraInterpreter

Repository: zeppelin
Updated Branches:
  refs/heads/master 401c81370 -> 5e02186df


[ZEPPELIN-908] Apply new mechanism to CassandraInterpreter

### What is this PR for?
This handles replacing the registration of interpreter with static block by the interpreter-setting.json file

### What type of PR is it?
Sub-ask

### Todos
NA

### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-908

### How should this be tested?
* There shouldn't be any warning like below on starting the server

`INFO [2016-09-29 00:25:46,247] ({main} CassandraInterpreter.java[<clinit>]:155) - Bootstrapping Cassandra Interpreter
 WARN [2016-09-29 00:25:46,250] ({main} Interpreter.java[register]:347) - Static initialization is deprecated for interpreter cassandra, You should change it to use interpreter-setting.json in your jar or interpreter/{interpreter}/interpreter-setting.json
 INFO [2016-09-29 00:25:46,250] ({main} InterpreterFactory.java[init]:204) - Interpreter cassandra.cassandra found. class=org.apache.zeppelin.cassandra.CassandraInterpreter`

* And ensure that the cassandra related paragraphs run without any error

### Screenshots (if appropriate)

### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No

Author: Kavin <ka...@imaginea.com>

Closes #1473 from kavinkumarks/zeppelin-908-register-cassandra-interpreter and squashes the following commits:

d1fe586 [Kavin] Removed static initialization of interpreter registration with the interpreter-setting.json file.


Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo
Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/5e02186d
Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/5e02186d
Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/5e02186d

Branch: refs/heads/master
Commit: 5e02186df86d719286ae8e2c97df936c02166d34
Parents: 401c813
Author: Kavin <ka...@imaginea.com>
Authored: Thu Sep 29 17:32:03 2016 +0530
Committer: doanduyhai <do...@apache.org>
Committed: Sat Oct 1 09:04:41 2016 +0200

----------------------------------------------------------------------
 .../cassandra/CassandraInterpreter.java         | 105 ----------
 .../src/main/resources/interpreter-setting.json | 195 +++++++++++++++++++
 2 files changed, 195 insertions(+), 105 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zeppelin/blob/5e02186d/cassandra/src/main/java/org/apache/zeppelin/cassandra/CassandraInterpreter.java
----------------------------------------------------------------------
diff --git a/cassandra/src/main/java/org/apache/zeppelin/cassandra/CassandraInterpreter.java b/cassandra/src/main/java/org/apache/zeppelin/cassandra/CassandraInterpreter.java
index 147fb62..47d8e3a 100644
--- a/cassandra/src/main/java/org/apache/zeppelin/cassandra/CassandraInterpreter.java
+++ b/cassandra/src/main/java/org/apache/zeppelin/cassandra/CassandraInterpreter.java
@@ -151,111 +151,6 @@ public class CassandraInterpreter extends Interpreter {
     super(properties);
   }
 
-  static {
-    LOGGER.info("Bootstrapping Cassandra Interpreter");
-    Interpreter.register("cassandra", "cassandra", CassandraInterpreter.class.getName(),
-      new InterpreterPropertyBuilder()
-        .add(CASSANDRA_HOSTS, DEFAULT_HOST,
-                "Comma separated Cassandra hosts (DNS name or " +
-                "IP address). Default = localhost. Ex: '192.168.0.12,node2,node3'")
-        .add(CASSANDRA_PORT, DEFAULT_PORT, "Cassandra native port. Default = 9042")
-        .add(CASSANDRA_PROTOCOL_VERSION, DEFAULT_PROTOCOL_VERSION,
-                "Cassandra protocol version. Default = 4")
-        .add(CASSANDRA_CLUSTER_NAME, DEFAULT_CLUSTER, "Cassandra cluster name. " +
-                "Default = 'Test Cluster'")
-        .add(CASSANDRA_KEYSPACE_NAME, DEFAULT_KEYSPACE, "Cassandra keyspace name. " +
-                "Default = 'system'")
-        .add(CASSANDRA_COMPRESSION_PROTOCOL, DEFAULT_COMPRESSION,
-                "Cassandra compression protocol. " +
-                "Available values: NONE, SNAPPY, LZ4. Default = NONE")
-        .add(CASSANDRA_CREDENTIALS_USERNAME, DEFAULT_CREDENTIAL,
-                "Cassandra credentials username. " +
-                "Default = 'none'")
-        .add(CASSANDRA_CREDENTIALS_PASSWORD, DEFAULT_CREDENTIAL,
-                "Cassandra credentials password. " +
-                "Default = 'none'")
-        .add(CASSANDRA_LOAD_BALANCING_POLICY, DEFAULT_POLICY, "Cassandra Load Balancing Policy. " +
-                "Default = new TokenAwarePolicy(new DCAwareRoundRobinPolicy())")
-        .add(CASSANDRA_RETRY_POLICY, DEFAULT_POLICY, "Cassandra Retry Policy. " +
-                "Default = DefaultRetryPolicy.INSTANCE")
-        .add(CASSANDRA_RECONNECTION_POLICY, DEFAULT_POLICY, "Cassandra Reconnection Policy. " +
-                "Default = new ExponentialReconnectionPolicy(1000, 10 * 60 * 1000)")
-        .add(CASSANDRA_SPECULATIVE_EXECUTION_POLICY, DEFAULT_POLICY,
-                "Cassandra Speculative Execution Policy. " +
-                        "Default = NoSpeculativeExecutionPolicy.INSTANCE")
-        .add(CASSANDRA_INTERPRETER_PARALLELISM, DEFAULT_PARALLELISM,
-                "Cassandra interpreter parallelism" +
-                ".Default = 10")
-        .add(CASSANDRA_MAX_SCHEMA_AGREEMENT_WAIT_SECONDS,
-                DEFAULT_MAX_SCHEMA_AGREEMENT_WAIT_SECONDS + ""
-                , "Cassandra max schema agreement wait in second" +
-                ".Default = ProtocolOptions.DEFAULT_MAX_SCHEMA_AGREEMENT_WAIT_SECONDS")
-
-        .add(CASSANDRA_POOLING_NEW_CONNECTION_THRESHOLD_LOCAL,
-                DEFAULT_NEW_CONNECTION_THRESHOLD_LOCAL,
-                "Cassandra new connection threshold local. " +
-                        "Protocol V2 and below default = 100" +
-                        "Protocol V3 and above default = 800")
-        .add(CASSANDRA_POOLING_NEW_CONNECTION_THRESHOLD_REMOTE,
-                DEFAULT_NEW_CONNECTION_THRESHOLD_REMOTE,
-                "Cassandra new connection threshold remove. " +
-                "Protocol V2 and below default = 100" +
-                "Protocol V3 and above default = 200")
-
-        .add(CASSANDRA_POOLING_CORE_CONNECTION_PER_HOST_LOCAL,
-                DEFAULT_CORE_CONNECTION_PER_HOST_LOCAL,
-                "Cassandra core connection per host local. " +
-                        "Protocol V2 and below default = 2" +
-                        "Protocol V3 and above default = 1")
-        .add(CASSANDRA_POOLING_CORE_CONNECTION_PER_HOST_REMOTE,
-                DEFAULT_CORE_CONNECTION_PER_HOST_REMOTE,
-                "Cassandra core connection per host remove. " +
-                "Protocol V2 and below default = 1" +
-                "Protocol V3 and above default = 1")
-
-        .add(CASSANDRA_POOLING_MAX_CONNECTION_PER_HOST_LOCAL,
-                DEFAULT_MAX_CONNECTION_PER_HOST_LOCAL,
-                "Cassandra max connection per host local. " +
-                        "Protocol V2 and below default = 8" +
-                        "Protocol V3 and above default = 1")
-        .add(CASSANDRA_POOLING_MAX_CONNECTION_PER_HOST_REMOTE,
-                DEFAULT_MAX_CONNECTION_PER_HOST_REMOTE,
-                "Cassandra max connection per host remote. " +
-                "Protocol V2 and below default = 2" +
-                "Protocol V3 and above default = 1")
-
-        .add(CASSANDRA_POOLING_MAX_REQUESTS_PER_CONNECTION_LOCAL,
-                DEFAULT_MAX_REQUEST_PER_CONNECTION_LOCAL,
-                "Cassandra max request per connection local. " +
-                        "Protocol V2 and below default = 128" +
-                        "Protocol V3 and above default = 1024")
-        .add(CASSANDRA_POOLING_MAX_REQUESTS_PER_CONNECTION_REMOTE,
-                DEFAULT_MAX_REQUEST_PER_CONNECTION_REMOTE,
-                "Cassandra max request per connection remote. " +
-                "Protocol V2 and below default = 128" +
-                "Protocol V3 and above default = 256")
-
-        .add(CASSANDRA_POOLING_IDLE_TIMEOUT_SECONDS, DEFAULT_IDLE_TIMEOUT,
-                "Cassandra idle time out in seconds. Default = 120")
-        .add(CASSANDRA_POOLING_POOL_TIMEOUT_MILLIS, DEFAULT_POOL_TIMEOUT,
-                "Cassandra pool time out in millisecs. Default = 5000")
-        .add(CASSANDRA_POOLING_HEARTBEAT_INTERVAL_SECONDS, DEFAULT_HEARTBEAT_INTERVAL,
-                "Cassandra pool heartbeat interval in secs. Default = 30")
-        .add(CASSANDRA_QUERY_DEFAULT_CONSISTENCY, DEFAULT_CONSISTENCY,
-                "Cassandra query default consistency level. Default = ONE")
-        .add(CASSANDRA_QUERY_DEFAULT_SERIAL_CONSISTENCY, DEFAULT_SERIAL_CONSISTENCY,
-                "Cassandra query default serial consistency level. Default = SERIAL")
-        .add(CASSANDRA_QUERY_DEFAULT_FETCH_SIZE, DEFAULT_FETCH_SIZE,
-                "Cassandra query default fetch size. Default = 5000")
-        .add(CASSANDRA_SOCKET_CONNECTION_TIMEOUT_MILLIS, DEFAULT_CONNECTION_TIMEOUT,
-                "Cassandra socket default connection timeout in millisecs. Default = 5000")
-        .add(CASSANDRA_SOCKET_READ_TIMEOUT_MILLIS, DEFAULT_READ_TIMEOUT,
-                "Cassandra socket read timeout in millisecs. Default = 12000")
-        .add(CASSANDRA_SOCKET_TCP_NO_DELAY, DEFAULT_TCP_NO_DELAY,
-                "Cassandra socket TCP no delay. Default = true")
-        .build());
-  }
-
   @Override
   public void open() {
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/5e02186d/cassandra/src/main/resources/interpreter-setting.json
----------------------------------------------------------------------
diff --git a/cassandra/src/main/resources/interpreter-setting.json b/cassandra/src/main/resources/interpreter-setting.json
new file mode 100644
index 0000000..eb98472
--- /dev/null
+++ b/cassandra/src/main/resources/interpreter-setting.json
@@ -0,0 +1,195 @@
+[
+  {
+    "group": "cassandra",
+    "name": "cassandra",
+    "className": "org.apache.zeppelin.cassandra.CassandraInterpreter",
+    "properties": {
+      "cassandra.hosts": {
+        "envName": null,
+        "propertyName": "cassandra.hosts",
+        "defaultValue": "localhost",
+        "description": "Comma separated Cassandra hosts (DNS name or IP address). Default = localhost. Ex: '192.168.0.12,node2,node3'"
+      },
+      "cassandra.native.port": {
+        "envName": null,
+        "propertyName": "cassandra.native.port",
+        "defaultValue": "9042",
+        "description": "Cassandra native port. Default = 9042"
+      },
+      "cassandra.protocol.version": {
+        "envName": null,
+        "propertyName": "cassandra.protocol.version",
+        "defaultValue": "4",
+        "description": "Cassandra protocol version. Default = 4"
+      },
+      "cassandra.cluster": {
+        "envName": null,
+        "propertyName": "cassandra.cluster",
+        "defaultValue": "Test Cluster",
+        "description": "Cassandra cluster name. Default = 'Test Cluster'"
+      },
+      "cassandra.keyspace": {
+        "envName": null,
+        "propertyName": "cassandra.keyspace",
+        "defaultValue": "system",
+        "description": "Cassandra keyspace name. Default = 'system'"
+      },
+      "cassandra.compression.protocol": {
+        "envName": null,
+        "propertyName": "cassandra.compression.protocol",
+        "defaultValue": "NONE",
+        "description": "Cassandra compression protocol. Available values: NONE, SNAPPY, LZ4. Default = NONE"
+      },
+      "cassandra.credentials.username": {
+        "envName": null,
+        "propertyName": "cassandra.credentials.username",
+        "defaultValue": "none",
+        "description": "Cassandra credentials username. Default = 'none'"
+      },
+      "cassandra.credentials.password": {
+        "envName": null,
+        "propertyName": "cassandra.credentials.password",
+        "defaultValue": "none",
+        "description": "Cassandra credentials password. Default = 'none'"
+      },
+      "cassandra.load.balancing.policy": {
+        "envName": null,
+        "propertyName": "cassandra.load.balancing.policy",
+        "defaultValue": "DEFAULT",
+        "description": "Cassandra Load Balancing Policy. Default = new TokenAwarePolicy(new DCAwareRoundRobinPolicy())"
+      },
+      "cassandra.retry.policy": {
+        "envName": null,
+        "propertyName": "cassandra.retry.policy",
+        "defaultValue": "DEFAULT",
+        "description": "Cassandra Retry Policy. Default = DefaultRetryPolicy.INSTANCE"
+      },
+      "cassandra.reconnection.policy": {
+        "envName": null,
+        "propertyName": "cassandra.reconnection.policy",
+        "defaultValue": "DEFAULT",
+        "description": "Cassandra Reconnection Policy. Default = new ExponentialReconnectionPolicy(1000, 10 * 60 * 1000)"
+      },
+      "cassandra.speculative.execution.policy": {
+        "envName": null,
+        "propertyName": "cassandra.speculative.execution.policy",
+        "defaultValue": "DEFAULT",
+        "description": "Cassandra Speculative Execution Policy. Default = NoSpeculativeExecutionPolicy.INSTANCE"
+      },
+      "cassandra.interpreter.parallelism": {
+        "envName": null,
+        "propertyName": "cassandra.interpreter.parallelism",
+        "defaultValue": "10",
+        "description": "Cassandra interpreter parallelism.Default = 10"
+      },
+      "cassandra.max.schema.agreement.wait.second": {
+        "envName": null,
+        "propertyName": "cassandra.max.schema.agreement.wait.second",
+        "defaultValue": "10",
+        "description": "Cassandra max schema agreement wait in second.Default = ProtocolOptions.DEFAULT_MAX_SCHEMA_AGREEMENT_WAIT_SECONDS"
+      },
+      "cassandra.pooling.new.connection.threshold.local": {
+        "envName": null,
+        "propertyName": "cassandra.pooling.new.connection.threshold.local",
+        "defaultValue": "100",
+        "description": "Cassandra new connection threshold local. Protocol V2 and below default = 100 Protocol V3 and above default = 800"
+      },
+      "cassandra.pooling.new.connection.threshold.remote": {
+        "envName": null,
+        "propertyName": "cassandra.pooling.new.connection.threshold.remote",
+        "defaultValue": "100",
+        "description": "Cassandra new connection threshold remove. Protocol V2 and below default = 100 Protocol V3 and above default = 200"
+      },
+      "cassandra.pooling.core.connection.per.host.local": {
+        "envName": null,
+        "propertyName": "cassandra.pooling.core.connection.per.host.local",
+        "defaultValue": "2",
+        "description": "Cassandra core connection per host local. Protocol V2 and below default = 2 Protocol V3 and above default = 1"
+      },
+      "cassandra.pooling.core.connection.per.host.remote": {
+        "envName": null,
+        "propertyName": "cassandra.pooling.core.connection.per.host.remote",
+        "defaultValue": "1",
+        "description": "Cassandra core connection per host remove. Protocol V2 and below default = 1 Protocol V3 and above default = 1"
+      },
+      "cassandra.pooling.max.connection.per.host.local": {
+        "envName": null,
+        "propertyName": "cassandra.pooling.max.connection.per.host.local",
+        "defaultValue": "8",
+        "description": "Cassandra max connection per host local. Protocol V2 and below default = 8 Protocol V3 and above default = 1"
+      },
+      "cassandra.pooling.max.connection.per.host.remote": {
+        "envName": null,
+        "propertyName": "cassandra.pooling.max.connection.per.host.remote",
+        "defaultValue": "2",
+        "description": "Cassandra max connection per host remote. Protocol V2 and below default = 2 Protocol V3 and above default = 1"
+      },
+      "cassandra.pooling.max.request.per.connection.local": {
+        "envName": null,
+        "propertyName": "cassandra.pooling.max.request.per.connection.local",
+        "defaultValue": "1024",
+        "description": "Cassandra max request per connection local. Protocol V2 and below default = 128 Protocol V3 and above default = 1024"
+      },
+      "cassandra.pooling.max.request.per.connection.remote": {
+        "envName": null,
+        "propertyName": "cassandra.pooling.max.request.per.connection.remote",
+        "defaultValue": "256",
+        "description": "Cassandra max request per connection remote. Protocol V2 and below default = 128 Protocol V3 and above default = 256"
+      },
+      "cassandra.pooling.idle.timeout.seconds": {
+        "envName": null,
+        "propertyName": "cassandra.pooling.idle.timeout.seconds",
+        "defaultValue": "120",
+        "description": "Cassandra idle time out in seconds. Default = 120"
+      },
+      "cassandra.pooling.pool.timeout.millisecs": {
+        "envName": null,
+        "propertyName": "cassandra.pooling.pool.timeout.millisecs",
+        "defaultValue": "5000",
+        "description": "Cassandra pool time out in millisecs. Default = 5000"
+      },
+      "cassandra.pooling.heartbeat.interval.seconds": {
+        "envName": null,
+        "propertyName": "cassandra.pooling.heartbeat.interval.seconds",
+        "defaultValue": "30",
+        "description": "Cassandra pool heartbeat interval in secs. Default = 30"
+      },
+      "cassandra.query.default.consistency": {
+        "envName": null,
+        "propertyName": "cassandra.query.default.consistency",
+        "defaultValue": "ONE",
+        "description": "Cassandra query default consistency level. Default = ONE"
+      },
+      "cassandra.query.default.serial.consistency": {
+        "envName": null,
+        "propertyName": "cassandra.query.default.serial.consistency",
+        "defaultValue": "SERIAL",
+        "description": "Cassandra query default serial consistency level. Default = SERIAL"
+      },
+      "cassandra.query.default.fetchSize": {
+        "envName": null,
+        "propertyName": "cassandra.query.default.fetchSize",
+        "defaultValue": "5000",
+        "description": "Cassandra query default fetch size. Default = 5000"
+      },
+      "cassandra.socket.connection.timeout.millisecs": {
+        "envName": null,
+        "propertyName": "cassandra.socket.connection.timeout.millisecs",
+        "defaultValue": "5000",
+        "description": "Cassandra socket default connection timeout in millisecs. Default = 5000"
+      },
+      "cassandra.socket.read.timeout.millisecs": {
+        "envName": null,
+        "propertyName": "cassandra.socket.read.timeout.millisecs",
+        "defaultValue": "12000",
+        "description": "Cassandra socket read timeout in millisecs. Default = 12000"
+      },
+      "cassandra.socket.tcp.no_delay": {
+        "envName": null,
+        "propertyName": "cassandra.socket.tcp.no_delay",
+        "defaultValue": "true",
+        "description": "Cassandra socket TCP no delay. Default = true"
+      }
+    }
+  }
+]