hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tsz Wo (Nicholas), SZE (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-5596) Make ObjectWritable support EnumSet
Date Tue, 28 Apr 2009 23:01:30 GMT

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

Tsz Wo (Nicholas), SZE commented on HADOOP-5596:
------------------------------------------------

> i suspose we need to throw an exception when serialize an empty EnumSet?

How about adding the type information to EnumSetWritable like the EnumSet implemention?
{code}
    private Class<E> elementType;
{code}


On a second thought, we don't really need EnumSetWritable.  We may convert the EnumSet to
an array and serialize the array in RPC.  This approach may be simpler.

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


Mime
View raw message