You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Chinna Rao Lalam (JIRA)" <ji...@apache.org> on 2011/04/12 07:25:05 UTC

[jira] [Created] (HIVE-2110) Hive Client is indefenitely waiting for reading from Socket

Hive Client is indefenitely waiting for reading from Socket
-----------------------------------------------------------

                 Key: HIVE-2110
                 URL: https://issues.apache.org/jira/browse/HIVE-2110
             Project: Hive
          Issue Type: Bug
          Components: JDBC
    Affects Versions: 0.5.0
         Environment: Hadoop 0.20.1, Hive0.5.0 and SUSE Linux Enterprise Server 10 SP2 (i586) - Kernel 2.6.16.60-0.21-smp (5).

            Reporter: Chinna Rao Lalam


Hive Client is indefenitely waiting for reading from Socket. Thread dump i  added below.

Cause is:
 
	In the HiveClient, when client socket is created, the read timeout is mentioned is 0. So the socket will indefinetly wait when the machine where Hive Server is running is "shutdown" or "network is unplugged". The same may not happen if the HiveServer alone is killed or gracefully shutdown. At this time, client will get "connection reset exception". 

Code in HiveConnection
-----------------------------------
{noformat}

transport = new TSocket(host, port);
TProtocol protocol = new TBinaryProtocol(transport); 
client = new HiveClient(protocol);

{noformat}

In the Client side, they send the query and wait for the response send_execute(query,id); recv_execute(); // place where client waiting is initiated


Thread dump:

{noformat}

"main" prio=10 tid=0x0000000040111000 nid=0x3641 runnable [0x00007f0d73f29000]
	java.lang.Thread.State: RUNNABLE
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(SocketInputStream.java:129)
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
	at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:317) 

	locked <0x00007f0d5d3f0828> (a java.io.BufferedInputStream)
	at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:125)
	at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
	at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:314)
	at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:262)
	at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:192)
	at org.apache.hadoop.hive.service.ThriftHive$Client.recv_execute(ThriftHive.java:130)
	at org.apache.hadoop.hive.service.ThriftHive$Client.execute(ThriftHive.java:109) 
	locked <0x00007f0d5d3f0878> (a org.apache.thrift.transport.TSocket)
	at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:218)
	at org.apache.hadoop.hive.jdbc.HiveStatement.execute(HiveStatement.java:154)
{noformat}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HIVE-2110) Hive Client is indefenitely waiting for reading from Socket

Posted by "Carl Steinbach (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HIVE-2110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13087477#comment-13087477 ] 

Carl Steinbach commented on HIVE-2110:
--------------------------------------

+1. Will commit if tests pass.

> Hive Client is indefenitely waiting for reading from Socket
> -----------------------------------------------------------
>
>                 Key: HIVE-2110
>                 URL: https://issues.apache.org/jira/browse/HIVE-2110
>             Project: Hive
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 0.5.0
>         Environment: Hadoop 0.20.1, Hive0.5.0 and SUSE Linux Enterprise Server 10 SP2 (i586) - Kernel 2.6.16.60-0.21-smp (5).
>            Reporter: Chinna Rao Lalam
>            Assignee: Prasad Mujumdar
>             Fix For: 0.8.0
>
>         Attachments: HIVE-2110.patch
>
>
> Hive Client is indefenitely waiting for reading from Socket. Thread dump i  added below.
> Cause is:
>  
> 	In the HiveClient, when client socket is created, the read timeout is mentioned is 0. So the socket will indefinetly wait when the machine where Hive Server is running is "shutdown" or "network is unplugged". The same may not happen if the HiveServer alone is killed or gracefully shutdown. At this time, client will get "connection reset exception". 
> Code in HiveConnection
> -----------------------------------
> {noformat}
> transport = new TSocket(host, port);
> TProtocol protocol = new TBinaryProtocol(transport); 
> client = new HiveClient(protocol);
> {noformat}
> In the Client side, they send the query and wait for the response send_execute(query,id); recv_execute(); // place where client waiting is initiated
> Thread dump:
> {noformat}
> "main" prio=10 tid=0x0000000040111000 nid=0x3641 runnable [0x00007f0d73f29000]
> 	java.lang.Thread.State: RUNNABLE
> 	at java.net.SocketInputStream.socketRead0(Native Method)
> 	at java.net.SocketInputStream.read(SocketInputStream.java:129)
> 	at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> 	at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
> 	at java.io.BufferedInputStream.read(BufferedInputStream.java:317) 
> 	locked <0x00007f0d5d3f0828> (a java.io.BufferedInputStream)
> 	at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:125)
> 	at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:314)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:262)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:192)
> 	at org.apache.hadoop.hive.service.ThriftHive$Client.recv_execute(ThriftHive.java:130)
> 	at org.apache.hadoop.hive.service.ThriftHive$Client.execute(ThriftHive.java:109) 
> 	locked <0x00007f0d5d3f0878> (a org.apache.thrift.transport.TSocket)
> 	at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:218)
> 	at org.apache.hadoop.hive.jdbc.HiveStatement.execute(HiveStatement.java:154)
> {noformat}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HIVE-2110) Hive Client is indefenitely waiting for reading from Socket

