You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Hairong Kuang (JIRA)" <ji...@apache.org> on 2006/06/01 20:41:32 UTC

[jira] Commented: (HADOOP-217) IllegalAcessException when creating a Block object via WritableFactories

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

Hairong Kuang commented on HADOOP-217:
--------------------------------------

The exception occurs when we restart dfs after the namenode is reformated. The namenode starts as an empty file system so the Block class is loaded. When the name node receives block reports containing blocks from the previous file system, it throws the exception.

To avoid this, we can either make the Block class public or explicitly load the class in NameNode.

> 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