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

ASF GitHub Bot commented on HADOOP-18215:
-----------------------------------------

ayushtkn commented on code in PR #4215:
URL: https://github.com/apache/hadoop/pull/4215#discussion_r1106063559


##########
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/WritableName.java:
##########
@@ -92,7 +92,7 @@ public static synchronized Class<?> getClass(String name, 
Configuration conf
                                             ) throws IOException {
     Class<?> writableClass = NAME_TO_CLASS.get(name);
     if (writableClass != null)
-      return writableClass.asSubclass(Writable.class);
+      return writableClass;

Review Comment:
   It is a public method and you are changing the behaviour of this. Earlier 
for which classes it used to return an Exception.
   Now it will be returning some result.
   
   I would suggest add a new method, which can take an argument based on which 
it can do .asSubclass(Writable.class) or not, And you can refactor whatever is 
inside this method to that new method with an extra flag, and call it from the 
existing method with false or so. 
   
   Moreover Slack has limited audience, the dev lists have more, so good to 
give it a try if none of the options work



##########
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/WritableName.java:
##########
@@ -92,7 +92,7 @@ public static synchronized Class<?> getClass(String name, 
Configuration conf
                                             ) throws IOException {
     Class<?> writableClass = NAME_TO_CLASS.get(name);
     if (writableClass != null)
-      return writableClass.asSubclass(Writable.class);
+      return writableClass;

Review Comment:
   It is a public method and you are changing the behaviour of this. Earlier 
for which classes it used to return an Exception.
   Now it will be returning some result.
   
   I would suggest add a new method, which can take an argument based on which 
it can do .asSubclass(Writable.class) or not, And you can refactor whatever is 
inside this method to that new method with an extra flag, and call it from the 
existing method with false or so. 
   





> Enhance WritableName to be able to return aliases for classes that use 
> serializers
> ----------------------------------------------------------------------------------
>
>                 Key: HADOOP-18215
>                 URL: https://issues.apache.org/jira/browse/HADOOP-18215
>             Project: Hadoop Common
>          Issue Type: Improvement
>            Reporter: Bryan Beaudreault
>            Assignee: Bryan Beaudreault
>            Priority: Minor
>              Labels: pull-request-available
>          Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> WritableName allows users shim in aliases for writables, in the case where a 
> SequenceFile was written with a Writable class that has since been renamed or 
> moved to another package. However, this requires that the aliased class 
> extend Writable. 
> Separately it's possible to configure jobs with keys and values which don't 
> actually extend Writable. Instead they are meant to be 
> serialized/deserialized using the serialization classes defined in 
> {{io.serializations}} config.
> Unfortunately, the current implementation does not support these key/value 
> classes. All we need to do to support this is remove the 
> {{.asSubclass(Writable.class)}} as is already the case for the default.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to