Posted by "Prasad Mujumdar (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HIVE-2110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prasad Mujumdar updated HIVE-2110:
----------------------------------

    Attachment: HIVE-2110.patch

> Hive Client is indefenitely waiting for reading from Socket
> -----------------------------------------------------------
>
>                 Key: HIVE-2110
>                 URL: https://issues.apache.org/jira/browse/HIVE-2110
>             Project: Hive
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 0.5.0
>         Environment: Hadoop 0.20.1, Hive0.5.0 and SUSE Linux Enterprise Server 10 SP2 (i586) - Kernel 2.6.16.60-0.21-smp (5).
>            Reporter: Chinna Rao Lalam
>            Assignee: Prasad Mujumdar
>             Fix For: 0.8.0
>
>         Attachments: HIVE-2110.patch
>
>
> Hive Client is indefenitely waiting for reading from Socket. Thread dump i  added below.
> Cause is:
>  
> 	In the HiveClient, when client socket is created, the read timeout is mentioned is 0. So the socket will indefinetly wait when the machine where Hive Server is running is "shutdown" or "network is unplugged". The same may not happen if the HiveServer alone is killed or gracefully shutdown. At this time, client will get "connection reset exception". 
> Code in HiveConnection
> -----------------------------------
> {noformat}
> transport = new TSocket(host, port);
> TProtocol protocol = new TBinaryProtocol(transport); 
> client = new HiveClient(protocol);
> {noformat}
> In the Client side, they send the query and wait for the response send_execute(query,id); recv_execute(); // place where client waiting is initiated
> Thread dump:
> {noformat}
> "main" prio=10 tid=0x0000000040111000 nid=0x3641 runnable [0x00007f0d73f29000]
> 	java.lang.Thread.State: RUNNABLE
> 	at java.net.SocketInputStream.socketRead0(Native Method)
> 	at java.net.SocketInputStream.read(SocketInputStream.java:129)
> 	at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> 	at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
> 	at java.io.BufferedInputStream.read(BufferedInputStream.java:317) 
> 	locked <0x00007f0d5d3f0828> (a java.io.BufferedInputStream)
> 	at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:125)
> 	at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:314)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:262)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:192)
> 	at org.apache.hadoop.hive.service.ThriftHive$Client.recv_execute(ThriftHive.java:130)
> 	at org.apache.hadoop.hive.service.ThriftHive$Client.execute(ThriftHive.java:109) 
> 	locked <0x00007f0d5d3f0878> (a org.apache.thrift.transport.TSocket)
> 	at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:218)
> 	at org.apache.hadoop.hive.jdbc.HiveStatement.execute(HiveStatement.java:154)
> {noformat}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Assigned] (HIVE-2110) Hive Client is indefenitely waiting for reading from Socket

Posted by "Prasad Mujumdar (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HIVE-2110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prasad Mujumdar reassigned HIVE-2110:
-------------------------------------

    Assignee: Prasad Mujumdar

