Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-6660

HiveServer2 running in non-http mode closes server socket for an SSL connection after the 1st request

Log workAgile BoardRank to TopRank to BottomBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 0.13.0
    • 0.13.0
    • HiveServer2, JDBC
    • None

    Description

      Beeline connection string:

      !connect jdbc:hive2://<host>:10000/;ssl=true;sslTrustStore=/usr/share/doc/hive-0.13.0.2.1.1.0/examples/files/truststore.jks;trustStorePassword=HiveJdbc vgumashta vgumashta org.apache.hive.jdbc.HiveDriver 
      

      Error:

      pool-7-thread-1, handling exception: java.net.SocketTimeoutException: Read timed out
      pool-7-thread-1, called close()
      pool-7-thread-1, called closeInternal(true)
      pool-7-thread-1, SEND TLSv1 ALERT:  warning, description = close_notify
      Padded plaintext before ENCRYPTION:  len = 32
      0000: 01 00 BE 72 AC 10 3B FA   4E 01 A5 DE 9B 14 16 AF  ...r..;.N.......
      0010: 4E DD 7A 29 AD B4 09 09   09 09 09 09 09 09 09 09  N.z)............
      pool-7-thread-1, WRITE: TLSv1 Alert, length = 32
      [Raw write]: length = 37
      0000: 15 03 01 00 20 6C 37 82   A8 52 40 DA FB 83 2D CD  .... l7..R@...-.
      0010: 96 9F F0 B7 22 17 E1 04   C1 D1 93 1B C4 39 5A B0  ...."........9Z.
      0020: A2 3F 5D 7D 2D                                     .?].-
      pool-7-thread-1, called closeSocket(selfInitiated)
      pool-7-thread-1, called close()
      pool-7-thread-1, called closeInternal(true)
      pool-7-thread-1, called close()
      pool-7-thread-1, called closeInternal(true)
      

      Subsequent queries fail:

      main, WRITE: TLSv1 Application Data, length = 144
      main, handling exception: java.net.SocketException: Broken pipe
      %% Invalidated:  [Session-1, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA]
      main, SEND TLSv1 ALERT:  fatal, description = unexpected_message
      Padded plaintext before ENCRYPTION:  len = 32
      0000: 02 0A 52 C3 18 B1 C1 38   DB 3F B6 D1 C5 CA 14 9C  ..R....8.?......
      0010: A5 38 4C 01 31 69 09 09   09 09 09 09 09 09 09 09  .8L.1i..........
      main, WRITE: TLSv1 Alert, length = 32
      main, Exception sending alert: java.net.SocketException: Broken pipe
      main, called closeSocket()
      Error: org.apache.thrift.transport.TTransportException: java.net.SocketException: Broken pipe (state=08S01,code=0)
      java.sql.SQLException: org.apache.thrift.transport.TTransportException: java.net.SocketException: Broken pipe
      	at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:226)
      	at org.apache.hive.beeline.Commands.execute(Commands.java:736)
      	at org.apache.hive.beeline.Commands.sql(Commands.java:657)
      	at org.apache.hive.beeline.BeeLine.dispatch(BeeLine.java:796)
      	at org.apache.hive.beeline.BeeLine.begin(BeeLine.java:659)
      	at org.apache.hive.beeline.BeeLine.mainWithInputRedirection(BeeLine.java:368)
      	at org.apache.hive.beeline.BeeLine.main(BeeLine.java:351)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:601)
      	at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
      Caused by: org.apache.thrift.transport.TTransportException: java.net.SocketException: Broken pipe
      	at org.apache.thrift.transport.TIOStreamTransport.flush(TIOStreamTransport.java:161)
      	at org.apache.thrift.transport.TSaslTransport.flush(TSaslTransport.java:471)
      	at org.apache.thrift.transport.TSaslClientTransport.flush(TSaslClientTransport.java:37)
      	at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:65)
      	at org.apache.hive.service.cli.thrift.TCLIService$Client.send_ExecuteStatement(TCLIService.java:219)
      	at org.apache.hive.service.cli.thrift.TCLIService$Client.ExecuteStatement(TCLIService.java:211)
      	at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:220)
      	... 11 more
      Caused by: java.net.SocketException: Broken pipe
      	at java.net.SocketOutputStream.socketWrite0(Native Method)
      	at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
      	at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
      	at sun.security.ssl.OutputRecord.writeBuffer(OutputRecord.java:377)
      	at sun.security.ssl.OutputRecord.write(OutputRecord.java:363)
      	at sun.security.ssl.SSLSocketImpl.writeRecordInternal(SSLSocketImpl.java:830)
      	at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:801)
      	at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122)
      	at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
      	at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
      	at org.apache.thrift.transport.TIOStreamTransport.flush(TIOStreamTransport.java:159)
      	... 17 more
      

      Works fine however in http mode using ssl.

      Attachments

        1. hive-site.xml
          4 kB
          Vaibhav Gumashta
        2. HIVE-6660.1.patch
          0.7 kB
          Prasad Suresh Mujumdar
        3. HIVE-6660.1.patch
          0.7 kB
          Prasad Suresh Mujumdar

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            prasadm Prasad Suresh Mujumdar Assign to me
            vgumashta Vaibhav Gumashta
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment