Subroto Sanyal created TEZ-1200:
-----------------------------------
Summary: Deserializing payload to Configuration ignores
JobConfigurable interface
Key: TEZ-1200
URL: https://issues.apache.org/jira/browse/TEZ-1200
Project: Apache Tez
Issue Type: Sub-task
Reporter: Subroto Sanyal
Tez provides a utility to extract the Configuration object from the User
Payload:
{code}public static Configuration
org.apache.tez.common.TezUtils.createConfFromUserPayload(byte[]){code}
When this Deserialized configuration is used to create objects using reflection:
{code}public static <T> T
org.apache.hadoop.util.ReflectionUtils.newInstance(Class<T>,
Configuration){code}
then the interface _org.apache.hadoop.mapred.JobConfigurable_ is ignored as the
object created using reflection is of type
_org.apache.hadoop.conf.Configuration_ not of _org.apache.hadoop.mapred.JobConf_
One simple scenario when user defines a custom
_org.apache.hadoop.io.RawComparator<T>_ and makes it
_org.apache.hadoop.mapred.JobConfigurable_ but,
_org.apache.tez.runtime.library.common.sort.impl.ExternalSorter_ doesn't care
if the configuration could be instance of _org.apache.hadoop.mapred.JobConf_
--
This message was sent by Atlassian JIRA
(v6.2#6252)