[MDSAL-849] Integrate mdsal-binding-util into mdsal-binding-api Created: 11/Dec/23  Updated: 15/Jan/24

Status: Confirmed
Project: mdsal
Component/s: Binding API, Binding runtime
Affects Version/s: None
Fix Version/s: 14.0.0

Type: Improvement Priority: High
Reporter: Robert Varga Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: pick-next, pt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

mdsal-binding-util contains two important things:

  1. TypedTransaction which is bound to a particular datastore
  2. ManagedTransactionFactory which mimics how JTA works

The first item is really our preferred API: we no longer allow a transaction to span multiple LogicalDatastoreTypes anyway. Unfortunately DataBroker still has the API still pretends this something that is possible. Integrating these will provide the interaction model for DOM, allowing us to plot a migration path.

The second item is less important from API evolution perspective, but is important from user friendliness – developers familiar with JTA have real problem understanding the fundamental difference in OpenDaylight transaction model. Having these at their fingertips has the potential to make understanding things easier.

Split up and integrate mdsal-binding-util, so that TypedTransaction (perhaps as DatastoreTransaction?) is in mdsal.binding.api.datastore. The Datastore thing should be NMDA-enabled, i.e. use the generated identities from ietf-datastores.

The JTA thing will need to be evaluated, perhaps it should go to binding.api.datastore.managed, or the implementation should be part of mdsal-binding-dom-adapter?


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