[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16092631#comment-16092631 ] Rob Wu commented on DRILL-5659: --- I have filed a ticket for the 1.10 undefined behavior at https://issues.apache.org/jira/browse/DRILL-5678 and supplied a patch at https://github.com/apache/drill/pull/880 > C++ Client (master) behavior is unstable resulting incorrect result or > exception in API calls > - > > Key: DRILL-5659 > URL: https://issues.apache.org/jira/browse/DRILL-5659 > Project: Apache Drill > Issue Type: Bug >Affects Versions: 1.11.0 >Reporter: Rob Wu >Assignee: Parth Chandra > Labels: ready-to-commit > Fix For: 1.11.0 > > Attachments: 1-10cppClient-1.10.0Drillbit-hive.log, > 1-10cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-10cppClient-1.9.0Drillbit-dfs.log, 1-10cppClient-1.9.0Drillbit-hive.log, > 1-10cppClient-1.9.0Drillbit-metadata and catalog test.log, > 1-11cppClient-1.10.0Drillbit-hive.log, 1-11cppClient-1.10.0Drillbit-metadata > and catalog test.log, 1-11cppClient-1.9.0Drillbit-dfs.log, > 1-11cppClient-1.9.0Drillbit-hive.log, 1-11cppClient-1.9.0Drillbit-metadata > and catalog test.log > > > I recently compiled the C++ client (on windows) from master and tested > against a 1.9.0 drillbit. The client's behavior does not meet the stable > release requirement. > Some API functionalities are broken and should be investigated. > Most noticeable is the getColumns(...) call. It will throw an exception with > "Cannot decode getcolumns results" when the number of rows (column records) > exceeds a certain number. > I also noticed that: during query execution + data retrieval, if the table is > large enough, the result coming back will start to become NULL or empty. > I will see if I can generate some drillclient logs to put in the attachment. > I will also compile and test on other platforms. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16092412#comment-16092412 ] Rob Wu commented on DRILL-5659: --- Tested Linux 1.11 master snapshot against 1.9.0 and 1.10.0 drillbits with authentication. Just compiled windows and tested against 1.9.0 worked correctly. [~laurentgo] [~parthc] Have you tried with windows? I seemed to be getting error when receiving server metadata in processServerMetaResult(...) resulting socket shutdown. {code:java} Drill Client Library Build info: Loaded by process: C:\Program Files (x86)\Microsoft Data Access SDK 2.8\Tools\amd64\odbct32w.exe Current process id is: 9300 Initialized Logging to file (D:\Logs\DM\drillclient20170718T173700.log). 2017-Jul-18 17:37:00 : TRACE : 2d48 : Connecting to endpoint: 192.168.205.161:31010 2017-Jul-18 17:37:00 : TRACE : 2d48 : 192.168.205.161:31010 2017-Jul-18 17:37:00 : INFO: 2d48 : Connected to endpoint: id: 396 address: 192.168.205.161:31010 2017-Jul-18 17:37:00 : TRACE : 2d48 : validateHandShake 2017-Jul-18 17:37:00 : INFO: 2d48 : userName:mapr 2017-Jul-18 17:37:00 : INFO: 2d48 : password: ** 2017-Jul-18 17:37:00 : INFO: 2d48 : schema:default 2017-Jul-18 17:37:00 : TRACE : 2d48 : Sent handshake request message. Coordination id: 1221 2017-Jul-18 17:37:00 : TRACE : 2d48 : Started new handshake wait timer with 5 seconds. 2017-Jul-18 17:37:00 : DEBUG : 2d48 : DrillClientImpl::recvHandshake: async read waiting for server handshake response. 2017-Jul-18 17:37:00 : TRACE : 2d48 : Deadline timer cancelled. 2017-Jul-18 17:37:00 : TRACE : 2d48 : Socket read: reading 87data bytes 2017-Jul-18 17:37:00 : TRACE : 2d48 : Socket read: actual bytes read = 87 2017-Jul-18 17:37:03 : TRACE : 2d48 : Started new heartbeat timer with 15 seconds. 2017-Jul-18 17:37:03 : DEBUG : 2d48 : DrillClientImpl::startMessageListener: io_service is stopped. Restarting. 2017-Jul-18 17:37:03 : DEBUG : 2d48 : DrillClientImpl::startMessageListener: Starting listener thread: 03E61200 2017-Jul-18 17:37:03 : TRACE : 2d48 : Getting metadata 2017-Jul-18 17:37:03 : TRACE : 2d48 : Server metadata supported. 2017-Jul-18 17:37:03 : DEBUG : 2d48 : Sent GET_SERVER_META request. [id: 396 address: 192.168.205.161:31010]Coordination id = 1222 2017-Jul-18 17:37:03 : DEBUG : 2d48 : Sent GET_SERVER_META Coordination id = 1222 query: server meta 2017-Jul-18 17:37:03 : DEBUG : 2d48 : Sending GET_SERVER_META request. Number of pending requests = 1 2017-Jul-18 17:37:03 : TRACE : 2d48 : Read blocked waiting for memory. 2017-Jul-18 17:37:03 : TRACE : 2d48 : Started new query wait timer with 180 seconds. 2017-Jul-18 17:37:03 : TRACE : 2d48 : Started new heartbeat timer with 15 seconds. 2017-Jul-18 17:37:03 : TRACE : 3fc4 : DrillClientImpl:: Heartbeat timer expired. 2017-Jul-18 17:37:03 : TRACE : 3fc4 : DrillClientImpl::handleRead: Handle Read from buffer 03E615C0 2017-Jul-18 17:37:03 : TRACE : 3fc4 : DrillClientImpl::handleRead: Cancel deadline timer. 2017-Jul-18 17:37:03 : DEBUG : 2d48 : DrillClientImpl::getNextResult: async_read from the server 2017-Jul-18 17:37:03 : TRACE : 2d48 : Server metadata received. 2017-Jul-18 17:37:03 : TRACE : 3fc4 : Getting new message 2017-Jul-18 17:37:03 : TRACE : 3fc4 : DrillClientImpl::readMsg: Read message from buffer 03E615C0 2017-Jul-18 17:37:03 : TRACE : 3fc4 : Length bytes = 2 2017-Jul-18 17:37:03 : TRACE : 3fc4 : Msg Length = 5637 2017-Jul-18 17:37:03 : TRACE : 3fc4 : DrillClientImpl::readLenBytesFromSocket: Allocated and locked buffer: [ 03E11CB0, size = 5639 ] 2017-Jul-18 17:37:03 : TRACE : 3fc4 : Copied bufWithLen into bufferWithLenBytes. Now reading data (rmsgLen - leftover) : 5634 2017-Jul-18 17:37:03 : TRACE : 3fc4 : Socket read: reading 5634data bytes 2017-Jul-18 17:37:03 : TRACE : 2d48 : Getting metadata 2017-Jul-18 17:37:03 : TRACE : 2d48 : Server metadata supported. 2017-Jul-18 17:37:03 : TRACE : 3fc4 : Socket read: actual bytes read = 5634 2017-Jul-18 17:37:06 : TRACE : 3fc4 : Successfully created a RPC message with Coordination id: 1222 2017-Jul-18 17:37:06 : TRACE : 3fc4 : DrillClientImpl::readMsg: Free buffer 03E615C0 2017-Jul-18 17:37:10 : DEBUG : 3fc4 : Processing GetServerMetaResp with coordination id:1222 2017-Jul-18 17:37:29 : TRACE : 3fc4 : Socket shutdown 2017-Jul-18 17:37:30 : TRACE : 3fc4 : DrillClientImpl:: Heartbeat timer expired. 2017-Jul-18 17:37:30 : TRACE : 2d48 : Socket shutdown 2017-Jul-18 17:37:30 : TRACE : 2d48 : Server metadata received. 2017-Jul-18 17:37:30 : TRACE : 2d48 : Getting metadata 2017-Jul-18 17:37:30 : TRACE : 2d48 : Server metadata supported. 2017-Jul-18 17:37:30 : TRACE : 2d48 : Socket shutdown 2017-Jul-18 17:37:30 : TRACE : 2d48 : Server metadata received. {code} > C++ Client (master) behavior is unstable resulting
[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16090581#comment-16090581 ] Rob Wu commented on DRILL-5659: --- Tested on 1.9.0 Drilbit and works correctly now. I'll test on 1.10.0 and 1.11.0 later today. > C++ Client (master) behavior is unstable resulting incorrect result or > exception in API calls > - > > Key: DRILL-5659 > URL: https://issues.apache.org/jira/browse/DRILL-5659 > Project: Apache Drill > Issue Type: Bug >Affects Versions: 1.11.0 >Reporter: Rob Wu >Assignee: Parth Chandra > Labels: ready-to-commit > Fix For: 1.11.0 > > Attachments: 1-10cppClient-1.10.0Drillbit-hive.log, > 1-10cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-10cppClient-1.9.0Drillbit-dfs.log, 1-10cppClient-1.9.0Drillbit-hive.log, > 1-10cppClient-1.9.0Drillbit-metadata and catalog test.log, > 1-11cppClient-1.10.0Drillbit-hive.log, 1-11cppClient-1.10.0Drillbit-metadata > and catalog test.log, 1-11cppClient-1.9.0Drillbit-dfs.log, > 1-11cppClient-1.9.0Drillbit-hive.log, 1-11cppClient-1.9.0Drillbit-metadata > and catalog test.log > > > I recently compiled the C++ client (on windows) from master and tested > against a 1.9.0 drillbit. The client's behavior does not meet the stable > release requirement. > Some API functionalities are broken and should be investigated. > Most noticeable is the getColumns(...) call. It will throw an exception with > "Cannot decode getcolumns results" when the number of rows (column records) > exceeds a certain number. > I also noticed that: during query execution + data retrieval, if the table is > large enough, the result coming back will start to become NULL or empty. > I will see if I can generate some drillclient logs to put in the attachment. > I will also compile and test on other platforms. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16090492#comment-16090492 ] ASF GitHub Bot commented on DRILL-5659: --- Github user asfgit closed the pull request at: https://github.com/apache/drill/pull/876 > C++ Client (master) behavior is unstable resulting incorrect result or > exception in API calls > - > > Key: DRILL-5659 > URL: https://issues.apache.org/jira/browse/DRILL-5659 > Project: Apache Drill > Issue Type: Bug >Affects Versions: 1.11.0 >Reporter: Rob Wu >Assignee: Parth Chandra > Labels: ready-to-commit > Fix For: 1.11.0 > > Attachments: 1-10cppClient-1.10.0Drillbit-hive.log, > 1-10cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-10cppClient-1.9.0Drillbit-dfs.log, 1-10cppClient-1.9.0Drillbit-hive.log, > 1-10cppClient-1.9.0Drillbit-metadata and catalog test.log, > 1-11cppClient-1.10.0Drillbit-hive.log, 1-11cppClient-1.10.0Drillbit-metadata > and catalog test.log, 1-11cppClient-1.9.0Drillbit-dfs.log, > 1-11cppClient-1.9.0Drillbit-hive.log, 1-11cppClient-1.9.0Drillbit-metadata > and catalog test.log > > > I recently compiled the C++ client (on windows) from master and tested > against a 1.9.0 drillbit. The client's behavior does not meet the stable > release requirement. > Some API functionalities are broken and should be investigated. > Most noticeable is the getColumns(...) call. It will throw an exception with > "Cannot decode getcolumns results" when the number of rows (column records) > exceeds a certain number. > I also noticed that: during query execution + data retrieval, if the table is > large enough, the result coming back will start to become NULL or empty. > I will see if I can generate some drillclient logs to put in the attachment. > I will also compile and test on other platforms. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16088258#comment-16088258 ] ASF GitHub Bot commented on DRILL-5659: --- Github user parthchandra commented on the issue: https://github.com/apache/drill/pull/876 Still haven't been able to confirm the SASL encryption case, but there is no reason why this fix would affect that. Merging it in. > C++ Client (master) behavior is unstable resulting incorrect result or > exception in API calls > - > > Key: DRILL-5659 > URL: https://issues.apache.org/jira/browse/DRILL-5659 > Project: Apache Drill > Issue Type: Bug >Affects Versions: 1.11.0 >Reporter: Rob Wu >Assignee: Parth Chandra > Labels: ready-to-commit > Fix For: 1.11.0 > > Attachments: 1-10cppClient-1.10.0Drillbit-hive.log, > 1-10cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-10cppClient-1.9.0Drillbit-dfs.log, 1-10cppClient-1.9.0Drillbit-hive.log, > 1-10cppClient-1.9.0Drillbit-metadata and catalog test.log, > 1-11cppClient-1.10.0Drillbit-hive.log, 1-11cppClient-1.10.0Drillbit-metadata > and catalog test.log, 1-11cppClient-1.9.0Drillbit-dfs.log, > 1-11cppClient-1.9.0Drillbit-hive.log, 1-11cppClient-1.9.0Drillbit-metadata > and catalog test.log > > > I recently compiled the C++ client (on windows) from master and tested > against a 1.9.0 drillbit. The client's behavior does not meet the stable > release requirement. > Some API functionalities are broken and should be investigated. > Most noticeable is the getColumns(...) call. It will throw an exception with > "Cannot decode getcolumns results" when the number of rows (column records) > exceeds a certain number. > I also noticed that: during query execution + data retrieval, if the table is > large enough, the result coming back will start to become NULL or empty. > I will see if I can generate some drillclient logs to put in the attachment. > I will also compile and test on other platforms. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16086183#comment-16086183 ] ASF GitHub Bot commented on DRILL-5659: --- Github user laurentgo commented on the issue: https://github.com/apache/drill/pull/876 I tested non-SASL case and confirm it fixes the issue. Unfortunately I don't have any handy SASL-ready setup for now. Thanks @parthchandra > C++ Client (master) behavior is unstable resulting incorrect result or > exception in API calls > - > > Key: DRILL-5659 > URL: https://issues.apache.org/jira/browse/DRILL-5659 > Project: Apache Drill > Issue Type: Bug >Reporter: Rob Wu > Fix For: 1.11.0 > > Attachments: 1-10cppClient-1.10.0Drillbit-hive.log, > 1-10cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-10cppClient-1.9.0Drillbit-dfs.log, 1-10cppClient-1.9.0Drillbit-hive.log, > 1-10cppClient-1.9.0Drillbit-metadata and catalog test.log, > 1-11cppClient-1.10.0Drillbit-hive.log, 1-11cppClient-1.10.0Drillbit-metadata > and catalog test.log, 1-11cppClient-1.9.0Drillbit-dfs.log, > 1-11cppClient-1.9.0Drillbit-hive.log, 1-11cppClient-1.9.0Drillbit-metadata > and catalog test.log > > > I recently compiled the C++ client (on windows) from master and tested > against a 1.9.0 drillbit. The client's behavior does not meet the stable > release requirement. > Some API functionalities are broken and should be investigated. > Most noticeable is the getColumns(...) call. It will throw an exception with > "Cannot decode getcolumns results" when the number of rows (column records) > exceeds a certain number. > I also noticed that: during query execution + data retrieval, if the table is > large enough, the result coming back will start to become NULL or empty. > I will see if I can generate some drillclient logs to put in the attachment. > I will also compile and test on other platforms. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16085967#comment-16085967 ] ASF GitHub Bot commented on DRILL-5659: --- Github user superbstreak commented on the issue: https://github.com/apache/drill/pull/876 Thanks, @parthchandra! > C++ Client (master) behavior is unstable resulting incorrect result or > exception in API calls > - > > Key: DRILL-5659 > URL: https://issues.apache.org/jira/browse/DRILL-5659 > Project: Apache Drill > Issue Type: Bug >Reporter: Rob Wu > Fix For: 1.11.0 > > Attachments: 1-10cppClient-1.10.0Drillbit-hive.log, > 1-10cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-10cppClient-1.9.0Drillbit-dfs.log, 1-10cppClient-1.9.0Drillbit-hive.log, > 1-10cppClient-1.9.0Drillbit-metadata and catalog test.log, > 1-11cppClient-1.10.0Drillbit-hive.log, 1-11cppClient-1.10.0Drillbit-metadata > and catalog test.log, 1-11cppClient-1.9.0Drillbit-dfs.log, > 1-11cppClient-1.9.0Drillbit-hive.log, 1-11cppClient-1.9.0Drillbit-metadata > and catalog test.log > > > I recently compiled the C++ client (on windows) from master and tested > against a 1.9.0 drillbit. The client's behavior does not meet the stable > release requirement. > Some API functionalities are broken and should be investigated. > Most noticeable is the getColumns(...) call. It will throw an exception with > "Cannot decode getcolumns results" when the number of rows (column records) > exceeds a certain number. > I also noticed that: during query execution + data retrieval, if the table is > large enough, the result coming back will start to become NULL or empty. > I will see if I can generate some drillclient logs to put in the attachment. > I will also compile and test on other platforms. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16085924#comment-16085924 ] ASF GitHub Bot commented on DRILL-5659: --- Github user sohami commented on the issue: https://github.com/apache/drill/pull/876 +1 LGTM Thanks a lot for catching and fixing this!. I will test it with SASL encryption case. > C++ Client (master) behavior is unstable resulting incorrect result or > exception in API calls > - > > Key: DRILL-5659 > URL: https://issues.apache.org/jira/browse/DRILL-5659 > Project: Apache Drill > Issue Type: Bug >Reporter: Rob Wu > Fix For: 1.11.0 > > Attachments: 1-10cppClient-1.10.0Drillbit-hive.log, > 1-10cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-10cppClient-1.9.0Drillbit-dfs.log, 1-10cppClient-1.9.0Drillbit-hive.log, > 1-10cppClient-1.9.0Drillbit-metadata and catalog test.log, > 1-11cppClient-1.10.0Drillbit-hive.log, 1-11cppClient-1.10.0Drillbit-metadata > and catalog test.log, 1-11cppClient-1.9.0Drillbit-dfs.log, > 1-11cppClient-1.9.0Drillbit-hive.log, 1-11cppClient-1.9.0Drillbit-metadata > and catalog test.log > > > I recently compiled the C++ client (on windows) from master and tested > against a 1.9.0 drillbit. The client's behavior does not meet the stable > release requirement. > Some API functionalities are broken and should be investigated. > Most noticeable is the getColumns(...) call. It will throw an exception with > "Cannot decode getcolumns results" when the number of rows (column records) > exceeds a certain number. > I also noticed that: during query execution + data retrieval, if the table is > large enough, the result coming back will start to become NULL or empty. > I will see if I can generate some drillclient logs to put in the attachment. > I will also compile and test on other platforms. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16085868#comment-16085868 ] Parth Chandra commented on DRILL-5659: -- [~shamirwasia], [~robertw], [~laurentgo] can you folks please review and try this fix out (esp with the sasl encrption enabled)? > C++ Client (master) behavior is unstable resulting incorrect result or > exception in API calls > - > > Key: DRILL-5659 > URL: https://issues.apache.org/jira/browse/DRILL-5659 > Project: Apache Drill > Issue Type: Bug >Reporter: Rob Wu > Fix For: 1.11.0 > > Attachments: 1-10cppClient-1.10.0Drillbit-hive.log, > 1-10cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-10cppClient-1.9.0Drillbit-dfs.log, 1-10cppClient-1.9.0Drillbit-hive.log, > 1-10cppClient-1.9.0Drillbit-metadata and catalog test.log, > 1-11cppClient-1.10.0Drillbit-hive.log, 1-11cppClient-1.10.0Drillbit-metadata > and catalog test.log, 1-11cppClient-1.9.0Drillbit-dfs.log, > 1-11cppClient-1.9.0Drillbit-hive.log, 1-11cppClient-1.9.0Drillbit-metadata > and catalog test.log > > > I recently compiled the C++ client (on windows) from master and tested > against a 1.9.0 drillbit. The client's behavior does not meet the stable > release requirement. > Some API functionalities are broken and should be investigated. > Most noticeable is the getColumns(...) call. It will throw an exception with > "Cannot decode getcolumns results" when the number of rows (column records) > exceeds a certain number. > I also noticed that: during query execution + data retrieval, if the table is > large enough, the result coming back will start to become NULL or empty. > I will see if I can generate some drillclient logs to put in the attachment. > I will also compile and test on other platforms. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16085828#comment-16085828 ] ASF GitHub Bot commented on DRILL-5659: --- GitHub user parthchandra opened a pull request: https://github.com/apache/drill/pull/876 DRILL-5659: Fix error code checking in reading from socket Check if errorcode is set before checking if the error code is EINTR. Also, check for error first thing after making the read_some or write_some calls. This fixes the case when we read (or write) only a part of the data in a call to read from or write to the socket. Tested for the issue on Mac/Centos. Not tested on Windows. Not tested for the case with SASL encryption. You can merge this pull request into a Git repository by running: $ git pull https://github.com/parthchandra/drill DRILL-5659 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/drill/pull/876.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #876 commit 0a29ced81dc935b926e734ea169eb884a2cbe40f Author: Parth ChandraDate: 2017-07-12T21:39:17Z DRILL-5659: Fix error code checking in reading from socket > C++ Client (master) behavior is unstable resulting incorrect result or > exception in API calls > - > > Key: DRILL-5659 > URL: https://issues.apache.org/jira/browse/DRILL-5659 > Project: Apache Drill > Issue Type: Bug >Reporter: Rob Wu > Fix For: 1.11.0 > > Attachments: 1-10cppClient-1.10.0Drillbit-hive.log, > 1-10cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-10cppClient-1.9.0Drillbit-dfs.log, 1-10cppClient-1.9.0Drillbit-hive.log, > 1-10cppClient-1.9.0Drillbit-metadata and catalog test.log, > 1-11cppClient-1.10.0Drillbit-hive.log, 1-11cppClient-1.10.0Drillbit-metadata > and catalog test.log, 1-11cppClient-1.9.0Drillbit-dfs.log, > 1-11cppClient-1.9.0Drillbit-hive.log, 1-11cppClient-1.9.0Drillbit-metadata > and catalog test.log > > > I recently compiled the C++ client (on windows) from master and tested > against a 1.9.0 drillbit. The client's behavior does not meet the stable > release requirement. > Some API functionalities are broken and should be investigated. > Most noticeable is the getColumns(...) call. It will throw an exception with > "Cannot decode getcolumns results" when the number of rows (column records) > exceeds a certain number. > I also noticed that: during query execution + data retrieval, if the table is > large enough, the result coming back will start to become NULL or empty. > I will see if I can generate some drillclient logs to put in the attachment. > I will also compile and test on other platforms. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16084984#comment-16084984 ] Parth Chandra commented on DRILL-5659: -- So, it looks like this: The original code for reading (synchronously) from a socket looked like this: {code} while(1){ size_t dataBytesRead = m_socket.read_some(boost::asio::buffer(inBuf, bytesToRead), errorCode); if(errorCode){ break; } ... } {code} and now it looks like {code} while(1){ size_t dataBytesRead = m_socket.read_some(boost::asio::buffer(inBuf, bytesToRead), errorCode); if(EINTR != errorCode.value()){ break; } ... } {code} The original works correctly and the new code doesn't. If {code}errorCode.value() == 0{code} we break out of the while loop even if we have not managed to read all the data off the socket. This typically will happen when there is a large data set and the server is returning data really, really fast so there is a lot of data in the socket stream. Modifying the code to check for errorCode (which is equivalent to checking errorCode.value() != 0) first, makes everyone happy again. Will submit a patch after a little more testing. > C++ Client (master) behavior is unstable resulting incorrect result or > exception in API calls > - > > Key: DRILL-5659 > URL: https://issues.apache.org/jira/browse/DRILL-5659 > Project: Apache Drill > Issue Type: Bug >Reporter: Rob Wu > Fix For: 1.11.0 > > Attachments: 1-10cppClient-1.10.0Drillbit-hive.log, > 1-10cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-10cppClient-1.9.0Drillbit-dfs.log, 1-10cppClient-1.9.0Drillbit-hive.log, > 1-10cppClient-1.9.0Drillbit-metadata and catalog test.log, > 1-11cppClient-1.10.0Drillbit-hive.log, 1-11cppClient-1.10.0Drillbit-metadata > and catalog test.log, 1-11cppClient-1.9.0Drillbit-dfs.log, > 1-11cppClient-1.9.0Drillbit-hive.log, 1-11cppClient-1.9.0Drillbit-metadata > and catalog test.log > > > I recently compiled the C++ client (on windows) from master and tested > against a 1.9.0 drillbit. The client's behavior does not meet the stable > release requirement. > Some API functionalities are broken and should be investigated. > Most noticeable is the getColumns(...) call. It will throw an exception with > "Cannot decode getcolumns results" when the number of rows (column records) > exceeds a certain number. > I also noticed that: during query execution + data retrieval, if the table is > large enough, the result coming back will start to become NULL or empty. > I will see if I can generate some drillclient logs to put in the attachment. > I will also compile and test on other platforms. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16084480#comment-16084480 ] Parth Chandra commented on DRILL-5659: -- Definitely caused by the commit ( d11aba2e55323bb5a6a9deb5bb09fd87470dcedf ) for DRILL-4335. Unfortunately, the refactoring changes are too many. I'll spend the rest of the day doing a diff and trying to figure out. Seems easier to do that since the problem is showing up intermittently for me. > C++ Client (master) behavior is unstable resulting incorrect result or > exception in API calls > - > > Key: DRILL-5659 > URL: https://issues.apache.org/jira/browse/DRILL-5659 > Project: Apache Drill > Issue Type: Bug >Reporter: Rob Wu > Fix For: 1.11.0 > > Attachments: 1-10cppClient-1.10.0Drillbit-hive.log, > 1-10cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-10cppClient-1.9.0Drillbit-dfs.log, 1-10cppClient-1.9.0Drillbit-hive.log, > 1-10cppClient-1.9.0Drillbit-metadata and catalog test.log, > 1-11cppClient-1.10.0Drillbit-hive.log, 1-11cppClient-1.10.0Drillbit-metadata > and catalog test.log, 1-11cppClient-1.9.0Drillbit-dfs.log, > 1-11cppClient-1.9.0Drillbit-hive.log, 1-11cppClient-1.9.0Drillbit-metadata > and catalog test.log > > > I recently compiled the C++ client (on windows) from master and tested > against a 1.9.0 drillbit. The client's behavior does not meet the stable > release requirement. > Some API functionalities are broken and should be investigated. > Most noticeable is the getColumns(...) call. It will throw an exception with > "Cannot decode getcolumns results" when the number of rows (column records) > exceeds a certain number. > I also noticed that: during query execution + data retrieval, if the table is > large enough, the result coming back will start to become NULL or empty. > I will see if I can generate some drillclient logs to put in the attachment. > I will also compile and test on other platforms. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16084384#comment-16084384 ] Parth Chandra commented on DRILL-5659: -- I can also reproduce it reading from the tpch lineitem table, though Laurent's is clearly the smallest reproduction of the issue. FWIW, valgrind shows no corruption or leaks when this issue crops up. > C++ Client (master) behavior is unstable resulting incorrect result or > exception in API calls > - > > Key: DRILL-5659 > URL: https://issues.apache.org/jira/browse/DRILL-5659 > Project: Apache Drill > Issue Type: Bug >Reporter: Rob Wu > Fix For: 1.11.0 > > Attachments: 1-10cppClient-1.10.0Drillbit-hive.log, > 1-10cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-10cppClient-1.9.0Drillbit-dfs.log, 1-10cppClient-1.9.0Drillbit-hive.log, > 1-10cppClient-1.9.0Drillbit-metadata and catalog test.log, > 1-11cppClient-1.10.0Drillbit-hive.log, 1-11cppClient-1.10.0Drillbit-metadata > and catalog test.log, 1-11cppClient-1.9.0Drillbit-dfs.log, > 1-11cppClient-1.9.0Drillbit-hive.log, 1-11cppClient-1.9.0Drillbit-metadata > and catalog test.log > > > I recently compiled the C++ client (on windows) from master and tested > against a 1.9.0 drillbit. The client's behavior does not meet the stable > release requirement. > Some API functionalities are broken and should be investigated. > Most noticeable is the getColumns(...) call. It will throw an exception with > "Cannot decode getcolumns results" when the number of rows (column records) > exceeds a certain number. > I also noticed that: during query execution + data retrieval, if the table is > large enough, the result coming back will start to become NULL or empty. > I will see if I can generate some drillclient logs to put in the attachment. > I will also compile and test on other platforms. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16084243#comment-16084243 ] Laurent Goujon commented on DRILL-5659: --- I think I reproduce the issue with the following query: {code:sql} SELECT 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 FROM (VALUES(1)) {code} The JDBC driver doesn't seem to be affected > C++ Client (master) behavior is unstable resulting incorrect result or > exception in API calls > - > > Key: DRILL-5659 > URL: https://issues.apache.org/jira/browse/DRILL-5659 > Project: Apache Drill > Issue Type: Bug >Reporter: Rob Wu > Fix For: 1.11.0 > > Attachments: 1-10cppClient-1.10.0Drillbit-hive.log, > 1-10cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-10cppClient-1.9.0Drillbit-dfs.log, 1-10cppClient-1.9.0Drillbit-hive.log, > 1-10cppClient-1.9.0Drillbit-metadata and catalog test.log, > 1-11cppClient-1.10.0Drillbit-hive.log, 1-11cppClient-1.10.0Drillbit-metadata > and catalog test.log, 1-11cppClient-1.9.0Drillbit-dfs.log, > 1-11cppClient-1.9.0Drillbit-hive.log, 1-11cppClient-1.9.0Drillbit-metadata > and catalog test.log > > > I recently compiled the C++ client (on windows) from master and tested > against a 1.9.0 drillbit. The client's behavior does not meet the stable > release requirement. > Some API functionalities are broken and should be investigated. > Most noticeable is the getColumns(...) call. It will throw an exception with > "Cannot decode getcolumns results" when the number of rows (column records) > exceeds a certain number. > I also noticed that: during query execution + data retrieval, if the table is > large enough, the result coming back will start to become NULL or empty. > I will see if I can generate some drillclient logs to put in the attachment. > I will also compile and test on other platforms. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16082710#comment-16082710 ] Rob Wu commented on DRILL-5659: --- Compiled and tested on Windows and Linux (CentOS-5.9). Added 2 more logs > C++ Client (master) behavior is unstable resulting incorrect result or > exception in API calls > - > > Key: DRILL-5659 > URL: https://issues.apache.org/jira/browse/DRILL-5659 > Project: Apache Drill > Issue Type: Bug >Reporter: Rob Wu > Fix For: 1.11.0 > > Attachments: 1-10cppClient-1.10.0Drillbit-hive.log, > 1-10cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-10cppClient-1.9.0Drillbit-dfs.log, 1-10cppClient-1.9.0Drillbit-metadata and > catalog test.log, 1-11cppClient-1.10.0Drillbit-hive.log, > 1-11cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-11cppClient-1.9.0Drillbit-dfs.log, 1-11cppClient-1.9.0Drillbit-metadata and > catalog test.log > > > I recently compiled the C++ client (on windows) from master and tested > against a 1.9.0 drillbit. The client's behavior does not meet the stable > release requirement. > Some API functionalities are broken and should be investigated. > Most noticeable is the getColumns(...) call. It will throw an exception with > "Cannot decode getcolumns results" when the number of rows (column records) > exceeds a certain number. > I also noticed that: during query execution + data retrieval, if the table is > large enough, the result coming back will start to become NULL or empty. > I will see if I can generate some drillclient logs to put in the attachment. > I will also compile and test on other platforms. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16082702#comment-16082702 ] Rob Wu commented on DRILL-5659: --- Hi Robert, This is not a blocking issue atm. But it should definitely be looked at before the 1.11 release so it does not affect the upcoming driver release. This issue only occurs on 1.11 Snapshot C++ client, so 1.10 and below are not affected. Rob > C++ Client (master) behavior is unstable resulting incorrect result or > exception in API calls > - > > Key: DRILL-5659 > URL: https://issues.apache.org/jira/browse/DRILL-5659 > Project: Apache Drill > Issue Type: Bug >Reporter: Rob Wu > Fix For: 1.11.0 > > Attachments: 1-10cppClient-1.10.0Drillbit-hive.log, > 1-10cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-10cppClient-1.9.0Drillbit-dfs.log, 1-10cppClient-1.9.0Drillbit-metadata and > catalog test.log, 1-11cppClient-1.10.0Drillbit-hive.log, > 1-11cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-11cppClient-1.9.0Drillbit-dfs.log, 1-11cppClient-1.9.0Drillbit-metadata and > catalog test.log > > > I recently compiled the C++ client (on windows) from master and tested > against a 1.9.0 drillbit. The client's behavior does not meet the stable > release requirement. > Some API functionalities are broken and should be investigated. > Most noticeable is the getColumns(...) call. It will throw an exception with > "Cannot decode getcolumns results" when the number of rows (column records) > exceeds a certain number. > I also noticed that: during query execution + data retrieval, if the table is > large enough, the result coming back will start to become NULL or empty. > I will see if I can generate some drillclient logs to put in the attachment. > I will also compile and test on other platforms. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16082688#comment-16082688 ] Robert Hou commented on DRILL-5659: --- Hi Rob, Is this a blocking issue for you? How likely is it that a customer will encounter this issue? > C++ Client (master) behavior is unstable resulting incorrect result or > exception in API calls > - > > Key: DRILL-5659 > URL: https://issues.apache.org/jira/browse/DRILL-5659 > Project: Apache Drill > Issue Type: Bug >Reporter: Rob Wu > Fix For: 1.11.0 > > Attachments: 1-10cppClient-1.10.0Drillbit-hive.log, > 1-10cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-10cppClient-1.9.0Drillbit-dfs.log, 1-10cppClient-1.9.0Drillbit-metadata and > catalog test.log, 1-11cppClient-1.10.0Drillbit-hive.log, > 1-11cppClient-1.10.0Drillbit-metadata and catalog test.log, > 1-11cppClient-1.9.0Drillbit-dfs.log, 1-11cppClient-1.9.0Drillbit-metadata and > catalog test.log > > > I recently compiled the C++ client (on windows) from master and tested > against a 1.9.0 drillbit. The client's behavior does not meet the stable > release requirement. > Some API functionalities are broken and should be investigated. > Most noticeable is the getColumns(...) call. It will throw an exception with > "Cannot decode getcolumns results" when the number of rows (column records) > exceeds a certain number. > I also noticed that: during query execution + data retrieval, if the table is > large enough, the result coming back will start to become NULL or empty. > I will see if I can generate some drillclient logs to put in the attachment. > I will also compile and test on other platforms. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-5659) C++ Client (master) behavior is unstable resulting incorrect result or exception in API calls
[ https://issues.apache.org/jira/browse/DRILL-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16077761#comment-16077761 ] Rob Wu commented on DRILL-5659: --- Added some logs generated by query submitter > C++ Client (master) behavior is unstable resulting incorrect result or > exception in API calls > - > > Key: DRILL-5659 > URL: https://issues.apache.org/jira/browse/DRILL-5659 > Project: Apache Drill > Issue Type: Bug >Reporter: Rob Wu > Attachments: 1-10cppClient-1.9.0Drillbit-dfs.log, > 1-10cppClient-1.9.0Drillbit-hive.log, 1-11cppClient-1.9.0Drillbit-dfs.log, > 1-11cppClient-1.9.0Drillbit-hive.log > > > I recently compiled the C++ client (on windows) from master and tested > against a 1.9.0 drillbit. The client's behavior does not meet the stable > release requirement. > Some API functionalities are broken and should be investigated. > Most noticeable is the getColumns(...) call. It will throw an exception with > "Cannot decode getcolumns results" when the number of rows (column records) > exceeds a certain number. > I also noticed that: during query execution + data retrieval, if the table is > large enough, the result coming back will start to become NULL or empty. > I will see if I can generate some drillclient logs to put in the attachment. > I will also compile and test on other platforms. -- This message was sent by Atlassian JIRA (v6.4.14#64029)