> Hive Client is indefenitely waiting for reading from Socket
> -----------------------------------------------------------
>
>                 Key: HIVE-2110
>                 URL: https://issues.apache.org/jira/browse/HIVE-2110
>             Project: Hive
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 0.5.0
>         Environment: Hadoop 0.20.1, Hive0.5.0 and SUSE Linux Enterprise Server 10 SP2 (i586) - Kernel 2.6.16.60-0.21-smp (5).
>            Reporter: Chinna Rao Lalam
>            Assignee: Prasad Mujumdar
>
> Hive Client is indefenitely waiting for reading from Socket. Thread dump i  added below.
> Cause is:
>  
> 	In the HiveClient, when client socket is created, the read timeout is mentioned is 0. So the socket will indefinetly wait when the machine where Hive Server is running is "shutdown" or "network is unplugged". The same may not happen if the HiveServer alone is killed or gracefully shutdown. At this time, client will get "connection reset exception". 
> Code in HiveConnection
> -----------------------------------
> {noformat}
> transport = new TSocket(host, port);
> TProtocol protocol = new TBinaryProtocol(transport); 
> client = new HiveClient(protocol);
> {noformat}
> In the Client side, they send the query and wait for the response send_execute(query,id); recv_execute(); // place where client waiting is initiated
> Thread dump:
> {noformat}
> "main" prio=10 tid=0x0000000040111000 nid=0x3641 runnable [0x00007f0d73f29000]
> 	java.lang.Thread.State: RUNNABLE
> 	at java.net.SocketInputStream.socketRead0(Native Method)
> 	at java.net.SocketInputStream.read(SocketInputStream.java:129)
> 	at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> 	at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
> 	at java.io.BufferedInputStream.read(BufferedInputStream.java:317) 
> 	locked <0x00007f0d5d3f0828> (a java.io.BufferedInputStream)
> 	at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:125)
> 	at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:314)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:262)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:192)
> 	at org.apache.hadoop.hive.service.ThriftHive$Client.recv_execute(ThriftHive.java:130)
> 	at org.apache.hadoop.hive.service.ThriftHive$Client.execute(ThriftHive.java:109) 
> 	locked <0x00007f0d5d3f0878> (a org.apache.thrift.transport.TSocket)
> 	at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:218)
> 	at org.apache.hadoop.hive.jdbc.HiveStatement.execute(HiveStatement.java:154)
> {noformat}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HIVE-2110) Hive Client is indefenitely waiting for reading from Socket

Posted by "jiraposter@reviews.apache.org (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HIVE-2110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13079706#comment-13079706 ] 

jiraposter@reviews.apache.org commented on HIVE-2110:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1299/
-----------------------------------------------------------

Review request for hive and Carl Steinbach.


Summary
-------

Pass the Login timeout to thrift/socket layer when connecting to the hive server.


This addresses bug HIVE-2110.
    https://issues.apache.org/jira/browse/HIVE-2110


Diffs
-----

  jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveConnection.java 7c5df83 
  jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveDriver.java c61425f 

Diff: https://reviews.apache.org/r/1299/diff


Testing
-------

simple repro to verify the timeout. JDBC tests.


Thanks,

Prasad



> Hive Client is indefenitely waiting for reading from Socket
> -----------------------------------------------------------
>
>                 Key: HIVE-2110
>                 URL: https://issues.apache.org/jira/browse/HIVE-2110
>             Project: Hive
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 0.5.0
>         Environment: Hadoop 0.20.1, Hive0.5.0 and SUSE Linux Enterprise Server 10 SP2 (i586) - Kernel 2.6.16.60-0.21-smp (5).
>            Reporter: Chinna Rao Lalam
>            Assignee: Prasad Mujumdar
>
> Hive Client is indefenitely waiting for reading from Socket. Thread dump i  added below.
> Cause is:
>  
> 	In the HiveClient, when client socket is created, the read timeout is mentioned is 0. So the socket will indefinetly wait when the machine where Hive Server is running is "shutdown" or "network is unplugged". The same may not happen if the HiveServer alone is killed or gracefully shutdown. At this time, client will get "connection reset exception". 
> Code in HiveConnection
> -----------------------------------
> {noformat}
> transport = new TSocket(host, port);
> TProtocol protocol = new TBinaryProtocol(transport); 
> client = new HiveClient(protocol);
> {noformat}
> In the Client side, they send the query and wait for the response send_execute(query,id); recv_execute(); // place where client waiting is initiated
> Thread dump:
> {noformat}
> "main" prio=10 tid=0x0000000040111000 nid=0x3641 runnable [0x00007f0d73f29000]
> 	java.lang.Thread.State: RUNNABLE
> 	at java.net.SocketInputStream.socketRead0(Native Method)
> 	at java.net.SocketInputStream.read(SocketInputStream.java:129)
> 	at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> 	at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
> 	at java.io.BufferedInputStream.read(BufferedInputStream.java:317) 
> 	locked <0x00007f0d5d3f0828> (a java.io.BufferedInputStream)
> 	at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:125)
> 	at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:314)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:262)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:192)
> 	at org.apache.hadoop.hive.service.ThriftHive$Client.recv_execute(ThriftHive.java:130)
> 	at org.apache.hadoop.hive.service.ThriftHive$Client.execute(ThriftHive.java:109) 
> 	locked <0x00007f0d5d3f0878> (a org.apache.thrift.transport.TSocket)
> 	at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:218)
> 	at org.apache.hadoop.hive.jdbc.HiveStatement.execute(HiveStatement.java:154)
> {noformat}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HIVE-2110) Hive Client is indefenitely waiting for reading from Socket

