[ 
http://issues.apache.org/jira/browse/HADOOP-217?page=comments#action_12413899 ] 

Sameer Paranjpye commented on HADOOP-217:
-----------------------------------------

This does not appear to hamper normal DFS operation in any way. Looks like the 
Block constructor is registered as a writable factory but is not public. Does 
it need to be? Should Block objects ever be constructed this way?

This needs further investigation, making the constructor public just addresses 
the symptom, not the problem IMO. Need to figure out what part of the code is 
trying to create blocks through a writable factory, and should it be doing that 
or something different?



> IllegalAcessException when creating a Block object via WritableFactories
> ------------------------------------------------------------------------
>
>          Key: HADOOP-217
>          URL: http://issues.apache.org/jira/browse/HADOOP-217
>      Project: Hadoop
>         Type: Bug

>   Components: dfs
>     Versions: 0.3
>     Reporter: Hairong Kuang
>     Assignee: Hairong Kuang
>      Fix For: 0.4
>  Attachments: access.patch
>
> When I ran the dfs namenode, I received an error message listed below. 
> Changing Block class to be public will be able to fix the problem.
> java.lang.RuntimeException: java.lang.IllegalAccessException: Class 
> org.apache.hadoop.io.WritableFactories can not access a member of class 
> org.apache.hadoop.dfs.Block with modifiers "public"
> java.lang.RuntimeException: java.lang.IllegalAccessException: Class 
> org.apache.hadoop.io.WritableFactories can not access a member of class 
> org.apache.hadoop.dfs.Block with modifiers "public"
>         at 
> org.apache.hadoop.io.WritableFactories.newInstance(WritableFactories.java:49)
>         at 
> org.apache.hadoop.io.ObjectWritable.readObject(ObjectWritable.java:226)
>         at 
> org.apache.hadoop.io.ObjectWritable.readObject(ObjectWritable.java:163)
>         at 
> org.apache.hadoop.io.ObjectWritable.readObject(ObjectWritable.java:211)
>         at org.apache.hadoop.ipc.RPC$Invocation.readFields(RPC.java:88)
>         at org.apache.hadoop.ipc.Server$Connection.run(Server.java:154)
> Caused by: java.lang.IllegalAccessException: Class 
> org.apache.hadoop.io.WritableFactories can not access a member of class 
> org.apache.hadoop.dfs.Block with modifiers "public"
>         at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)
>         at java.lang.Class.newInstance0(Class.java:344)
>         at java.lang.Class.newInstance(Class.java:303)
>         at 
> org.apache.hadoop.io.WritableFactories.newInstance(WritableFactories.java:45)
>         ... 5 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to