[ 
https://issues.apache.org/jira/browse/HIVE-22853?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naveen Gangam updated HIVE-22853:
---------------------------------
    Status: Patch Available  (was: Open)

Patch with feedback from Yongzhi. 
The previous patch was not honoring the fetchSize set as part of the JDBC URL. 
This value is now being passed to the server as part of the OpenSession. The 
server either returns the value set in the session, or will return the server 
default value.
Prior to this fix, the client always sent its default value of 1000 if the 
value was not set in the URL.

With the new patch, here is how the fetch size works.
* If there is no fetchSize in the JDBC URL, the client(beeline/JDBC client) 
uses the server-side setting of fetch size that is sent back as part of the 
session establishment. Beeline can change this value using "set" command. JDBC 
clients can set a different value at the statement level using 
Statement.setFetchSize(). Beeline can use a different value within session, 
using a "set hive.server2.thrift.resultset.default.fetch.size=..." command. 
* If there is a fetchSize in the JDBC URL, this will be used until it is 
changed/reset as described in the comment above.
* In both cases, if the value for fetchSize, sent by the client, is higher than 
the hive.server2.thrift.resultset.max.fetch.size on the server, the server 
automatically uses its max setting value and the client value will be ignored.

> Beeline should use HS2 server defaults for fetchSize
> ----------------------------------------------------
>
>                 Key: HIVE-22853
>                 URL: https://issues.apache.org/jira/browse/HIVE-22853
>             Project: Hive
>          Issue Type: Bug
>          Components: Beeline
>    Affects Versions: 4.0.0
>            Reporter: Naveen Gangam
>            Assignee: Naveen Gangam
>            Priority: Major
>         Attachments: HIVE-22853.2.patch, HIVE-22853.3.patch, HIVE-22853.patch
>
>
> Currently beeline uses a hard coded default of 1000 rows for fetchSize. This 
> default value is different from what the server has set. While the beeline 
> user can reset the value via set command, its cumbersome to change the 
> workloads.
> Rather it should default to the server-side value and set should be used to 
> override within the session.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to