Uploaded image for project: 'Zeppelin'
  1. Zeppelin
  2. ZEPPELIN-1548

ConcurrentModificationException when trying to create JDBC interpreter

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • Interpreters
    • None
      • docker
      • jdk-8
      • hadoop v2.7.3 binary package from web
      • zeppelin v0.6.1 binary package from web
      • hive v2.1.0 binary package from web

    Description

      Environment set up:

      • one docker container running Hadoop in pseudo-cluster mode
      • one docker container running Hive2
      • one docker container running Zeppelin

      After Zeppelin startup, I updated the jdbc interpreter to use hive.url=jdbc:hive2://hive:1000. And I added the following dependencies:

      • org.apache.hive:hive-jdbc:2.1.0
      • org.apache.hadoop:hadoop-common:2.7.3

      After I saved the configuration, I created a new notebook and executed:

      %jdbc(hive)
      
      show tables
      

      But I got:

      java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at org.apache.thrift.transport.TSocket.open(TSocket.java:182)
        at org.apache.zeppelin.interpreter.remote.ClientFactory.create(ClientFactory.java:51)
        at org.apache.zeppelin.interpreter.remote.ClientFactory.create(ClientFactory.java:37)
        at org.apache.commons.pool2.BasePooledObjectFactory.makeObject(BasePooledObjectFactory.java:60)
        at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:861)
        at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435)
        at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363)
        at org.apache.zeppelin.interpreter.remote.RemoteInterpreterProcess.getClient(RemoteInterpreterProcess.java:189)
        at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.init(RemoteInterpreter.java:163)
        at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.getFormType(RemoteInterpreter.java:328)
        at org.apache.zeppelin.interpreter.LazyOpenInterpreter.getFormType(LazyOpenInterpreter.java:105)
        at org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:260)
        at org.apache.zeppelin.scheduler.Job.run(Job.java:176)
        at org.apache.zeppelin.scheduler.RemoteScheduler$JobRunner.run(RemoteScheduler.java:328)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
      

      In the ./logs directory, I did not find a zeppelin-*-jdbc*.log file, which I think a clear indication that the interpreter never gets created.

      Here's some snippet of the zeppelin*.log file:

      INFO [2016-10-14 02:35:28,480] ({qtp88558700-16} DependencyResolver.java[load]:100) - copy /opt/zeppelin/local-repo/io/netty/netty/3.6.2.Final/netty-3.6.2.Final.jar to /opt/zeppelin/local-repo/2BY2TS152
       INFO [2016-10-14 02:35:28,481] ({qtp88558700-16} DependencyResolver.java[load]:100) - copy /opt/zeppelin/local-repo/org/apache/commons/commons-compress/1.4.1/commons-compress-1.4.1.jar to /opt/zeppelin/local-repo/2BY2TS152
       INFO [2016-10-14 02:35:28,481] ({qtp88558700-16} DependencyResolver.java[load]:100) - copy /opt/zeppelin/local-repo/org/tukaani/xz/1.0/xz-1.0.jar to /opt/zeppelin/local-repo/2BY2TS152
       INFO [2016-10-14 02:35:28,567] ({qtp88558700-459} InterpreterFactory.java[createInterpretersForNote]:576) - Create interpreter instance jdbc for note 2BYEFJRDP
       INFO [2016-10-14 02:35:28,567] ({qtp88558700-459} InterpreterFactory.java[createInterpretersForNote]:606) - Interpreter org.apache.zeppelin.jdbc.JDBCInterpreter 1044622404 created
       INFO [2016-10-14 02:35:28,583] ({pool-1-thread-7} SchedulerFactory.java[jobStarted]:131) - Job paragraph_1476353914739_-698717456 started by scheduler org.apache.zeppelin.interpreter.remote.RemoteInterpretershared_session1000964802
       INFO [2016-10-14 02:35:28,584] ({pool-1-thread-7} Paragraph.java[jobRun]:252) - run paragraph 20161013-101834_778249242 using jdbc org.apache.zeppelin.interpreter.LazyOpenInterpreter@3e43ac44
       INFO [2016-10-14 02:35:28,591] ({pool-1-thread-7} RemoteInterpreterProcess.java[reference]:148) - Run interpreter process [/opt/zeppelin/bin/interpreter.sh, -d, /opt/zeppelin/interpreter/jdbc, -p, 33939, -l, /opt/zeppelin/local-repo/2BY2TS152]
       INFO [2016-10-14 02:35:28,726] ({qtp88558700-14} NotebookServer.java[onClose]:227) - Closed connection to 192.168.99.1 : 61687. (1006) EOF: Broken pipe
      ERROR [2016-10-14 02:35:28,757] ({qtp88558700-14} NotebookServer.java[onMessage]:221) - Can't handle message
      java.util.ConcurrentModificationException
      	at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:966)
      	at java.util.LinkedList$ListItr.next(LinkedList.java:888)
      	at org.apache.zeppelin.socket.NotebookServer.broadcast(NotebookServer.java:316)
      	at org.apache.zeppelin.socket.NotebookServer.updateParagraph(NotebookServer.java:602)
      	at org.apache.zeppelin.socket.NotebookServer.onMessage(NotebookServer.java:174)
      	at org.apache.zeppelin.socket.NotebookSocket.onWebSocketText(NotebookSocket.java:56)
      

      I think this one corresponds to the one I saw from the web UI:

      Caused by: java.net.ConnectException: Connection refused
      	at java.net.PlainSocketImpl.socketConnect(Native Method)
      	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
      	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
      	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
      	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
      	at java.net.Socket.connect(Socket.java:589)
      	at org.apache.thrift.transport.TSocket.open(TSocket.java:182)
      	... 9 more
      

      Attachments

        1. zeppelin--02ceae51985f.log
          191 kB
          Xi Shen

        Activity

          People

            Unassigned Unassigned
            davidshen84 Xi Shen
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: