[ https://issues.apache.org/jira/browse/HIVE-12957?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15122195#comment-15122195 ]
Jason Dere commented on HIVE-12957: ----------------------------------- According to [~sseth]: 2016-01-27 15:31:48,132 [INFO] [AMRM Callback Handler Thread] |rm.YarnTaskSchedulerService|: App total resource memory: -3168 cpu: 13 taskAllocations: 0 YARN is reporting available memory as -3168 - This causes the numSplits calculation to go wrong. This looks to be a bug in the FairScheduler HiveSplitGenerator (and a part of Tez which is not involved here) should be a little more defensive - and check for such negative values and normalizing to 0, or throwing a more usable error. I don't think there's any simple workaround here. > hive/tez query intermittently vertex initialize failure Illegal Capacity: -1 > ----------------------------------------------------------------------------- > > Key: HIVE-12957 > URL: https://issues.apache.org/jira/browse/HIVE-12957 > Project: Hive > Issue Type: Bug > Components: Tez > Affects Versions: 1.2.0 > Reporter: Jason Dere > Assignee: Jason Dere > > {noformat} > org.apache.tez.dag.app.dag.impl.AMUserCodeException: > java.lang.IllegalArgumentException: Illegal Capacity: -1 > at > org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallback.onFailure(RootInputInitializerManager.java:292) > at com.google.common.util.concurrent.Futures$4.run(Futures.java:1140) > at > com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:293) > at > com.google.common.util.concurrent.ExecutionList$RunnableExecutorPair.execute(ExecutionList.java:150) > at > com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:135) > at > com.google.common.util.concurrent.ListenableFutureTask.done(ListenableFutureTask.java:91) > at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:380) > at java.util.concurrent.FutureTask.setException(FutureTask.java:247) > at java.util.concurrent.FutureTask.run(FutureTask.java:267) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.IllegalArgumentException: Illegal Capacity: -1 > at java.util.ArrayList.<init>(ArrayList.java:142) > at > org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:332) > at > org.apache.hadoop.hive.ql.io.HiveInputFormat.addSplitsForGroup(HiveInputFormat.java:305) > at > org.apache.hadoop.hive.ql.io.HiveInputFormat.getSplits(HiveInputFormat.java:407) > at > org.apache.hadoop.hive.ql.exec.tez.HiveSplitGenerator.initialize(HiveSplitGenerator.java:155) > at > org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallable$1.run(RootInputInitializerManager.java:246) > at > org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallable$1.run(RootInputInitializerManager.java:240) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657) > at > org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallable.call(RootInputInitializerManager.java:240) > at > org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallable.call(RootInputInitializerManager.java:227) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > ... 3 more > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)