Posted by "Carl Steinbach (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HIVE-2110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Carl Steinbach updated HIVE-2110:
---------------------------------

    Fix Version/s:     (was: 0.8.0)

> Hive Client is indefenitely waiting for reading from Socket
> -----------------------------------------------------------
>
>                 Key: HIVE-2110
>                 URL: https://issues.apache.org/jira/browse/HIVE-2110
>             Project: Hive
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 0.5.0
>         Environment: Hadoop 0.20.1, Hive0.5.0 and SUSE Linux Enterprise Server 10 SP2 (i586) - Kernel 2.6.16.60-0.21-smp (5).
>            Reporter: Chinna Rao Lalam
>            Assignee: Prasad Mujumdar
>         Attachments: HIVE-2110.patch
>
>
> Hive Client is indefenitely waiting for reading from Socket. Thread dump i  added below.
> Cause is:
>  
> 	In the HiveClient, when client socket is created, the read timeout is mentioned is 0. So the socket will indefinetly wait when the machine where Hive Server is running is "shutdown" or "network is unplugged". The same may not happen if the HiveServer alone is killed or gracefully shutdown. At this time, client will get "connection reset exception". 
> Code in HiveConnection
> -----------------------------------
> {noformat}
> transport = new TSocket(host, port);
> TProtocol protocol = new TBinaryProtocol(transport); 
> client = new HiveClient(protocol);
> {noformat}
> In the Client side, they send the query and wait for the response send_execute(query,id); recv_execute(); // place where client waiting is initiated
> Thread dump:
> {noformat}
> "main" prio=10 tid=0x0000000040111000 nid=0x3641 runnable [0x00007f0d73f29000]
> 	java.lang.Thread.State: RUNNABLE
> 	at java.net.SocketInputStream.socketRead0(Native Method)
> 	at java.net.SocketInputStream.read(SocketInputStream.java:129)
> 	at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> 	at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
> 	at java.io.BufferedInputStream.read(BufferedInputStream.java:317) 
> 	locked <0x00007f0d5d3f0828> (a java.io.BufferedInputStream)
> 	at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:125)
> 	at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:314)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:262)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:192)
> 	at org.apache.hadoop.hive.service.ThriftHive$Client.recv_execute(ThriftHive.java:130)
> 	at org.apache.hadoop.hive.service.ThriftHive$Client.execute(ThriftHive.java:109) 
> 	locked <0x00007f0d5d3f0878> (a org.apache.thrift.transport.TSocket)
> 	at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:218)
> 	at org.apache.hadoop.hive.jdbc.HiveStatement.execute(HiveStatement.java:154)
> {noformat}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HIVE-2110) Hive Client is indefenitely waiting for reading from Socket

Posted by "Prasad Mujumdar (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HIVE-2110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prasad Mujumdar updated HIVE-2110:
----------------------------------

    Fix Version/s: 0.8.0
           Status: Patch Available  (was: Open)

