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

Mark Combellack reopened TUSCANY-2069:
--------------------------------------


The fix is actually causing a Null PointerException in the Unit Tests for 
databinding.

Running org.apache.tuscany.sca.databinding.impl.DirectedGraphTestCase
Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.352 sec <<< 
FAILURE!
testGraph(org.apache.tuscany.sca.databinding.impl.DirectedGraphTestCase)  Time 
elapsed: 0.244 sec  <<< ERROR!
java.lang.NullPointerException
        at 
java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:846)
        at 
org.apache.tuscany.sca.databinding.impl.DirectedGraph.getShortestPath(DirectedGraph.java:319)
        at 
org.apache.tuscany.sca.databinding.impl.DirectedGraphTestCase.testGraph(DirectedGraphTestCase.java:79)
        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:585)
        at junit.framework.TestCase.runTest(TestCase.java:168)
        at junit.framework.TestCase.runBare(TestCase.java:134)
        at junit.framework.TestResult$1.protect(TestResult.java:110)
        at junit.framework.TestResult.runProtected(TestResult.java:128)
        at junit.framework.TestResult.run(TestResult.java:113)
        at junit.framework.TestCase.run(TestCase.java:124)
        at junit.framework.TestSuite.runTest(TestSuite.java:232)
        at junit.framework.TestSuite.run(TestSuite.java:227)
        at 
org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
        at 
org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
        at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
        at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:125)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
        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:585)
        at 
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:308)
        at 
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:879)




This is caused by the type of the collection chainging from HashMap to 
ConcurrentHashMap. The difference is that a HashMap will allow null key and 
values whereas a ConcurrentHashMap does not.

The test is attempting to add a null as a value for one of the keys.

To get this to build, I am going to add a null check around the offending point 
so it does not attempt to put a null in the ConcurrentHashMap.

> Missing serialization in DirectedGraph
> --------------------------------------
>
>                 Key: TUSCANY-2069
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2069
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Data Binding Runtime
>    Affects Versions: Java-SCA-1.0.1
>            Reporter: Greg Dritschler
>            Assignee: Raymond Feng
>             Fix For: Java-SCA-Next
>
>
> I have a service with a web service binding that processes its input using an 
> SDO.  The service works fine with one client.  It also works fine if it is 
> driven once by one client and then driven by multiple clients.  But if it is 
> driven initially by multiple clients (2 is enough), various failures occur in 
> org.apache.tuscany.sca.databinding.impl.DirectedGraph.  It appears there is a 
> lack of synchronization in this class.
> Failure 1 - NPE
> java.lang.NullPointerException
>       at 
> org.apache.tuscany.sca.databinding.impl.DirectedGraph$Node.access$400(DirectedGraph.java:188)
>       at 
> org.apache.tuscany.sca.databinding.impl.DirectedGraph.getShortestPath(DirectedGraph.java:314)
>       at 
> org.apache.tuscany.sca.databinding.DefaultTransformerExtensionPoint.getTransformerChain(DefaultTransformerExtensionPoint.java:302)
>       at 
> org.apache.tuscany.sca.databinding.impl.MediatorImpl.getTransformerChain(MediatorImpl.java:162)
>       at 
> org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:76)
>       at 
> org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:183)
>       at 
> org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:59)
>       at 
> org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:88)
>       at 
> org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.transform(DataTransformationInterceptor.java:192)
>       at 
> org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:89)
>       at 
> com.ibm.ws.soa.sca.runtime.impl.RuntimeExtensionManager.invokeNextInterceptor(RuntimeExtensionManager.java:211)
>       at 
> com.ibm.ws.soa.sca.runtime.impl.RuntimeExtensionManager.processMessage(RuntimeExtensionManager.java:96)
>       at 
> com.ibm.ws.soa.sca.runtime.impl.RuntimeTuscanyInterceptor.invoke(RuntimeTuscanyInterceptor.java:154)
>       at 
> org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvider.invokeTarget(Axis2ServiceProvider.java:852)
>       at 
> org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceInOutSyncMessageReceiver.invokeBusinessLogic(Axis2ServiceInOutSyncMessageReceiver.java:119)
>       at 
> org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:42)
>       at 
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
>       at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:147)
>       at 
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
> Failure 2 - timeout (code is probably looping)
> WTRN0124I: When the timeout occurred the thread with which the transaction 
> is, or was most recently, associated was Thread[WebContainer : 0,5,main]. The 
> stack trace of this thread when the timeout occurred was: 
>       java.util.HashMap.findNonNullKeyEntry(Unknown Source)
>       java.util.HashMap.putImpl(Unknown Source)
>       java.util.HashMap.put(Unknown Source)
>       
> org.apache.tuscany.sca.databinding.impl.DirectedGraph.getShortestPath(DirectedGraph.java:296)
>       
> org.apache.tuscany.sca.databinding.DefaultTransformerExtensionPoint.getTransformerChain(DefaultTransformerExtensionPoint.java:302)
>       
> org.apache.tuscany.sca.databinding.impl.MediatorImpl.getTransformerChain(MediatorImpl.java:162)
>       
> org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:76)
>       
> org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:183)
>       
> org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:59)
>       
> org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:88)
>       
> org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.transform(DataTransformationInterceptor.java:192)
>       
> org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:89)
>       
> com.ibm.ws.soa.sca.runtime.impl.RuntimeExtensionManager.invokeNextInterceptor(RuntimeExtensionManager.java:211)
>       
> com.ibm.ws.soa.sca.runtime.impl.RuntimeExtensionManager.processMessage(RuntimeExtensionManager.java:96)
>       
> com.ibm.ws.soa.sca.runtime.impl.RuntimeTuscanyInterceptor.invoke(RuntimeTuscanyInterceptor.java:154)
>       
> org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvider.invokeTarget(Axis2ServiceProvider.java:852)
>       
> org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceInOutSyncMessageReceiver.invokeBusinessLogic(Axis2ServiceInOutSyncMessageReceiver.java:119)
>       
> org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:42)
>       
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
>       org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:147)
>       
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)

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


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to