[NEUTRON-118] Broken retry logic in updateMd() using transaction chain Created: 30/Mar/16  Updated: 30/Mar/16  Resolved: 30/Mar/16

Status: Resolved
Project: neutron
Component/s: transcriber
Affects Version/s: unspecified
Fix Version/s: None

Type: Bug
Reporter: Anil Vishnoi Assignee: Anil Vishnoi
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issue Links:
Duplicate
duplicates NEUTRON-92 Server error with transaction chain f... Resolved
External issue ID: 5621

 Description   

Retry logic present at the following location is not correct.

https://github.com/opendaylight/neutron/blob/master/transcriber/src/main/java/org/opendaylight/neutron/transcriber/AbstractNeutronInterface.java#L172

Whenever a transaction fails, it will mark the transaction chain as failed, so any retry using the same transaction chain will fail, because cluster data broker check transaction chain state before submitting any new transaction.

https://github.com/opendaylight/controller/blob/master/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/DOMBrokerTransactionChain.java#L84

So with the current logic, if the first attempt fails, consecutive attempt will also fail.



 Comments   
Comment by Anil Vishnoi [ 30/Mar/16 ]

To fix this, it should create new transaction chain before re-attempting the transaction.

Comment by Anil Vishnoi [ 30/Mar/16 ]

stable/beryllium : https://git.opendaylight.org/gerrit/#/c/36854/1

Generated at Wed Feb 07 20:25:36 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.