This is an automated email from the ASF dual-hosted git repository.
pdallig pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zeppelin.git
The following commit(s) were added to refs/heads/master by this push:
new 6a4fcdc199 [ZEPPELIN-5833] Enable Cassandra for JDK11
6a4fcdc199 is described below
commit 6a4fcdc199971e9ecd2c5f795aeff66a020488bc
Author: Philipp Dallig <[email protected]>
AuthorDate: Thu Oct 6 16:13:36 2022 +0200
[ZEPPELIN-5833] Enable Cassandra for JDK11
### What is this PR for?
This PR updates scala for the cassandra interpreter to 2.12
### What type of PR is it?
- Improvement
### Todos
* [ ] - Verify with real Cassandra Backend
### What is the Jira issue?
* https://issues.apache.org/jira/browse/ZEPPELIN-5833
### How should this be tested?
* CI
### Questions:
* Does the licenses files need to update? Yes
* Is there breaking changes for older versions? Yes
* Does this needs documentation? No
Author: Philipp Dallig <[email protected]>
Closes #4479 from Reamer/cassandra_jdk11 and squashes the following commits:
4ba0dbc7e [Philipp Dallig] Enable Cassandra for JDK11
---
cassandra/pom.xml | 97 +++++++++++++---------
.../zeppelin/cassandra/InterpreterLogic.scala | 2 +-
.../cassandra/CassandraInterpreterTest.java | 26 +++---
.../zeppelin/cassandra/InterpreterLogicTest.java | 4 +-
.../test/resources/scalate/DescribeKeyspaces.html | 2 +-
.../src/test/resources/scalate/DescribeTables.html | 2 +-
.../zeppelin/cassandra/ParagraphParserTest.scala | 2 +-
pom.xml | 8 ++
zeppelin-distribution/src/bin_license/LICENSE | 8 +-
9 files changed, 84 insertions(+), 67 deletions(-)
diff --git a/cassandra/pom.xml b/cassandra/pom.xml
index da0c3ed5c5..04c87bdffe 100644
--- a/cassandra/pom.xml
+++ b/cassandra/pom.xml
@@ -31,14 +31,20 @@
<description>Zeppelin cassandra support</description>
<properties>
- <cassandra.driver.version>4.8.0</cassandra.driver.version>
- <snappy.version>1.1.7.3</snappy.version>
- <lz4.version>1.7.0</lz4.version>
- <scalate.version>1.7.1</scalate.version>
+ <cassandra.driver.version>4.14.1</cassandra.driver.version>
+ <snappy.version>1.1.8.4</snappy.version>
+ <lz4.version>1.8.0</lz4.version>
+ <scalate.version>1.9.8</scalate.version>
<!-- test library versions -->
- <jna.version>4.2.0</jna.version>
+ <jna.version>5.12.1</jna.version>
<cassandra.unit.version>4.3.1.0</cassandra.unit.version>
+ <scalecheck.version>1.17.0</scalecheck.version>
+
+ <scala.version>${scala.2.12.version}</scala.version>
+ <scala.binary.version>2.12</scala.binary.version>
+ <scala.parser.combinators>1.1.2</scala.parser.combinators>
+ <cassandra.scalatest.version>3.2.0-SNAP10</cassandra.scalatest.version>
<interpreter.name>cassandra</interpreter.name>
</properties>
@@ -100,13 +106,6 @@
<scope>runtime</scope>
</dependency>
- <!-- we'll switch back to it after removing support for Scala 2.10
- <dependency>
- <groupId>org.scala-lang.modules</groupId>
- <artifactId>scala-java8-compat_${scala.binary.version}</artifactId>
- <version>${scala.java8.compat.version}</version>
- </dependency> -->
-
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
@@ -118,11 +117,24 @@
<version>${scalate.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.scala-lang.modules</groupId>
+
<artifactId>scala-parser-combinators_${scala.binary.version}</artifactId>
+ <version>${scala.parser.combinators}</version>
+ </dependency>
+
<!-- test libraries -->
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_${scala.binary.version}</artifactId>
- <version>${scalatest.version}</version>
+ <version>${cassandra.scalatest.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.scalacheck</groupId>
+ <artifactId>scalacheck_${scala.binary.version}</artifactId>
+ <version>${scalecheck.version}</version>
<scope>test</scope>
</dependency>
@@ -158,6 +170,7 @@
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
+
</dependencies>
<build>
@@ -174,30 +187,50 @@
<plugins>
<!-- Plugin to compile Scala code -->
<plugin>
- <groupId>org.scala-tools</groupId>
- <artifactId>maven-scala-plugin</artifactId>
+ <groupId>net.alchim31.maven</groupId>
+ <artifactId>scala-maven-plugin</artifactId>
<executions>
<execution>
- <id>compile</id>
+ <id>eclipse-add-source</id>
<goals>
- <goal>compile</goal>
+ <goal>add-source</goal>
</goals>
- <phase>compile</phase>
</execution>
<execution>
- <id>test-compile</id>
+ <id>scala-compile-first</id>
+ <phase>process-resources</phase>
<goals>
- <goal>testCompile</goal>
+ <goal>compile</goal>
</goals>
- <phase>test-compile</phase>
</execution>
<execution>
- <phase>process-resources</phase>
+ <id>scala-test-compile-first</id>
+ <phase>process-test-resources</phase>
<goals>
- <goal>compile</goal>
+ <goal>testCompile</goal>
</goals>
</execution>
</executions>
+ <configuration>
+ <args>
+ <arg>-unchecked</arg>
+ <arg>-deprecation</arg>
+ <arg>-feature</arg>
+ <arg>-nobootcp</arg>
+ </args>
+ <jvmArgs>
+ <jvmArg>-Xms1024m</jvmArg>
+ <jvmArg>-Xmx1024m</jvmArg>
+ <jvmArg>-XX:MaxMetaspaceSize=${MaxMetaspace}</jvmArg>
+ </jvmArgs>
+ <javacArgs>
+ <javacArg>-source</javacArg>
+ <javacArg>${java.version}</javacArg>
+ <javacArg>-target</javacArg>
+ <javacArg>${java.version}</javacArg>
+ <javacArg>-Xlint:all,-serial,-path,-options</javacArg>
+ </javacArgs>
+ </configuration>
</plugin>
<plugin>
@@ -213,24 +246,6 @@
</executions>
</plugin>
- <plugin>
- <groupId>org.scalatra.scalate</groupId>
-
<artifactId>maven-scalate-plugin_${scala.binary.version}</artifactId>
- <executions>
- <execution>
- <id>compile</id>
- <phase>process-classes</phase>
- <goals>
- <goal>precompile</goal>
- </goals>
- <configuration>
-
<resourcesSourceDirectory>${basedir}/src/main/resources/scalate</resourcesSourceDirectory>
-
<contextClass>org.fusesource.scalate.DefaultRenderContext</contextClass>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
</plugin>
diff --git
a/cassandra/src/main/scala/org/apache/zeppelin/cassandra/InterpreterLogic.scala
b/cassandra/src/main/scala/org/apache/zeppelin/cassandra/InterpreterLogic.scala
index 5529a71859..c3007f436f 100644
---
a/cassandra/src/main/scala/org/apache/zeppelin/cassandra/InterpreterLogic.scala
+++
b/cassandra/src/main/scala/org/apache/zeppelin/cassandra/InterpreterLogic.scala
@@ -380,7 +380,7 @@ class InterpreterLogic(val session: CqlSession, val
properties: Properties) {
findInAngularRepository(variable) match {
case Some(value) => statement.replaceAll(escapedExp,value.toString)
case None =>
- val value = context.getGui.input(variable, defaultVal)
+ val value = context.getGui.textbox(variable, defaultVal)
statement.replaceAll(escapedExp, value.toString)
}
diff --git
a/cassandra/src/test/java/org/apache/zeppelin/cassandra/CassandraInterpreterTest.java
b/cassandra/src/test/java/org/apache/zeppelin/cassandra/CassandraInterpreterTest.java
index 5e4c994611..ccd70682f5 100644
---
a/cassandra/src/test/java/org/apache/zeppelin/cassandra/CassandraInterpreterTest.java
+++
b/cassandra/src/test/java/org/apache/zeppelin/cassandra/CassandraInterpreterTest.java
@@ -19,6 +19,8 @@ package org.apache.zeppelin.cassandra;
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.config.DefaultDriverOption;
import com.datastax.oss.driver.api.core.config.DriverExecutionProfile;
+
+import org.apache.commons.io.IOUtils;
import org.apache.zeppelin.display.AngularObjectRegistry;
import org.apache.zeppelin.display.GUI;
import org.apache.zeppelin.interpreter.Interpreter;
@@ -33,10 +35,8 @@ import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
-import java.io.BufferedReader;
import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
import java.util.Map;
import java.util.Properties;
@@ -264,7 +264,7 @@ public class CassandraInterpreterTest { //extends
AbstractCassandraUnit4CQLTestC
"The Way You Are\tTears for Fears\t1983\n" +
"Primitive\tSoulfly\t2003\n");
}
-
+
@Test
public void should_throw_statement_not_having_semi_colon() {
//Given
@@ -834,18 +834,12 @@ public class CassandraInterpreterTest { //extends
AbstractCassandraUnit4CQLTestC
}
private static String readTestResource(String testResource) {
- StringBuilder builder = new StringBuilder();
- InputStream stream =
testResource.getClass().getResourceAsStream(testResource);
-
- try (BufferedReader br = new BufferedReader(new
InputStreamReader(stream))) {
- String line;
- while ((line = br.readLine()) != null) {
- builder.append(line).append("\n");
- }
- } catch (Exception ex) {
- throw new RuntimeException(ex);
+ try {
+ return IOUtils.toString(
+ CassandraInterpreterTest.class.getResourceAsStream(testResource),
+ StandardCharsets.UTF_8);
+ } catch (IOException ex) {
+ throw new RuntimeException(ex);
}
-
- return builder.toString();
}
}
diff --git
a/cassandra/src/test/java/org/apache/zeppelin/cassandra/InterpreterLogicTest.java
b/cassandra/src/test/java/org/apache/zeppelin/cassandra/InterpreterLogicTest.java
index fda915d2c4..f0d8334db3 100644
---
a/cassandra/src/test/java/org/apache/zeppelin/cassandra/InterpreterLogicTest.java
+++
b/cassandra/src/test/java/org/apache/zeppelin/cassandra/InterpreterLogicTest.java
@@ -148,8 +148,8 @@ public class InterpreterLogicTest {
//Given
AngularObjectRegistry angularObjectRegistry = new
AngularObjectRegistry("cassandra", null);
when(intrContext.getAngularObjectRegistry()).thenReturn(angularObjectRegistry);
- when(intrContext.getGui().input("table",
"zeppelin.demo")).thenReturn("zeppelin.demo");
- when(intrContext.getGui().input("id", "'John'")).thenReturn("'John'");
+ when(intrContext.getGui().textbox("table",
"zeppelin.demo")).thenReturn("zeppelin.demo");
+ when(intrContext.getGui().textbox("id", "'John'")).thenReturn("'John'");
//When
final String actual = helper.maybeExtractVariables(
diff --git a/cassandra/src/test/resources/scalate/DescribeKeyspaces.html
b/cassandra/src/test/resources/scalate/DescribeKeyspaces.html
index ac48bd3411..f06b9406c3 100644
--- a/cassandra/src/test/resources/scalate/DescribeKeyspaces.html
+++ b/cassandra/src/test/resources/scalate/DescribeKeyspaces.html
@@ -1 +1 @@
-<br/><br/><nav class="navbar navbar-default"><ul class="nav navbar-nav"><li
role="presentation" class="dropdown"><a class="dropdown-toggle"
data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false"><span class="text-muted"><span class="glyphicon
glyphicon-dashboard"></span> <strong>Test Cluster</strong></span><span
class="text-muted caret"></span><ul class="dropdown-menu"><li
class="dropdown-header"><span class="text-danger">Keyspaces</span></li><li><a
role="bu [...]
\ No newline at end of file
+<br/><br/><nav class="navbar navbar-default"><ul class="nav navbar-nav"><li
role="presentation" class="dropdown"><a class="dropdown-toggle"
data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false"><span class="text-muted"><span class="glyphicon
glyphicon-dashboard"></span> <strong>Test Cluster</strong></span><span
class="text-muted caret"></span><ul class="dropdown-menu"><li
class="dropdown-header"><span class="text-danger">Keyspaces</span></li><li><a
role="bu [...]
\ No newline at end of file
diff --git a/cassandra/src/test/resources/scalate/DescribeTables.html
b/cassandra/src/test/resources/scalate/DescribeTables.html
index 05992914d3..cba4b82536 100644
--- a/cassandra/src/test/resources/scalate/DescribeTables.html
+++ b/cassandra/src/test/resources/scalate/DescribeTables.html
@@ -1 +1 @@
-<br/><br/><nav class="navbar navbar-default"><ul class="nav navbar-nav"><li
role="presentation" class="dropdown"><a class="dropdown-toggle"
data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false"><span class="text-muted"><span class="glyphicon
glyphicon-dashboard"></span> <strong>Test Cluster</strong></span><span
class="text-muted caret"></span><ul class="dropdown-menu"><li
class="dropdown-header"><span class="text-danger">Keyspaces</span></li><li><a
role="bu [...]
\ No newline at end of file
+<br/><br/><nav class="navbar navbar-default"><ul class="nav navbar-nav"><li
role="presentation" class="dropdown"><a class="dropdown-toggle"
data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false"><span class="text-muted"><span class="glyphicon
glyphicon-dashboard"></span> <strong>Test Cluster</strong></span><span
class="text-muted caret"></span><ul class="dropdown-menu"><li
class="dropdown-header"><span class="text-danger">Keyspaces</span></li><li><a
role="bu [...]
\ No newline at end of file
diff --git
a/cassandra/src/test/scala/org/apache/zeppelin/cassandra/ParagraphParserTest.scala
b/cassandra/src/test/scala/org/apache/zeppelin/cassandra/ParagraphParserTest.scala
index 19afafcbef..f5cb574f44 100644
---
a/cassandra/src/test/scala/org/apache/zeppelin/cassandra/ParagraphParserTest.scala
+++
b/cassandra/src/test/scala/org/apache/zeppelin/cassandra/ParagraphParserTest.scala
@@ -19,7 +19,7 @@ package org.apache.zeppelin.cassandra
import com.datastax.oss.driver.api.core.{ConsistencyLevel, CqlSession}
import com.datastax.oss.driver.api.core.cql.{BatchType, PreparedStatement}
import org.apache.zeppelin.interpreter.InterpreterException
-import org.scalatest.mock.MockitoSugar
+import org.scalatest.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfterEach, FlatSpec, Matchers}
import org.apache.zeppelin.cassandra.ParagraphParser._
import org.apache.zeppelin.cassandra.TextBlockHierarchy._
diff --git a/pom.xml b/pom.xml
index 362714518d..7cd9562804 100644
--- a/pom.xml
+++ b/pom.xml
@@ -102,6 +102,7 @@
<scala.version>${scala.2.10.version}</scala.version>
<scala.binary.version>2.10</scala.binary.version>
<scala.2.11.version>2.11.8</scala.2.11.version>
+ <scala.2.12.version>2.12.16</scala.2.12.version>
<scalatest.version>3.0.7</scalatest.version>
<scalacheck.version>1.12.5</scalacheck.version>
@@ -1853,6 +1854,13 @@
<scala.binary.version>2.11</scala.binary.version>
</properties>
</profile>
+ <profile>
+ <id>scala-2.12</id>
+ <properties>
+ <scala.version>${scala.2.12.version}</scala.version>
+ <scala.binary.version>2.12</scala.binary.version>
+ </properties>
+ </profile>
<profile>
<id>web-angular</id>
diff --git a/zeppelin-distribution/src/bin_license/LICENSE
b/zeppelin-distribution/src/bin_license/LICENSE
index 7f90d43bdd..c60e5130b3 100644
--- a/zeppelin-distribution/src/bin_license/LICENSE
+++ b/zeppelin-distribution/src/bin_license/LICENSE
@@ -62,9 +62,9 @@ The following components are provided under Apache License.
(Apache 2.0) xml apis (xml-apis:xml-apis:jar:1.4.01 -
http://xerces.apache.org/xml-commons/components/external)
(Apache 2.0) java-xmlbuilder (com.jamesmurty.utils:java-xmlbuilder:jar:1.0
- https://github.com/jmurty/java-xmlbuilder)
(Apache 2.0) compress-lzf (com.ning:compress-lzf:jar:1.0.3 -
https://github.com/ning/compress) Copyright 2009-2010 Ning, Inc.
- (Apache 2.0) java-driver-core (com.datastax.oss:java-driver-core:jar:4.5.1
- https://github.com/datastax/java-driver)
- (Apache 2.0) Snappy-java (org.xerial.snappy:snappy-java:1.1.7.3 -
https://github.com/xerial/snappy-java/)
- (Apache 2.0) lz4-java (org.lz4:lz4-java:jar:1.6.0 -
https://github.com/lz4/lz4-java)
+ (Apache 2.0) java-driver-core
(com.datastax.oss:java-driver-core:jar:4.14.1 -
https://github.com/datastax/java-driver)
+ (Apache 2.0) Snappy-java (org.xerial.snappy:snappy-java:1.1.8.4 -
https://github.com/xerial/snappy-java/)
+ (Apache 2.0) lz4-java (org.lz4:lz4-java:jar:1.8.0 -
https://github.com/lz4/lz4-java)
(Apache 2.0) RoaringBitmap (org.roaringbitmap:RoaringBitmap:jar:0.5.11 -
https://github.com/lemire/RoaringBitmap)
(Apache 2.0) json4s (org.json4s:json4s-ast_2.10:jar:3.2.10 -
https://github.com/json4s/json4s)
(Apache 2.0) HPPC Collections (com.carrotsearch:hppc:0.7.1 -
http://labs.carrotsearch.com/hppc.html/hppc)
@@ -211,7 +211,7 @@ The following components are provided under Apache License.
(Apache 2.0) Maven Artifact Resolver Connector Basic 1.4.1
(org.apache.maven.resolver:maven-resolver-connector-basic:1.4.1 -
https://github.com/apache/maven-resolver)
(Apache 2.0) Maven Artifact Resolver Transport File 1.4.1
(org.apache.maven.resolver:maven-resolver-transport-file:1.4.1 -
https://github.com/apache/maven-resolver)
(Apache 2.0) Maven Artifact Resolver Transport HTTP 1.4.1
(org.apache.maven.resolver:maven-resolver-transport-http:1.4.1 -
https://github.com/apache/maven-resolver)
- (Apache 2.0) Scalatest 2.2.4 (org.scalatest:scalatest_2.10:2.2.4 -
https://github.com/scalatest/scalatest)
+ (Apache 2.0) Scalatest 3.2.0-SNAP10
(org.scalatest:scalatest_2.12:3.2.0-SNAP10 -
https://github.com/scalatest/scalatest)
(Apache 2.0) frontend-maven-plugin 1.3
(com.github.eirslett:frontend-maven-plugin:1.3 -
https://github.com/eirslett/frontend-maven-plugin/blob/frontend-plugins-1.3/LICENSE
(Apache 2.0) frontend-plugin-core 1.3
(com.github.eirslett:frontend-plugin-core) -
https://github.com/eirslett/frontend-maven-plugin/blob/frontend-plugins-1.3/LICENSE
(Apache 2.0) mongo-java-driver 3.12.10
(org.mongodb:mongo-java-driver:3.12.10) -
https://github.com/mongodb/mongo-java-driver/blob/master/LICENSE.txt