[NETCONF-327] Incorrect handling of device transactions in clustered setting Created: 05/Dec/16 Updated: 15/Mar/19 Resolved: 17/Feb/17 |
|
| Status: | Resolved |
| Project: | netconf |
| Component/s: | netconf |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Jakub Morvay | Assignee: | Jakub Morvay |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| External issue ID: | 7295 |
| Description |
|
In clustered setting mount point's transactions are delegated to one node in cluster and that node actually configures the device. The implementation however depends only on one write transaction at a time. So the delegated calls can interleave together, for example one node can submit transaction of the other node, etc. |
| Comments |
| Comment by Vladimir Lavor [ 05/Dec/16 ] |
|
The log error looks like re-usage of closed transaction. Example: : Transaction org.opendaylight.netconf.sal.connect.netconf.sal.tx.WriteCandidateTx@395c290c already finished Cannot reliably reproduce, appears randomly when transaction.put/read/delete/submit etc. us used. Possible workaround is to close existing transaction and create a new one when this error is caught - this helps in most cases. Also ensure that only one netconf transaction is opened at a time. Tested with netconf-clustered-topology |
| Comment by Jakub Morvay [ 05/Dec/16 ] |
|
I think, the one reliable workaround is to have just one transaction open at once. |
| Comment by Robert Varga [ 06/Dec/16 ] |
|
Please report full exception stack. |
| Comment by Robert Varga [ 06/Dec/16 ] |
|
Without the stack trace, it is quite hard to track down what exactly is happening and what triggered the ISE. |
| Comment by Vladimir Lavor [ 06/Dec/16 ] |
|
Full exception stack: 2016-11-30 16:35:16,896 | ERROR | on-dispatcher-78 | DataTreeChangeListenerActor | 205 - org.opendaylight.controller.sal-clustering-commons - 1.5.0.SNAPSHOT | Error notifying listener org.opendaylight.controller.md.sal.binding.impl.BindingClusteredDOMDataTreeChangeListenerAdapter@8aec786 : Transaction org.opendaylight.netconf.sal.connect.netconf.sal.tx.WriteCandidateTx@4dac5057 already finished |
| Comment by Jakub Morvay [ 14/Feb/17 ] |
|
|
| Comment by Jakub Morvay [ 14/Feb/17 ] |
|
(In reply to Jakub Morvay from comment #6) Sorry for invalid comment.. |