[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 |
||
| Attachments: |
|
| 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, |