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