Tim Armstrong has posted comments on this change. Change subject: IMPALA-5238: transfer reservations between trackers ......................................................................
Patch Set 6: (1 comment) http://gerrit.cloudera.org:8080/#/c/6708/6/be/src/runtime/bufferpool/reservation-tracker.h File be/src/runtime/bufferpool/reservation-tracker.h: PS6, Line 232: subtrees > I don't understand that, given that locks need to be acquired from bottom t Right, before the lock order was only a partial order - if neither tracker is an ancestor of the other you don't know which should be acquired first. E.g. below C precedes B and E precedes D, and B and D precede A, but you can't acquire all the locks because it's not determined whether you acquire locks on the B branch first or the D branch first. A / \ B D / \ C E My proposal was to define an order on the children of A, e.g. to define that B precedes D. Then the total order is C->B->E->D->A If you have more complicated trees (not just two paths) you can apply the rule recursively. Assuming F precedes E, we get C->B->G->F->E->D->A A / \ B D / /\ C F E / G -- To view, visit http://gerrit.cloudera.org:8080/6708 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I21f008abaf1aa4fcd2d854769a603b97589af3b3 Gerrit-PatchSet: 6 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim Armstrong <[email protected]> Gerrit-Reviewer: Dan Hecht <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]> Gerrit-HasComments: Yes
