Dear devs, I have a question regarding the opTracker. Currently, we initialize one opTracker per dataset in every NC.
My question is why it's per dataset not per partition ? Is there a transactional constraints for that ? >From what I can see that the opTracker can create a lot of contention in case there're many IO devices. For instance, each insert will call *LSMHarness.getAndEnterComponents()* [1], which *synchronize(opTracker). *That means (correct me if I'm wrong), insert is going to serialize the *enterComponent()* part among partitions. [1] https://github.com/apache/asterixdb/blob/master/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMHarness.java#L86 -- *Regards,* Wail Alkowaileet
