[ https://issues.apache.org/jira/browse/PIG-4068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14072633#comment-14072633 ]
Daniel Dai commented on PIG-4068: --------------------------------- +1 > ObjectCache cause ClassCastException > ------------------------------------ > > Key: PIG-4068 > URL: https://issues.apache.org/jira/browse/PIG-4068 > Project: Pig > Issue Type: Sub-task > Components: tez > Reporter: Cheolsoo Park > Assignee: Cheolsoo Park > Fix For: 0.14.0 > > Attachments: PIG-4068-1.patch > > > Here is stack trace- > {code} > 2014-07-23 20:19:41,503 INFO [TezChild] > org.apache.tez.runtime.task.TezTaskRunner: Encounted an error while executing > task: attempt_1405989231017_0003_1_10_000087_2 > java.lang.ClassCastException: java.lang.Boolean cannot be cast to > java.util.Map > at > org.apache.pig.backend.hadoop.executionengine.tez.PigProcessor.collectSample(PigProcessor.java:345) > at > org.apache.pig.backend.hadoop.executionengine.tez.PigProcessor.initializeInputs(PigProcessor.java:255) > at > org.apache.pig.backend.hadoop.executionengine.tez.PigProcessor.run(PigProcessor.java:183) > at > org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:315) > at > org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable$1.run(TezTaskRunner.java:180) > at > org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable$1.run(TezTaskRunner.java:172) > 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:1548) > at > org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable.call(TezTaskRunner.java:172) > at > org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable.call(TezTaskRunner.java:167) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > 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) > {code} > The problem is that {{PigProcessor.collectSample()}} and > {{POPartitionRearrangeTez.init()}} use the same cache key for different > objects (Map vs. Boolean)- > {code:title=PigProcessor.java} > String quantileMapCacheKey = "sample-" + sampleVertex + ".cached"; > sampleMap = (Map<String, > Object>)ObjectCache.getInstance().retrieve(quantileMapCacheKey);{code} > {code:title=POPartitionRearrangeTez.java} > String isCachedKey = "sample-" + PigProcessor.sampleVertex + ".cached"; > ... > cache.cache(isCachedKey, Boolean.TRUE); > {code} -- This message was sent by Atlassian JIRA (v6.2#6252)