Dan Hecht has posted comments on this change. Change subject: IMPALA-5238: transfer reservations between trackers ......................................................................
Patch Set 5: (6 comments) http://gerrit.cloudera.org:8080/#/c/6708/5/be/src/runtime/bufferpool/reservation-tracker.cc File be/src/runtime/bufferpool/reservation-tracker.cc: Line 237: DCHECK_EQ(path_to_root.back(), other_path_to_root.back()); maybe first dcheck they both aren't empty to support calling back() PS5, Line 253: nit: indentation mismatch Line 274: if (i == other_path_to_root.size() - 1 && curr->parent_ != nullptr) { this path could use a quick explanation Line 278: } why is it okay to add the reservation into the other chain before subtracting it from this chain? i guess we are assuming that this function does not execute concurrently with anything that might consume reservations against the hierarchy, right? is that documented? Line 281: DecreaseReservation(bytes, false, path_to_root.back()); is this always safe while holding 'locks'? Why can't we get into a deadlock if doing a->Transfer(b) and b->Transfer(a) concurrently? http://gerrit.cloudera.org:8080/#/c/6708/5/be/src/runtime/bufferpool/reservation-tracker.h File be/src/runtime/bufferpool/reservation-tracker.h: PS5, Line 194: Decrase typo -- 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: 5 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
