On 01/30/2016 12:42 AM, Jamo Luhrsen wrote:
I was doing some triage on an ofp cluster CSIT and found something I haven't
seen yet.  Is it known?  I don't know if/how it's affecting any test results,
but wanting to point it out asap.

https://jenkins.opendaylight.org/releng/job/openflowplugin-csit-verify-3node-clustering/46/artifact/odl1_karaf.log

2016-01-28 23:26:54,828 | INFO  | lt-dispatcher-43 | DeviceContextImpl          
      | 168 -
org.opendaylight.openflowplugin.impl - 0.2.0.SNAPSHOT | Removing device from 
operational and closing transaction Manager
for device:Uri [_value=openflow:1]
2016-01-28 23:26:54,829 | ERROR | lt-dispatcher-43 | 
EntityOwnershipListenerActor     | 139 -
org.opendaylight.controller.sal-distributed-datastore - 1.3.0.SNAPSHOT | Error 
notifying listener
org.opendaylight.openflowplugin.impl.role.OpenflowOwnershipListener@8524755
java.lang.IllegalStateException: New transaction
PingPongTransaction{delegate=org.opendaylight.controller.cluster.databroker.DOMBrokerReadWriteTransaction@4a6f0de8}
raced with transacion
PingPongTransaction{delegate=org.opendaylight.controller.cluster.databroker.DOMBrokerReadWriteTransaction@49f51394}
[...]
        at
org.opendaylight.openflowplugin.impl.device.TransactionChainManager.cleanupPostClosure(TransactionChainManager.java:207)[168:org.opendaylight.openflowplugin.impl:0.2.0.SNAPSHOT]
        at
org.opendaylight.openflowplugin.impl.device.DeviceContextImpl.onDeviceDisconnectedFromCluster(DeviceContextImpl.java:458)[168:org.opendaylight.openflowplugin.impl:0.2.0.SNAPSHOT]
        at
org.opendaylight.openflowplugin.impl.role.RoleContextImpl.onDeviceDisconnectedFromCluster(RoleContextImpl.java:160)[168:org.opendaylight.openflowplugin.impl:0.2.0.SNAPSHOT]
        at
org.opendaylight.openflowplugin.impl.role.OpenflowOwnershipListener.ownershipChanged(OpenflowOwnershipListener.java:63)[168:org.opendaylight.openflowplugin.impl:0.2.0.SNAPSHOT]
        at
org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnershipListenerActor.onEntityOwnershipChanged(EntityOwnershipListenerActor.java:44)

Unsynchronized use of a TransactionChain. TransactionChainManager is violating the TransactionChain API contract, hence a release-blocking bug. Maybe there is already open around clustering, can you check and if not file one, please?

FWIW, this bug involves two threads -- the other one is probably a netty thread working with the device context (and writing to the data store). Maybe the RoleContextImpl code path is not properly synchronized -- I think DeviceContextImpl requires external locking.

Thanks,
Robert

_______________________________________________
openflowplugin-dev mailing list
[email protected]
https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev

Reply via email to