You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "tom liu (JIRA)" <ji...@apache.org> on 2010/11/03 07:38:24 UTC

[jira] Created: (HADOOP-7017) ipc.Client.Connection.receiveResponse throws ClassNotFoundException when large requests are sent to RPC.Server

ipc.Client.Connection.receiveResponse throws ClassNotFoundException when large requests are sent to RPC.Server
--------------------------------------------------------------------------------------------------------------

                 Key: HADOOP-7017
                 URL: https://issues.apache.org/jira/browse/HADOOP-7017
             Project: Hadoop Common
          Issue Type: Bug
          Components: ipc
    Affects Versions: 0.20.2
         Environment: JDK1.6/WindowsXP/CygWin/Tomcat6
            Reporter: tom liu


i use solr with katta integration, pls see https://issues.apache.org/jira/browse/SOLR-1395
when i use:
{noformat}
ab -n 100 -c 10 http://localhost:8080/solr/select?q=solr&...
{noformat}

i found solr throws NPE, so, i added some code like below:
{code:title=ipc.Client.Connection|borderStyle=solid}
public void receiveResponse() {
      ...
      try {
           ...
           ...
      } catch (IOException e) {
        markClosed(e);
      } catch (RunTimeException t) {
          LOG.error("Unexpected error reading responses on connection ", t);
          throw t;
      }
    }
{code}

then, i catch the ClassNotFoundException:
{noformat}
java.lang.RuntimeException: readObject can't find class om-SL510?(responseê`?$name...
	at org.apache.hadoop.io.ObjectWritable.readObject(ObjectWritable.java:185)
	at org.apache.hadoop.io.ObjectWritable.readFields(ObjectWritable.java:66)
	at org.apache.hadoop.ipc.Client$Connection.receiveResponse(Client.java:511)
Caused by: java.lang.ClassNotFoundException: om-SL510?(responseê`?$name...
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:247)
	at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:762)
	at org.apache.hadoop.io.ObjectWritable.readObject(ObjectWritable.java:183)
{noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-7017) ipc.Client.Connection.receiveResponse throws ClassNotFoundException when large requests are sent to RPC.Server

Posted by "tom liu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-7017?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12970071#action_12970071 ] 

tom liu commented on HADOOP-7017:
---------------------------------

after this patch, i has been run about one month successfully.

> ipc.Client.Connection.receiveResponse throws ClassNotFoundException when large requests are sent to RPC.Server
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-7017
>                 URL: https://issues.apache.org/jira/browse/HADOOP-7017
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: ipc
>    Affects Versions: 0.20.2
>         Environment: JDK1.6/WindowsXP/CygWin/Tomcat6
>            Reporter: tom liu
>         Attachments: diff.patch
>
>
> i use solr with katta integration, pls see https://issues.apache.org/jira/browse/SOLR-1395
> when i use:
> {noformat}
> ab -n 100 -c 10 http://localhost:8080/solr/select?q=solr&...
> {noformat}
> i found solr throws NPE, so, i added some code like below:
> {code:title=ipc.Client.Connection|borderStyle=solid}
> public void receiveResponse() {
>       ...
>       try {
>            ...
>            ...
>       } catch (IOException e) {
>         markClosed(e);
>       } catch (RunTimeException t) {
>           LOG.error("Unexpected error reading responses on connection ", t);
>           throw t;
>       }
>     }
> {code}
> then, i catch the ClassNotFoundException:
> {noformat}
> java.lang.RuntimeException: readObject can't find class om-SL510?(responseê`?$name...
> 	at org.apache.hadoop.io.ObjectWritable.readObject(ObjectWritable.java:185)
> 	at org.apache.hadoop.io.ObjectWritable.readFields(ObjectWritable.java:66)
> 	at org.apache.hadoop.ipc.Client$Connection.receiveResponse(Client.java:511)
> Caused by: java.lang.ClassNotFoundException: om-SL510?(responseê`?$name...
> 	at java.lang.Class.forName0(Native Method)
> 	at java.lang.Class.forName(Class.java:247)
> 	at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:762)
> 	at org.apache.hadoop.io.ObjectWritable.readObject(ObjectWritable.java:183)
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HADOOP-7017) ipc.Client.Connection.receiveResponse throws ClassNotFoundException when large requests are sent to RPC.Server

Posted by "tom liu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-7017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

tom liu updated HADOOP-7017:
----------------------------

    Attachment: diff.patch

in ipc, the data format that Client send request to servers, is:
{noformat}
      data-length:int,data:byte[data-length]
{noformat}

but, Server send response to client, is:
{noformat}
      callid,state,data
{noformat}

i think the problem is happened when client deserialed data.

so, i changed server and client communication that use request format.
and, i found that did not throw ClassNotFoundException.

but, i am not sure that is the problem.

> ipc.Client.Connection.receiveResponse throws ClassNotFoundException when large requests are sent to RPC.Server
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-7017
>                 URL: https://issues.apache.org/jira/browse/HADOOP-7017
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: ipc
>    Affects Versions: 0.20.2
>         Environment: JDK1.6/WindowsXP/CygWin/Tomcat6
>            Reporter: tom liu
>         Attachments: diff.patch
>
>
> i use solr with katta integration, pls see https://issues.apache.org/jira/browse/SOLR-1395
> when i use:
> {noformat}
> ab -n 100 -c 10 http://localhost:8080/solr/select?q=solr&...
> {noformat}
> i found solr throws NPE, so, i added some code like below:
> {code:title=ipc.Client.Connection|borderStyle=solid}
> public void receiveResponse() {
>       ...
>       try {
>            ...
>            ...
>       } catch (IOException e) {
>         markClosed(e);
>       } catch (RunTimeException t) {
>           LOG.error("Unexpected error reading responses on connection ", t);
>           throw t;
>       }
>     }
> {code}
> then, i catch the ClassNotFoundException:
> {noformat}
> java.lang.RuntimeException: readObject can't find class om-SL510?(responseê`?$name...
> 	at org.apache.hadoop.io.ObjectWritable.readObject(ObjectWritable.java:185)
> 	at org.apache.hadoop.io.ObjectWritable.readFields(ObjectWritable.java:66)
> 	at org.apache.hadoop.ipc.Client$Connection.receiveResponse(Client.java:511)
> Caused by: java.lang.ClassNotFoundException: om-SL510?(responseê`?$name...
> 	at java.lang.Class.forName0(Native Method)
> 	at java.lang.Class.forName(Class.java:247)
> 	at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:762)
> 	at org.apache.hadoop.io.ObjectWritable.readObject(ObjectWritable.java:183)
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.