[CONTROLLER-664] DAtastore: optimize ResolveDataChangeEventTask Created: 06/Aug/14  Updated: 28/Aug/14  Resolved: 28/Aug/14

Status: Resolved
Project: controller
Component/s: mdsal
Affects Version/s: Helium
Fix Version/s: None

Type: Improvement
Reporter: Robert Varga Assignee: Robert Varga
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All



 Description   

Tracing with the prototype codecs points to a new bottleneck. We spend 58% of the time in ResolveDataChangeEventTask.resolveNodeContainerReplaced() (and recursive invocations) – total of 2M of them.

There are some immediate optimizations we can perform, but we need to also think about how can we limit the number of invocations/nesting. One possibility here is to take into account whether there are any listeners on that particular node and what their scope (and the scopes of parent node's listeners) are.

Another possibility is to take the just-committed transaction as a guide, so we understand what were the potential nodes changed.



 Comments   
Comment by Robert Varga [ 20/Aug/14 ]

https://git.opendaylight.org/gerrit/#/c/10061/
https://git.opendaylight.org/gerrit/#/c/10062/
https://git.opendaylight.org/gerrit/#/c/10095/

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