This is an automated email from the ASF dual-hosted git repository.

zjffdu 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 08bfcd9  [ZEPPELIN-4360] Always use Scala 2.11 for Ignite
08bfcd9 is described below

commit 08bfcd9579cd96fbc11a89ab42613bfca6b51382
Author: Alex Ott <alex...@gmail.com>
AuthorDate: Thu Oct 3 17:29:29 2019 +0200

    [ZEPPELIN-4360] Always use Scala 2.11 for Ignite
    
    also bump dependencies & update docs
    
    ### What is this PR for?
    
    Ignite interpreter uses Scala interface to Ignite that is built only with 
Scala 2.11, while inside Zeppelin it was compiled with global Scala dependency 
(Scala 2.10 by default), so it didn't work out of box. Also, the Ignite 
dependency was updated to the latest version.
    
    ### What type of PR is it?
    
    Bug Fix
    
    ### What is the Jira issue?
    
    https://issues.apache.org/jira/browse/ZEPPELIN-4360
    
    ### How should this be tested?
    
    unit tests + manual tests were done
    
    Author: Alex Ott <alex...@gmail.com>
    
    Closes #3473 from alexott/ZEPPELIN-4360 and squashes the following commits:
    
    408ca5c7a [Alex Ott] [ZEPPELIN-4360] Always use Scala 2.11 for Ignite
---
 conf/interpreter-list                              |  2 +-
 docs/interpreter/ignite.md                         |  8 ++--
 ignite/pom.xml                                     | 44 +++++++++++++++++++---
 .../zeppelin/ignite/IgniteSqlInterpreter.java      | 15 ++------
 4 files changed, 47 insertions(+), 22 deletions(-)

diff --git a/conf/interpreter-list b/conf/interpreter-list
index 7442e05..2e19ad6 100644
--- a/conf/interpreter-list
+++ b/conf/interpreter-list
@@ -29,7 +29,7 @@ geode           org.apache.zeppelin:zeppelin-geode:0.9.0      
          Apache G
 groovy          org.apache.zeppelin:zeppelin-groovy:0.9.0               Groovy 
interpreter
 hazelcastjet    org.apache.zeppelin:zeppelin-hazelcastjet:0.9.0         
Hazelcast Jet interpreter
 hbase           org.apache.zeppelin:zeppelin-hbase:0.9.0                Hbase 
interpreter
-ignite          org.apache.zeppelin:zeppelin-ignite_2.10:0.9.0          Ignite 
interpreter built with Scala 2.10
+ignite          org.apache.zeppelin:zeppelin-ignite:0.9.0               Ignite 
interpreter
 java            org.apache.zeppelin:zeppelin-java:0.9.0                 Java 
interpreter
 jdbc            org.apache.zeppelin:zeppelin-jdbc:0.9.0                 Jdbc 
interpreter
 kylin           org.apache.zeppelin:zeppelin-kylin:0.9.0                Kylin 
interpreter
diff --git a/docs/interpreter/ignite.md b/docs/interpreter/ignite.md
index 49e432f..40c56b8 100644
--- a/docs/interpreter/ignite.md
+++ b/docs/interpreter/ignite.md
@@ -58,12 +58,12 @@ At the "Interpreters" menu, you may edit Ignite interpreter 
or create new one. Z
   <tr>
     <td>ignite.addresses</td>
     <td>127.0.0.1:47500..47509</td>
