[ 
https://issues.apache.org/jira/browse/HIVE-23096?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17072123#comment-17072123
 ] 

David Mollitor edited comment on HIVE-23096 at 3/31/20, 8:07 PM:
-----------------------------------------------------------------

Hey [~ngangam] I think we leave it at INFO.  There's nothing *wrong* with 
hitting the cap.  If you have a fetch size of 1000 (Default) and you fetch 4000 
rows (not that uncommon), then you would get 4 WARN level messages even though 
this is perfectly acceptable.  I just want to make it possible to diagnose it 
as a problem (the case where a fetch size of 1 is set for a million rows)


was (Author: belugabehr):
Hey [~ngangam] I think we leave it at INFO.  There's nothing *wrong* with 
hitting the cap.  If you have a fetch size of 1000 (Default) and you fetch 4000 
rows (not that uncommon), then you would get 4 WARN level messages even this 
this is perfectly acceptable.  I just want to make it possible to diagnose it 
as a problem (the case where a fetch size of 1 is set for a million rows)

> Review Code Path for getResults
> -------------------------------
>
>                 Key: HIVE-23096
>                 URL: https://issues.apache.org/jira/browse/HIVE-23096
>             Project: Hive
>          Issue Type: Sub-task
>            Reporter: David Mollitor
>            Assignee: David Mollitor
>            Priority: Minor
>         Attachments: HIVE-23096.1.patch
>
>
> * Log when a buffer returned to a client is completely full.  This can be 
> helpful for identifying misconfigured clients that have a fetchSize that is 
> too small
> * See below code snippet
> * Rows are loaded into an ArrayList called "convey."  This ArrayList is 
> instantiated with the default size (10) and is expanded on-demand as it is 
> filled.  I changed it so that this ArrayList's size is set once, on the first 
> call to fetch, so that it doesn't have to "grow" and waste cycles and memory 
> with GC thrashing for that.
> * Some minor cleanup
> {code:java|Driver.java}
>  try {
>         ss = Utilities.readColumn(driverContext.getResStream(), bos);
>         if (bos.getLength() > 0) {
>           // use JDK StandardCharsets
>           row = new String(bos.getData(), 0, bos.getLength(), "UTF-8");
>         } else if (ss == Utilities.StreamStatus.TERMINATED) {
>           // Do not create a new string for this.  Just use a hard-coded 
> empty string.  JDK: "Note that use of this constructor is unnecessary since 
> Strings are immutable."
>           row = new String();
>         }
>         ...
> }
> {code}



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

Reply via email to