[CONTROLLER-1237] Exception - node was replaced with other transaction when changing same data in multiple threads Created: 07/Apr/15  Updated: 19/May/15  Resolved: 19/May/15

Status: Resolved
Project: controller
Component/s: netconf
Affects Version/s: Post-Helium
Fix Version/s: None

Type: Bug
Reporter: Andrej Marcinek Assignee: Tomas Cere
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File file_2952.txt    
External issue ID: 2952

 Description   

When more threads wants to edit same data (or data in same place) in one time, then exception occurs. see attachment

used master build from 31/3/2015 with enabled TCP. client is connected to md-sal over TCP through telnet



 Comments   
Comment by Andrej Marcinek [ 07/Apr/15 ]

Attachment file_2952.txt has been added with description: odl log

Comment by Maros Marsalek [ 07/Apr/15 ]

This applies for md-sal netconf northbound and is caused by the edit-config rpc implementation. Each edit-config is a replace on its entire parent node and this causes conflicting commits even if separate subtrees are modified.

To fix this, we need to handle edit-configs in a different way. Right now edit-config rpc reads a subtree from datastore, merges the content of edit-config execution using NetconfOperations from yangtools and replaces pre-existing data with the result.

Realistic target milestone has to be set according to initial discussion/analysis.

Comment by Tomas Cere [ 30/Apr/15 ]

Different implementation of the writes to datastore in EditConfig fixes this,
master:
https://git.opendaylight.org/gerrit/#/c/18632/
stable/lithium:
https://git.opendaylight.org/gerrit/#/c/19226/

Generated at Wed Feb 07 19:55:01 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.