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

László Bodor commented on HIVE-24734:
-------------------------------------

[~zmatyus]: I'm worried that this change simply hides a misconfiguration 
problem (now and in the future)
if availableSlots = totalResource / taskResource, it means that one of the 
getMemory() calls returns a negative value, which is not an edge case, but an 
invalid behavior, which should be investigated instead



> Sanity check in HiveSplitGenerator available slot calculation
> -------------------------------------------------------------
>
>                 Key: HIVE-24734
>                 URL: https://issues.apache.org/jira/browse/HIVE-24734
>             Project: Hive
>          Issue Type: Bug
>          Components: Tez
>    Affects Versions: 4.0.0
>            Reporter: Zoltan Matyus
>            Priority: Minor
>
> HiveSplitGenerator calculates the number of available slots from available 
> memory like this:
> {code:java}
> if (getContext() != null) {
>   totalResource = getContext().getTotalAvailableResource().getMemory();
>   taskResource = getContext().getVertexTaskResource().getMemory();
>   availableSlots = totalResource / taskResource;
> }
> {code}
> I had a scenario where the total memory was calculated correctly, but the 
> task memory returned -1. This led to error like these:
> {noformat}
> tez.HiveSplitGenerator: Number of input splits: 1. -3641 available slots, 1.7 
> waves. Input format is: org.apache.hadoop.hive.ql.io.HiveInputFormat
> Estimated number of tasks: -6189 for bucket 1
> java.lang.IllegalArgumentException: Illegal Capacity: -6189
> {noformat}
> Admittedly, this happened during development, and hopefully will not occur on 
> a properly configured cluster. (Although I'm not sure what the issue was on 
> my setup, possibly XMX set higher than physical memory.)
> In any case, it feels like setting availableSlots < 1 will never lead to 
> desired behavior, so in such cases we could emit a warning and correct the 
> value to 1.



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

Reply via email to