[ 
https://issues.apache.org/jira/browse/GEODE-481?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15135398#comment-15135398
 ] 

Jason Huynh commented on GEODE-481:
-----------------------------------

This is failing when a function is routed to a server and then the function 
itself is executed on local and remote nodes.  When the remote node throws a 
function exception, the error handling takes a different path than when the 
local node fails.  It ends up sending a value that does not deserialize 
properly on the client and it reports that the socket was unable to connect.

The error is propagated to cmdExecute and this is sending something the client 
does not like.

In the local failure case, it is caught in AbstractExecution and handled with 
the handle exception in that class instead.  Now to figure out what the 
difference is between the two...

> CI failure: 
> QueryUsingFunctionContextDUnitTest.testQueriesWithFilterKeysOnPRWithBucketDestroy
> ---------------------------------------------------------------------------------------------
>
>                 Key: GEODE-481
>                 URL: https://issues.apache.org/jira/browse/GEODE-481
>             Project: Geode
>          Issue Type: Bug
>          Components: querying
>            Reporter: Sai Boorlagadda
>            Assignee: Jason Huynh
>              Labels: CI
>
> {noformat}
> Error Message
> dunit.RMIException: While invoking 
> com.gemstone.gemfire.cache.query.dunit.QueryUsingFunctionContextDUnitTest$10.run
>  in VM 3 running on Host japan.gemstone.com with 4 VMs
> Stacktrace
> dunit.RMIException: While invoking 
> com.gemstone.gemfire.cache.query.dunit.QueryUsingFunctionContextDUnitTest$10.run
>  in VM 3 running on Host japan.gemstone.com with 4 VMs
>       at dunit.VM.invoke(VM.java:360)
>       at dunit.VM.invoke(VM.java:303)
>       at dunit.VM.invoke(VM.java:257)
>       at 
> com.gemstone.gemfire.cache.query.dunit.QueryUsingFunctionContextDUnitTest.testQueriesWithFilterKeysOnPRWithBucketDestroy(QueryUsingFunctionContextDUnitTest.java:386)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:497)
>       at junit.framework.TestCase.runTest(TestCase.java:176)
>       at junit.framework.TestCase.runBare(TestCase.java:141)
>       at junit.framework.TestResult$1.protect(TestResult.java:122)
>       at junit.framework.TestResult.runProtected(TestResult.java:142)
>       at junit.framework.TestResult.run(TestResult.java:125)
>       at junit.framework.TestCase.run(TestCase.java:129)
>       at junit.framework.TestSuite.runTest(TestSuite.java:252)
>       at junit.framework.TestSuite.run(TestSuite.java:247)
>       at 
> org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:86)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:64)
>       at 
> org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:50)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:497)
>       at 
> org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
>       at 
> org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>       at 
> org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
>       at 
> org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
>       at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
>       at 
> org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:106)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:497)
>       at 
> org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
>       at 
> org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>       at 
> org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:360)
>       at 
> org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> Caused by: junit.framework.AssertionFailedError: Should have received an 
> QueryInvocationTargetException but 
> recievedcom.gemstone.gemfire.cache.client.ServerConnectivityException: Pool 
> unexpected IOException connection=Pooled Connection to 
> japan.gemstone.com:25754: Connection[DESTROYED]). Server unreachable: could 
> not connect after 1 attempts
>       at junit.framework.Assert.fail(Assert.java:57)
>       at junit.framework.TestCase.fail(TestCase.java:227)
>       at 
> com.gemstone.gemfire.cache.query.dunit.QueryUsingFunctionContextDUnitTest$10.run2(QueryUsingFunctionContextDUnitTest.java:410)
>       at 
> com.gemstone.gemfire.cache30.CacheSerializableRunnable.run(CacheSerializableRunnable.java:46)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:497)
>       at hydra.MethExecutor.executeObject(MethExecutor.java:258)
>       at 
> dunit.standalone.RemoteDUnitVM.executeMethodOnObject(RemoteDUnitVM.java:68)
>       at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:497)
>       at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323)
>       at sun.rmi.transport.Transport$1.run(Transport.java:200)
>       at sun.rmi.transport.Transport$1.run(Transport.java:197)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
>       at 
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
>       at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
>       at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$241(TCPTransport.java:683)
>       at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$1/1242147135.run(Unknown
>  Source)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
>       ... 3 more
> Standard Output
> Previously run tests: 
> [InitializeIndexEntryDestroyQueryDUnitTest, 
> QueryParamsAuthorizationDUnitTest, 
> CompactRangeIndexDUnitTest, QueryUsingFunctionContextDUnitTest]
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to