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)

Reply via email to