[ 
https://issues.apache.org/jira/browse/HADOOP-9440?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tian Hong Wang updated HADOOP-9440:
-----------------------------------

    Description: 
TestIPC runs normally if use protobuf2.4.1 or below version. But if using 
protobuf2.5.0, TestIPC will fail.

java.io.IOException: Failed on local exception: 
com.google.protobuf.InvalidProtocolBufferException: 500 millis timeout while 
waiting for channel to be ready for read. ch : 
java.nio.channels.SocketChannel[connected local=/127.0.0.1:50850 
remote=louis-ThinkPad-T410/127.0.0.1:50353]; Host Details : local host is: 
"louis-ThinkPad-T410/127.0.0.1"; destination host is: 
"louis-ThinkPad-T410":50353;
at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:761)
        at org.apache.hadoop.ipc.Client.call(Client.java:1239)
        at org.apache.hadoop.ipc.Client.call(Client.java:1163)
        at org.apache.hadoop.ipc.TestIPC.testIpcTimeout(TestIPC.java:492)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
        at 
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
        at 
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
        at 
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
        at 
org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
        at 
org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
        at 
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
        at 
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
Caused by: com.google.protobuf.InvalidProtocolBufferException: 500 millis 
timeout while waiting for channel to be ready for read. ch : 
java.nio.channels.SocketChannel[connected local=/127.0.0.1:50850 
remote=louis-ThinkPad-T410/127.0.0.1:50353]
        at 
com.google.protobuf.AbstractParser.parsePartialDelimitedFrom(AbstractParser.java:238)
        at 
com.google.protobuf.AbstractParser.parseDelimitedFrom(AbstractParser.java:253)
        at 
com.google.protobuf.AbstractParser.parseDelimitedFrom(AbstractParser.java:259)
        at 
com.google.protobuf.AbstractParser.parseDelimitedFrom(AbstractParser.java:49)
        at 
org.apache.hadoop.ipc.protobuf.RpcPayloadHeaderProtos$RpcResponseHeaderProto.parseDelimitedFrom(RpcPayloadHeaderProtos.java:1434)
        at 
org.apache.hadoop.ipc.Client$Connection.receiveResponse(Client.java:946)
        at org.apache.hadoop.ipc.Client$Connection.run(Client.java:844)

TestIPC fails because it catches the  
com.google.protobuf.InvalidProtocolBufferException not SocketTimeoutException.

  was:
TestIPC runs normally if use protobuf2.4.1 or below version. But if using 
protobuf2.5.0, TestIPC will fail.

java.io.IOException: Failed on local exception: 
com.google.protobuf.InvalidProtocolBufferException: 500 millis timeout while 
waiting for channel to be ready for read. ch : 
java.nio.channels.SocketChannel[connected local=/127.0.0.1:50850 
remote=louis-ThinkPad-T410/127.0.0.1:50353]; Host Details : local host is: 
"louis-ThinkPad-T410/127.0.0.1"; destination host is: 
"louis-ThinkPad-T410":50353;

TestIPC fails because it catches the  
com.google.protobuf.InvalidProtocolBufferException not SocketTimeoutException.

    
> Unit Test: hadoop-common2.0.3 TestIPC fails on protobuf2.5.0+
> -------------------------------------------------------------
>
>                 Key: HADOOP-9440
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9440
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: test
>    Affects Versions: 2.0.3-alpha
>            Reporter: Tian Hong Wang
>              Labels: patch
>             Fix For: 2.0.3-alpha
>
>         Attachments: HADOOP-9440.patch
>
>
> TestIPC runs normally if use protobuf2.4.1 or below version. But if using 
> protobuf2.5.0, TestIPC will fail.
> java.io.IOException: Failed on local exception: 
> com.google.protobuf.InvalidProtocolBufferException: 500 millis timeout while 
> waiting for channel to be ready for read. ch : 
> java.nio.channels.SocketChannel[connected local=/127.0.0.1:50850 
> remote=louis-ThinkPad-T410/127.0.0.1:50353]; Host Details : local host is: 
> "louis-ThinkPad-T410/127.0.0.1"; destination host is: 
> "louis-ThinkPad-T410":50353;
> at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:761)
>       at org.apache.hadoop.ipc.Client.call(Client.java:1239)
>       at org.apache.hadoop.ipc.Client.call(Client.java:1163)
>       at org.apache.hadoop.ipc.TestIPC.testIpcTimeout(TestIPC.java:492)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
>       at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>       at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>       at 
> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
>       at 
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
>       at 
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
>       at 
> org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
>       at 
> org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
> Caused by: com.google.protobuf.InvalidProtocolBufferException: 500 millis 
> timeout while waiting for channel to be ready for read. ch : 
> java.nio.channels.SocketChannel[connected local=/127.0.0.1:50850 
> remote=louis-ThinkPad-T410/127.0.0.1:50353]
>       at 
> com.google.protobuf.AbstractParser.parsePartialDelimitedFrom(AbstractParser.java:238)
>       at 
> com.google.protobuf.AbstractParser.parseDelimitedFrom(AbstractParser.java:253)
>       at 
> com.google.protobuf.AbstractParser.parseDelimitedFrom(AbstractParser.java:259)
>       at 
> com.google.protobuf.AbstractParser.parseDelimitedFrom(AbstractParser.java:49)
>       at 
> org.apache.hadoop.ipc.protobuf.RpcPayloadHeaderProtos$RpcResponseHeaderProto.parseDelimitedFrom(RpcPayloadHeaderProtos.java:1434)
>       at 
> org.apache.hadoop.ipc.Client$Connection.receiveResponse(Client.java:946)
>       at org.apache.hadoop.ipc.Client$Connection.run(Client.java:844)
> TestIPC fails because it catches the  
> com.google.protobuf.InvalidProtocolBufferException not SocketTimeoutException.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to