-    <td>Coma separated list of Ignite cluster hosts. See [Ignite Cluster 
Configuration](https://apacheignite.readme.io/docs/cluster-config) section for 
more details.</td>
+    <td>Coma separated list of Ignite cluster hosts. See <a 
href="https://apacheignite.readme.io/docs/cluster-config";>Ignite Cluster 
Configuration</a> section for more details.</td>
   </tr>
   <tr>
     <td>ignite.clientMode</td>
     <td>true</td>
-    <td>You can connect to the Ignite cluster as client or server node. See 
[Ignite Clients vs. 
Servers](https://apacheignite.readme.io/docs/clients-vs-servers) section for 
details. Use true or false values in order to connect in client or server mode 
respectively.</td>
+    <td>You can connect to the Ignite cluster as client or server node. See <a 
href="https://apacheignite.readme.io/docs/clients-vs-servers";>Ignite Clients 
vs. Servers</a> section for details. Use true or false values in order to 
connect in client or server mode respectively.</td>
   </tr>
   <tr>
     <td>ignite.config.url</td>
@@ -78,7 +78,7 @@ At the "Interpreters" menu, you may edit Ignite interpreter 
or create new one. Z
   <tr>
     <td>ignite.peerClassLoadingEnabled</td>
     <td>true</td>
-    <td>Enables peer-class-loading. See [Zero 
Deployment](https://apacheignite.readme.io/docs/zero-deployment) section for 
details. Use true or false values in order to enable or disable P2P class 
loading respectively.</td>
+    <td>Enables peer-class-loading. See <a 
href="https://apacheignite.readme.io/docs/zero-deployment";>Zero Deployment</a> 
section for details. Use true or false values in order to enable or disable P2P 
class loading respectively.</td>
   </tr>
 </table>
 
@@ -125,4 +125,4 @@ collectionAsScalaIterable(res).foreach(println _)
 
 ![Using Scala 
Code]({{BASE_PATH}}/assets/themes/zeppelin/img/docs-img/ignite-scala-example.png)
 
-Apache Ignite also provides a guide docs for Zeppelin ["Ignite with Apache 
Zeppelin"](https://apacheignite.readme.io/docs/data-analysis-with-apache-zeppelin)
+Apache Ignite also provides a guide docs for Zeppelin ["Ignite with Apache 
Zeppelin"](https://apacheignite-sql.readme.io/docs/apache-zeppelin)
diff --git a/ignite/pom.xml b/ignite/pom.xml
index aa98306..d870b1a 100644
--- a/ignite/pom.xml
+++ b/ignite/pom.xml
@@ -27,14 +27,18 @@
     <relativePath>../zeppelin-interpreter-parent/pom.xml</relativePath>
   </parent>
 
-  <artifactId>zeppelin-ignite_2.10</artifactId>
+  <artifactId>zeppelin-ignite</artifactId>
   <packaging>jar</packaging>
   <version>0.9.0-SNAPSHOT</version>
   <name>Zeppelin: Apache Ignite interpreter</name>
 
   <properties>
     <interpreter.name>ignite</interpreter.name>
-    <ignite.version>2.3.0</ignite.version>
+    <ignite.version>2.7.6</ignite.version>
+    <ignite.scala.version>${scala.2.11.version}</ignite.scala.version>
+
+    <!--plugin versions-->
+    <plugin.scala.version>2.15.2</plugin.scala.version>
   </properties>
 
   <dependencies>
@@ -66,19 +70,19 @@
     <dependency>
       <groupId>org.scala-lang</groupId>
       <artifactId>scala-library</artifactId>
-      <version>${scala.version}</version>
+      <version>${ignite.scala.version}</version>
     </dependency>
 
     <dependency>
       <groupId>org.scala-lang</groupId>
       <artifactId>scala-compiler</artifactId>
-      <version>${scala.version}</version>
+      <version>${ignite.scala.version}</version>
     </dependency>
 
     <dependency>
       <groupId>org.scala-lang</groupId>
       <artifactId>scala-reflect</artifactId>
-      <version>${scala.version}</version>
+      <version>${ignite.scala.version}</version>
     </dependency>
 
   </dependencies>
@@ -86,6 +90,36 @@
   <build>
     <plugins>
       <plugin>
+        <groupId>org.scala-tools</groupId>
+        <artifactId>maven-scala-plugin</artifactId>
+        <version>${plugin.scala.version}</version>
+        <configuration>
+          <scalaVersion>${ignite.scala.version}</scalaVersion>
+        </configuration>
+        <executions>
+          <execution>
+            <id>compile</id>
+            <goals>
+              <goal>compile</goal>
+            </goals>
+            <phase>compile</phase>
+          </execution>
+          <execution>
+            <id>test-compile</id>
+            <goals>
+              <goal>testCompile</goal>
+            </goals>
+            <phase>test-compile</phase>
+          </execution>
+          <execution>
+            <phase>process-resources</phase>
+            <goals>
+              <goal>compile</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
         <artifactId>maven-enforcer-plugin</artifactId>
       </plugin>
       <plugin>
diff --git 
a/ignite/src/main/java/org/apache/zeppelin/ignite/IgniteSqlInterpreter.java 
b/ignite/src/main/java/org/apache/zeppelin/ignite/IgniteSqlInterpreter.java
index 100a733..4c236a2 100644
--- a/ignite/src/main/java/org/apache/zeppelin/ignite/IgniteSqlInterpreter.java
+++ b/ignite/src/main/java/org/apache/zeppelin/ignite/IgniteSqlInterpreter.java
@@ -39,7 +39,7 @@ import org.apache.zeppelin.scheduler.Scheduler;
 import org.apache.zeppelin.scheduler.SchedulerFactory;
 
 /**
- * Apache Ignite SQL interpreter (http://ignite.incubator.apache.org/).
+ * Apache Ignite SQL interpreter (http://ignite.apache.org/).
  *
  * Use {@code ignite.jdbc.url} property to set up JDBC connection URL.
  * URL has the following pattern:
@@ -60,9 +60,7 @@ public class IgniteSqlInterpreter extends Interpreter {
   private Logger logger = LoggerFactory.getLogger(IgniteSqlInterpreter.class);
 
   private Connection conn;
-
   private Throwable connEx;
-
   private Statement curStmt;
 
   public IgniteSqlInterpreter(Properties property) {
@@ -74,19 +72,17 @@ public class IgniteSqlInterpreter extends Interpreter {
     try {
       Class.forName(IGNITE_JDBC_DRIVER_NAME);
     } catch (ClassNotFoundException e) {
-      logger.error("Can't open connection", e);
+      logger.error("Can't find Ignite JDBC driver", e);
       connEx = e;
       return;
     }
 
     try {
       logger.info("connect to " + getProperty(IGNITE_JDBC_URL));
-
       conn = DriverManager.getConnection(getProperty(IGNITE_JDBC_URL));
       connEx = null;
-
       logger.info("Successfully created JDBC connection");
-    } catch (SQLException e) {
+    } catch (Exception e) {
       logger.error("Can't open connection: ", e);
       connEx = e;
     }
@@ -113,11 +109,8 @@ public class IgniteSqlInterpreter extends Interpreter {
     }
 
     StringBuilder msg = new StringBuilder("%table ");
-
     try (Statement stmt = conn.createStatement()) {
-
       curStmt = stmt;
-
       try (ResultSet res = stmt.executeQuery(st)) {
         ResultSetMetaData md = res.getMetaData();
 
@@ -125,10 +118,8 @@ public class IgniteSqlInterpreter extends Interpreter {
           if (i > 1) {
             msg.append('\t');
           }
-
           msg.append(md.getColumnName(i));
         }
-
         msg.append('\n');
 
         while (res.next()) {

Reply via email to