[ https://issues.apache.org/jira/browse/HADOOP-5596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12703932#action_12703932 ]
He Yongqiang commented on HADOOP-5596: -------------------------------------- >> adding the type information to EnumSetWritable like the EnumSet >> implemention? like private Class<E> elementType; Yeah, it will solve the problem. But the other problem is that users may does not know the elementType before deserialized it. >>we don't really need EnumSetWritable. We may convert the EnumSet to an array >>and serialize the array in RPC That is what i initally does in ObjectWritable. The i moved the code to EnumSetWritable. It is more clean now since ObjectWritable is a core class. Btw,the only problem now is that we can not serialize a none enumset, is that not acceptable? even if we convert the EnumSet to an array and serialize it, we can not sovle the none enumset problem. > Make ObjectWritable support EnumSet > ----------------------------------- > > Key: HADOOP-5596 > URL: https://issues.apache.org/jira/browse/HADOOP-5596 > Project: Hadoop Core > Issue Type: Improvement > Components: io > Reporter: He Yongqiang > Assignee: He Yongqiang > Attachments: Hadoop-5596-2009-03-31.patch, > Hadoop-5596-2009-04-03.patch, Hadoop-5596-2009-04-15-2.patch, > Hadoop-5596-2009-04-15.patch, Hadoop-5596-2009-04-24.patch > > > This is a demand for Hadoop-5438. > Also another small improvement is that i saw that in the beginning of > readObject, it tries to get the class from PRIMITIVE_NAMES and then conf. > Maybe it is better to add a direct load after them if the delaredClass is > still null. Like this: > {code} > String className = UTF8.readString(in); > Class<?> declaredClass = PRIMITIVE_NAMES.get(className); > if (declaredClass == null) { > try { > declaredClass = conf.getClassByName(className); > } catch (Exception e) { > } > } > > if(declaredClass == null) { > try { > declaredClass = Class.forName(className); > } catch (ClassNotFoundException e) { > throw new RuntimeException("readObject can't find class " + > className, e); > } > } > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.