[YANGTOOLS-1539] Improve InMemoryDataTreeModification state management Created: 04/Sep/23  Updated: 02/Oct/23  Resolved: 02/Oct/23

Status: Resolved
Project: yangtools
Component/s: data-impl
Affects Version/s: None
Fix Version/s: 11.0.3

Type: Improvement Priority: Medium
Reporter: Robert Varga Assignee: Robert Varga
Resolution: Done Votes: 0
Labels: pt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Blocks
is blocked by YANGTOOLS-1537 CME in AbstractNodeContainerModificat... Resolved

 Description   

We are currently tracking only a single boolean state. A typical modification goes through multiple state transitions. For example ready() changes first from OPEN to SEALING and once the seal operation is done it goes to SEALED. DataTreeTip.validate() then expects not only a non-OPEN (for example SEALING) modification, but rather a SEALED one.

The distinction guides state transitions with the explicit acknowledgement that operations may fail, which may require a corrective action, or, as in the case of ready() epilogue throwing a RuntimeException, result in an irrecoverable dead-end. Such dead-ends should be refused to be operated on.


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