> Hive Client is indefenitely waiting for reading from Socket
> -----------------------------------------------------------
>
>                 Key: HIVE-2110
>                 URL: https://issues.apache.org/jira/browse/HIVE-2110
>             Project: Hive
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 0.5.0
>         Environment: Hadoop 0.20.1, Hive0.5.0 and SUSE Linux Enterprise Server 10 SP2 (i586) - Kernel 2.6.16.60-0.21-smp (5).
>            Reporter: Chinna Rao Lalam
>            Assignee: Prasad Mujumdar
>             Fix For: 0.8.0
>
>
> Hive Client is indefenitely waiting for reading from Socket. Thread dump i  added below.
> Cause is:
>  
> 	In the HiveClient, when client socket is created, the read timeout is mentioned is 0. So the socket will indefinetly wait when the machine where Hive Server is running is "shutdown" or "network is unplugged". The same may not happen if the HiveServer alone is killed or gracefully shutdown. At this time, client will get "connection reset exception". 
> Code in HiveConnection
> -----------------------------------
> {noformat}
> transport = new TSocket(host, port);
> TProtocol protocol = new TBinaryProtocol(transport); 
> client = new HiveClient(protocol);
> {noformat}
> In the Client side, they send the query and wait for the response send_execute(query,id); recv_execute(); // place where client waiting is initiated
> Thread dump:
> {noformat}
> "main" prio=10 tid=0x0000000040111000 nid=0x3641 runnable [0x00007f0d73f29000]
> 	java.lang.Thread.State: RUNNABLE
> 	at java.net.SocketInputStream.socketRead0(Native Method)
> 	at java.net.SocketInputStream.read(SocketInputStream.java:129)
> 	at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> 	at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
> 	at java.io.BufferedInputStream.read(BufferedInputStream.java:317) 
> 	locked <0x00007f0d5d3f0828> (a java.io.BufferedInputStream)
> 	at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:125)
> 	at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:314)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:262)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:192)
> 	at org.apache.hadoop.hive.service.ThriftHive$Client.recv_execute(ThriftHive.java:130)
> 	at org.apache.hadoop.hive.service.ThriftHive$Client.execute(ThriftHive.java:109) 
> 	locked <0x00007f0d5d3f0878> (a org.apache.thrift.transport.TSocket)
> 	at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:218)
> 	at org.apache.hadoop.hive.jdbc.HiveStatement.execute(HiveStatement.java:154)
> {noformat}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HIVE-2110) Hive Client is indefenitely waiting for reading from Socket

Posted by "Carl Steinbach (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HIVE-2110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Carl Steinbach updated HIVE-2110:
---------------------------------

    Status: Open  (was: Patch Available)

@Prasad: The patch does not apply cleanly with patch -p0. Please see the HowToContribute page on the wiki for more info.

> Hive Client is indefenitely waiting for reading from Socket
> -----------------------------------------------------------
>
>                 Key: HIVE-2110
>                 URL: https://issues.apache.org/jira/browse/HIVE-2110
>             Project: Hive
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 0.5.0
>         Environment: Hadoop 0.20.1, Hive0.5.0 and SUSE Linux Enterprise Server 10 SP2 (i586) - Kernel 2.6.16.60-0.21-smp (5).
>            Reporter: Chinna Rao Lalam
>            Assignee: Prasad Mujumdar
>             Fix For: 0.8.0
>
>         Attachments: HIVE-2110.patch
>
>
> Hive Client is indefenitely waiting for reading from Socket. Thread dump i  added below.
> Cause is:
>  
> 	In the HiveClient, when client socket is created, the read timeout is mentioned is 0. So the socket will indefinetly wait when the machine where Hive Server is running is "shutdown" or "network is unplugged". The same may not happen if the HiveServer alone is killed or gracefully shutdown. At this time, client will get "connection reset exception". 
> Code in HiveConnection
> -----------------------------------
> {noformat}
> transport = new TSocket(host, port);
> TProtocol protocol = new TBinaryProtocol(transport); 
> client = new HiveClient(protocol);
> {noformat}
> In the Client side, they send the query and wait for the response send_execute(query,id); recv_execute(); // place where client waiting is initiated
> Thread dump:
> {noformat}
> "main" prio=10 tid=0x0000000040111000 nid=0x3641 runnable [0x00007f0d73f29000]
> 	java.lang.Thread.State: RUNNABLE
> 	at java.net.SocketInputStream.socketRead0(Native Method)
> 	at java.net.SocketInputStream.read(SocketInputStream.java:129)
> 	at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> 	at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
> 	at java.io.BufferedInputStream.read(BufferedInputStream.java:317) 
> 	locked <0x00007f0d5d3f0828> (a java.io.BufferedInputStream)
> 	at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:125)
> 	at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:314)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:262)
> 	at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:192)
> 	at org.apache.hadoop.hive.service.ThriftHive$Client.recv_execute(ThriftHive.java:130)
> 	at org.apache.hadoop.hive.service.ThriftHive$Client.execute(ThriftHive.java:109) 
> 	locked <0x00007f0d5d3f0878> (a org.apache.thrift.transport.TSocket)
> 	at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:218)
> 	at org.apache.hadoop.hive.jdbc.HiveStatement.execute(HiveStatement.java:154)
> {noformat}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira