[
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.