[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size, pt2
Impala Public Jenkins has submitted this change and it was merged. Change subject: IMPALA-4833: Compute precise per-host reservation size, pt2 .. IMPALA-4833: Compute precise per-host reservation size, pt2 Addresses some comments from the CR: https://gerrit.cloudera.org/#/c/7630/8 Notably changes the name of initial_reservation_total_bytes to initial_reservation_total_claims and attempts to clarify comments. Change-Id: I1391d99ca15d2ebcaabd564fbe1242806be09f72 Reviewed-on: http://gerrit.cloudera.org:8080/7681 Reviewed-by: Dan HechtTested-by: Impala Public Jenkins --- M be/src/runtime/coordinator-backend-state.cc M be/src/runtime/query-state.cc M be/src/scheduling/query-schedule.h M be/src/scheduling/scheduler.cc M common/thrift/ImpalaInternalService.thrift M common/thrift/Planner.thrift M fe/src/main/java/org/apache/impala/planner/PlanFragment.java 7 files changed, 39 insertions(+), 27 deletions(-) Approvals: Impala Public Jenkins: Verified Dan Hecht: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/7681 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I1391d99ca15d2ebcaabd564fbe1242806be09f72 Gerrit-PatchSet: 3 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew Jacobs Gerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Matthew Jacobs
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size, pt2
Impala Public Jenkins has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size, pt2 .. Patch Set 2: Verified+1 -- To view, visit http://gerrit.cloudera.org:8080/7681 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I1391d99ca15d2ebcaabd564fbe1242806be09f72 Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Matthew Jacobs Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size, pt2
Impala Public Jenkins has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size, pt2 .. Patch Set 2: Build started: https://jenkins.impala.io/job/gerrit-verify-dryrun/1095/ -- To view, visit http://gerrit.cloudera.org:8080/7681 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I1391d99ca15d2ebcaabd564fbe1242806be09f72 Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Matthew Jacobs Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size, pt2
Dan Hecht has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size, pt2 .. Patch Set 2: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/7681 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I1391d99ca15d2ebcaabd564fbe1242806be09f72 Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Matthew Jacobs Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size, pt2
Hello Dan Hecht, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/7681 to look at the new patch set (#2). Change subject: IMPALA-4833: Compute precise per-host reservation size, pt2 .. IMPALA-4833: Compute precise per-host reservation size, pt2 Addresses some comments from the CR: https://gerrit.cloudera.org/#/c/7630/8 Notably changes the name of initial_reservation_total_bytes to initial_reservation_total_claims and attempts to clarify comments. Change-Id: I1391d99ca15d2ebcaabd564fbe1242806be09f72 --- M be/src/runtime/coordinator-backend-state.cc M be/src/runtime/query-state.cc M be/src/scheduling/query-schedule.h M be/src/scheduling/scheduler.cc M common/thrift/ImpalaInternalService.thrift M common/thrift/Planner.thrift M fe/src/main/java/org/apache/impala/planner/PlanFragment.java 7 files changed, 39 insertions(+), 27 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/81/7681/2 -- To view, visit http://gerrit.cloudera.org:8080/7681 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I1391d99ca15d2ebcaabd564fbe1242806be09f72 Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Matthew Jacobs
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size, pt2
Matthew Jacobs has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size, pt2 .. Patch Set 1: > This looks good to me, but let's still discuss. I made some notes from a back-channel communication. Potential improvements/changes: 1) Consider renaming min_reservation_bytes -> initial_reservation_bytes? This isn't obviously the right thing to unless we also change resource_profile_.min_reservation, and I don't think anyone feels strongly about that. 2) look into removing initial_reservation_bytes on the thrift structures. I.e. because it's a basically trivially calculation, compute it in the BE. This is interesting to me because the concept doesn't really make sense outside of the implementation in initial-reservation.cc so it's not ideal to keep in the very visible thrift structures. That said, Tim has pointed out that it does make sense for the FE to compute as much as possible, and for the BE to plumb it through. I'm on the fence, but I'll leave it for now and just try to improve the comments we have. -- To view, visit http://gerrit.cloudera.org:8080/7681 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I1391d99ca15d2ebcaabd564fbe1242806be09f72 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Matthew Jacobs Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size, pt2
Dan Hecht has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size, pt2 .. Patch Set 1: Code-Review+1 This looks good to me, but let's still discuss. -- To view, visit http://gerrit.cloudera.org:8080/7681 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I1391d99ca15d2ebcaabd564fbe1242806be09f72 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Dan Hecht Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size, pt2
Matthew Jacobs has uploaded a new change for review. http://gerrit.cloudera.org:8080/7681 Change subject: IMPALA-4833: Compute precise per-host reservation size, pt2 .. IMPALA-4833: Compute precise per-host reservation size, pt2 Addresses some comments from the CR: https://gerrit.cloudera.org/#/c/7630/8 Notably changes the name of initial_reservation_total_bytes to initial_reservation_total_claims and attempts to clarify comments. Change-Id: I1391d99ca15d2ebcaabd564fbe1242806be09f72 --- M be/src/runtime/coordinator-backend-state.cc M be/src/runtime/query-state.cc M be/src/scheduling/query-schedule.h M be/src/scheduling/scheduler.cc M common/thrift/ImpalaInternalService.thrift M common/thrift/Planner.thrift M fe/src/main/java/org/apache/impala/planner/PlanFragment.java 7 files changed, 36 insertions(+), 26 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/81/7681/1 -- To view, visit http://gerrit.cloudera.org:8080/7681 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1391d99ca15d2ebcaabd564fbe1242806be09f72 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew Jacobs
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Dan Hecht has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size .. Patch Set 8: (6 comments) http://gerrit.cloudera.org:8080/#/c/7630/8/be/src/scheduling/query-schedule.h File be/src/scheduling/query-schedule.h: PS8, Line 56: fragments instances Line 57: // instance_params. I think this comment lost some information compared to the equivalent comments in the old code. From the comment, it's hard to know whether this is the minimum over all instances of the reservation, or the total of all the minimums. It would help to explain what this is conceptually. PS8, Line 62: initial_reservation_total_bytes I found that having the word "claim" in the old equivalent members made it easier to keep track of what this was, since "total" can be so vague. http://gerrit.cloudera.org:8080/#/c/7630/8/common/thrift/Frontend.thrift File common/thrift/Frontend.thrift: PS8, Line 399: in the case all fragments are scheduled on all hosts with : // max DOP given that this patch is addressing the overestimation, why do we compute this overestimate? http://gerrit.cloudera.org:8080/#/c/7630/8/common/thrift/ImpalaInternalService.thrift File common/thrift/ImpalaInternalService.thrift: PS8, Line 483: fragments in fragment_ctxs is it over fragments or instances? if fragments and not instances, how does that work out? PS8, Line 490: initial_reservation_total_bytes same comment -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 8 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Lars Volker Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Impala Public Jenkins has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size .. Patch Set 7: Verified+1 -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 7 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Lars Volker Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Impala Public Jenkins has submitted this change and it was merged. Change subject: IMPALA-4833: Compute precise per-host reservation size .. IMPALA-4833: Compute precise per-host reservation size Before this change, the per-host reservation size was computed by the Planner. However, scheduling happens after planning, so the Planner must assume that all fragments run on all hosts, and the reservation size is likely much larger than it needs to be. This moves the computation of the per-host reservation size to the BE where it can be computed more precisely. This also includes a number of plan/profile changes. Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Reviewed-on: http://gerrit.cloudera.org:8080/7630 Reviewed-by: Matthew JacobsTested-by: Impala Public Jenkins --- M be/src/runtime/coordinator-backend-state.cc M be/src/runtime/coordinator-backend-state.h M be/src/runtime/coordinator.cc M be/src/runtime/query-state.cc M be/src/scheduling/admission-controller.cc M be/src/scheduling/query-schedule.cc M be/src/scheduling/query-schedule.h M be/src/scheduling/scheduler-test-util.cc M be/src/scheduling/scheduler.cc M be/src/scheduling/scheduler.h M be/src/service/client-request-state.cc M be/src/service/impala-server.cc M common/thrift/Frontend.thrift M common/thrift/ImpalaInternalService.thrift M common/thrift/Planner.thrift M fe/src/main/java/org/apache/impala/planner/PlanFragment.java M fe/src/main/java/org/apache/impala/planner/Planner.java M testdata/workloads/functional-planner/queries/PlannerTest/disable-codegen.test M testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test M testdata/workloads/functional-planner/queries/PlannerTest/spillable-buffer-sizing.test M testdata/workloads/functional-query/queries/QueryTest/explain-level0.test M testdata/workloads/functional-query/queries/QueryTest/explain-level1.test M testdata/workloads/functional-query/queries/QueryTest/explain-level2.test M testdata/workloads/functional-query/queries/QueryTest/explain-level3.test M testdata/workloads/functional-query/queries/QueryTest/stats-extrapolation.test M tests/custom_cluster/test_coordinators.py A tests/custom_cluster/test_mem_reservations.py 27 files changed, 390 insertions(+), 241 deletions(-) Approvals: Impala Public Jenkins: Verified Matthew Jacobs: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 8 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew Jacobs Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Lars Volker Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Impala Public Jenkins has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size .. Patch Set 7: Build started: https://jenkins.impala.io/job/gerrit-verify-dryrun/1044/ -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 7 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Lars Volker Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Matthew Jacobs has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size .. Patch Set 7: Code-Review+2 ... and a BE test needed to be updated after the #include was removed from query-schedule.h -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 7 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Lars Volker Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Hello Impala Public Jenkins, Tim Armstrong, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/7630 to look at the new patch set (#7). Change subject: IMPALA-4833: Compute precise per-host reservation size .. IMPALA-4833: Compute precise per-host reservation size Before this change, the per-host reservation size was computed by the Planner. However, scheduling happens after planning, so the Planner must assume that all fragments run on all hosts, and the reservation size is likely much larger than it needs to be. This moves the computation of the per-host reservation size to the BE where it can be computed more precisely. This also includes a number of plan/profile changes. Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac --- M be/src/runtime/coordinator-backend-state.cc M be/src/runtime/coordinator-backend-state.h M be/src/runtime/coordinator.cc M be/src/runtime/query-state.cc M be/src/scheduling/admission-controller.cc M be/src/scheduling/query-schedule.cc M be/src/scheduling/query-schedule.h M be/src/scheduling/scheduler-test-util.cc M be/src/scheduling/scheduler.cc M be/src/scheduling/scheduler.h M be/src/service/client-request-state.cc M be/src/service/impala-server.cc M common/thrift/Frontend.thrift M common/thrift/ImpalaInternalService.thrift M common/thrift/Planner.thrift M fe/src/main/java/org/apache/impala/planner/PlanFragment.java M fe/src/main/java/org/apache/impala/planner/Planner.java M testdata/workloads/functional-planner/queries/PlannerTest/disable-codegen.test M testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test M testdata/workloads/functional-planner/queries/PlannerTest/spillable-buffer-sizing.test M testdata/workloads/functional-query/queries/QueryTest/explain-level0.test M testdata/workloads/functional-query/queries/QueryTest/explain-level1.test M testdata/workloads/functional-query/queries/QueryTest/explain-level2.test M testdata/workloads/functional-query/queries/QueryTest/explain-level3.test M testdata/workloads/functional-query/queries/QueryTest/stats-extrapolation.test M tests/custom_cluster/test_coordinators.py A tests/custom_cluster/test_mem_reservations.py 27 files changed, 390 insertions(+), 241 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/30/7630/7 -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 7 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Lars Volker Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Impala Public Jenkins has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size .. Patch Set 6: Verified-1 Build failed: https://jenkins.impala.io/job/gerrit-verify-dryrun/1041/ -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 6 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Lars Volker Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Impala Public Jenkins has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size .. Patch Set 6: Build started: https://jenkins.impala.io/job/gerrit-verify-dryrun/1041/ -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 6 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Lars Volker Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Hello Impala Public Jenkins, Tim Armstrong, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/7630 to look at the new patch set (#6). Change subject: IMPALA-4833: Compute precise per-host reservation size .. IMPALA-4833: Compute precise per-host reservation size Before this change, the per-host reservation size was computed by the Planner. However, scheduling happens after planning, so the Planner must assume that all fragments run on all hosts, and the reservation size is likely much larger than it needs to be. This moves the computation of the per-host reservation size to the BE where it can be computed more precisely. This also includes a number of plan/profile changes. Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac --- M be/src/runtime/coordinator-backend-state.cc M be/src/runtime/coordinator-backend-state.h M be/src/runtime/coordinator.cc M be/src/runtime/query-state.cc M be/src/scheduling/admission-controller.cc M be/src/scheduling/query-schedule.cc M be/src/scheduling/query-schedule.h M be/src/scheduling/scheduler.cc M be/src/scheduling/scheduler.h M be/src/service/client-request-state.cc M be/src/service/impala-server.cc M common/thrift/Frontend.thrift M common/thrift/ImpalaInternalService.thrift M common/thrift/Planner.thrift M fe/src/main/java/org/apache/impala/planner/PlanFragment.java M fe/src/main/java/org/apache/impala/planner/Planner.java M testdata/workloads/functional-planner/queries/PlannerTest/disable-codegen.test M testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test M testdata/workloads/functional-planner/queries/PlannerTest/spillable-buffer-sizing.test M testdata/workloads/functional-query/queries/QueryTest/explain-level0.test M testdata/workloads/functional-query/queries/QueryTest/explain-level1.test M testdata/workloads/functional-query/queries/QueryTest/explain-level2.test M testdata/workloads/functional-query/queries/QueryTest/explain-level3.test M testdata/workloads/functional-query/queries/QueryTest/stats-extrapolation.test M tests/custom_cluster/test_coordinators.py A tests/custom_cluster/test_mem_reservations.py 26 files changed, 387 insertions(+), 240 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/30/7630/6 -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 6 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Lars Volker Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Impala Public Jenkins has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size .. Patch Set 5: Verified-1 Build failed: https://jenkins.impala.io/job/gerrit-verify-dryrun/1038/ -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 5 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Lars Volker Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Impala Public Jenkins has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size .. Patch Set 5: Build started: https://jenkins.impala.io/job/gerrit-verify-dryrun/1038/ -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 5 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Lars Volker Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Tim Armstrong has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size .. Patch Set 5: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 5 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Lars Volker Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Tim Armstrong has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size .. Patch Set 5: Code-Review+1 -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 5 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Matthew Jacobs has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size .. Patch Set 4: (2 comments) http://gerrit.cloudera.org:8080/#/c/7630/4/be/src/scheduling/admission-controller.cc File be/src/scheduling/admission-controller.cc: Line 342: for (const auto& entry : per_backend_params) { > Nit: I think this will fit if you just do: Done http://gerrit.cloudera.org:8080/#/c/7630/4/be/src/scheduling/query-schedule.h File be/src/scheduling/query-schedule.h: Line 24: #include > This include might not be needed any more. Done -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 4 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Hello Tim Armstrong, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/7630 to look at the new patch set (#5). Change subject: IMPALA-4833: Compute precise per-host reservation size .. IMPALA-4833: Compute precise per-host reservation size Before this change, the per-host reservation size was computed by the Planner. However, scheduling happens after planning, so the Planner must assume that all fragments run on all hosts, and the reservation size is likely much larger than it needs to be. This moves the computation of the per-host reservation size to the BE where it can be computed more precisely. This also includes a number of plan/profile changes. Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac --- M be/src/runtime/coordinator-backend-state.cc M be/src/runtime/coordinator-backend-state.h M be/src/runtime/coordinator.cc M be/src/runtime/query-state.cc M be/src/scheduling/admission-controller.cc M be/src/scheduling/query-schedule.cc M be/src/scheduling/query-schedule.h M be/src/scheduling/scheduler.cc M be/src/scheduling/scheduler.h M be/src/service/client-request-state.cc M be/src/service/impala-server.cc M common/thrift/Frontend.thrift M common/thrift/ImpalaInternalService.thrift M common/thrift/Planner.thrift M fe/src/main/java/org/apache/impala/planner/PlanFragment.java M fe/src/main/java/org/apache/impala/planner/Planner.java M testdata/workloads/functional-planner/queries/PlannerTest/disable-codegen.test M testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test M testdata/workloads/functional-planner/queries/PlannerTest/spillable-buffer-sizing.test M testdata/workloads/functional-query/queries/QueryTest/explain-level0.test M testdata/workloads/functional-query/queries/QueryTest/explain-level1.test M testdata/workloads/functional-query/queries/QueryTest/explain-level2.test M testdata/workloads/functional-query/queries/QueryTest/explain-level3.test M testdata/workloads/functional-query/queries/QueryTest/stats-extrapolation.test M tests/custom_cluster/test_coordinators.py A tests/custom_cluster/test_mem_reservations.py 26 files changed, 386 insertions(+), 240 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/30/7630/5 -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 5 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Tim Armstrong has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size .. Patch Set 4: Code-Review+1 (3 comments) Looks good to me. Not sure if Lars wants to take a look too. http://gerrit.cloudera.org:8080/#/c/7630/4/be/src/scheduling/admission-controller.cc File be/src/scheduling/admission-controller.cc: Line 342: for (const auto& entry : per_backend_params) { Nit: I think this will fit if you just do: for (const auto& entry : schedule.per_backend_exec_params()) { http://gerrit.cloudera.org:8080/#/c/7630/4/be/src/scheduling/query-schedule.h File be/src/scheduling/query-schedule.h: Line 24: #include This include might not be needed any more. http://gerrit.cloudera.org:8080/#/c/7630/4/tests/custom_cluster/test_mem_reservations.py File tests/custom_cluster/test_mem_reservations.py: Line 32: def test_per_backend_min_reservation(self, vector): Nice! -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 4 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Matthew Jacobs has uploaded a new patch set (#4). Change subject: IMPALA-4833: Compute precise per-host reservation size .. IMPALA-4833: Compute precise per-host reservation size Before this change, the per-host reservation size was computed by the Planner. However, scheduling happens after planning, so the Planner must assume that all fragments run on all hosts, and the reservation size is likely much larger than it needs to be. This moves the computation of the per-host reservation size to the BE where it can be computed more precisely. This also includes a number of plan/profile changes. Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac --- M be/src/runtime/coordinator-backend-state.cc M be/src/runtime/coordinator-backend-state.h M be/src/runtime/coordinator.cc M be/src/runtime/query-state.cc M be/src/scheduling/admission-controller.cc M be/src/scheduling/query-schedule.cc M be/src/scheduling/query-schedule.h M be/src/scheduling/scheduler.cc M be/src/scheduling/scheduler.h M be/src/service/client-request-state.cc M be/src/service/impala-server.cc M common/thrift/Frontend.thrift M common/thrift/ImpalaInternalService.thrift M common/thrift/Planner.thrift M fe/src/main/java/org/apache/impala/planner/PlanFragment.java M fe/src/main/java/org/apache/impala/planner/Planner.java M testdata/workloads/functional-planner/queries/PlannerTest/disable-codegen.test M testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test M testdata/workloads/functional-planner/queries/PlannerTest/spillable-buffer-sizing.test M testdata/workloads/functional-query/queries/QueryTest/explain-level0.test M testdata/workloads/functional-query/queries/QueryTest/explain-level1.test M testdata/workloads/functional-query/queries/QueryTest/explain-level2.test M testdata/workloads/functional-query/queries/QueryTest/explain-level3.test M testdata/workloads/functional-query/queries/QueryTest/stats-extrapolation.test M tests/custom_cluster/test_coordinators.py A tests/custom_cluster/test_mem_reservations.py 26 files changed, 388 insertions(+), 239 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/30/7630/4 -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 4 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Matthew Jacobs has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size .. Patch Set 2: (6 comments) http://gerrit.cloudera.org:8080/#/c/7630/2/be/src/runtime/coordinator-backend-state.cc File be/src/runtime/coordinator-backend-state.cc: Line 63: //const vector& instance_params_list, > Remove? Done http://gerrit.cloudera.org:8080/#/c/7630/2/be/src/scheduling/query-schedule.h File be/src/scheduling/query-schedule.h: PS2, Line 55: FInstanceExecParams* > Maybe make it const& since it can't be null? Can't do it without some other trickery: https://stackoverflow.com/questions/10531010/const-references-in-stdvector-elements Line 251: /// TODO: Replace uses of unique_hosts_ with per_backend_exec_params. > It looks like there are a limited number of callsites, can we just do this Done Line 251: /// TODO: Replace uses of unique_hosts_ with per_backend_exec_params. > It looks like there are a limited number of callsites, can we just do this Done http://gerrit.cloudera.org:8080/#/c/7630/2/be/src/scheduling/scheduler.cc File be/src/scheduling/scheduler.cc: Line 688: // TODO: Move to admission control, it doesn't need to be in the Scheduler. > What if admission control is disabled? We don't really need the request pool for anything else anymore. It used to live here because the Llama path used it as well, and the Llama/YARN reservation happened outside of AC. That said, if I move this I'd try not to change the behavior, i.e. even if admission control is disabled I'll still resolve the request pool since we do that today. http://gerrit.cloudera.org:8080/#/c/7630/2/tests/custom_cluster/test_mem_reservations.py File tests/custom_cluster/test_mem_reservations.py: Line 38: config_map = {'DEFAULT_SPILLABLE_BUFFER_SIZE': '33554432', > The choice of queries, params, etc needs some explanation. Done -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Matthew Jacobs has uploaded a new patch set (#3). Change subject: IMPALA-4833: Compute precise per-host reservation size .. IMPALA-4833: Compute precise per-host reservation size Before this change, the per-host reservation size was computed by the Planner. However, scheduling happens after planning, so the Planner must assume that all fragments run on all hosts, and the reservation size is likely much larger than it needs to be. This moves the computation of the per-host reservation size to the BE where it can be computed more precisely. This also includes a number of plan/profile changes. Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac --- M be/src/runtime/coordinator-backend-state.cc M be/src/runtime/coordinator-backend-state.h M be/src/runtime/coordinator.cc M be/src/runtime/query-state.cc M be/src/scheduling/admission-controller.cc M be/src/scheduling/query-schedule.cc M be/src/scheduling/query-schedule.h M be/src/scheduling/scheduler.cc M be/src/scheduling/scheduler.h M be/src/service/client-request-state.cc M be/src/service/impala-server.cc M common/thrift/Frontend.thrift M common/thrift/ImpalaInternalService.thrift M common/thrift/Planner.thrift M fe/src/main/java/org/apache/impala/planner/PlanFragment.java M fe/src/main/java/org/apache/impala/planner/Planner.java M testdata/workloads/functional-planner/queries/PlannerTest/disable-codegen.test M testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test M testdata/workloads/functional-planner/queries/PlannerTest/spillable-buffer-sizing.test M testdata/workloads/functional-query/queries/QueryTest/explain-level0.test M testdata/workloads/functional-query/queries/QueryTest/explain-level1.test M testdata/workloads/functional-query/queries/QueryTest/explain-level2.test M testdata/workloads/functional-query/queries/QueryTest/explain-level3.test M testdata/workloads/functional-query/queries/QueryTest/stats-extrapolation.test M tests/custom_cluster/test_coordinators.py A tests/custom_cluster/test_mem_reservations.py 26 files changed, 391 insertions(+), 240 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/30/7630/3 -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 3 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Tim Armstrong has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size .. Patch Set 2: (6 comments) http://gerrit.cloudera.org:8080/#/c/7630/2/be/src/runtime/coordinator-backend-state.cc File be/src/runtime/coordinator-backend-state.cc: Line 63: //const vector& instance_params_list, Remove? http://gerrit.cloudera.org:8080/#/c/7630/2/be/src/scheduling/query-schedule.h File be/src/scheduling/query-schedule.h: PS2, Line 55: FInstanceExecParams* Maybe make it const& since it can't be null? Line 251: /// TODO: Replace uses of unique_hosts_ with per_backend_exec_params. It looks like there are a limited number of callsites, can we just do this cleanup now? http://gerrit.cloudera.org:8080/#/c/7630/2/be/src/scheduling/scheduler.cc File be/src/scheduling/scheduler.cc: Line 688: // TODO: Move to admission control, it doesn't need to be in the Scheduler. What if admission control is disabled? I agree it doesn't seem like it fits in scheduling though. http://gerrit.cloudera.org:8080/#/c/7630/1/common/thrift/ImpalaInternalService.thrift File common/thrift/ImpalaInternalService.thrift: Line 484: // required in V1 > The default is effectively optional: Yeah this is kind of weird - I get that it makes sense if we have clients speaking different versions of the protocol but we always assume our Impala daemon versions match afaik. Oh well. http://gerrit.cloudera.org:8080/#/c/7630/2/tests/custom_cluster/test_mem_reservations.py File tests/custom_cluster/test_mem_reservations.py: Line 38: config_map = {'DEFAULT_SPILLABLE_BUFFER_SIZE': '33554432', The choice of queries, params, etc needs some explanation. -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Matthew Jacobs has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size .. Patch Set 1: (3 comments) http://gerrit.cloudera.org:8080/#/c/7630/1/common/thrift/ImpalaInternalService.thrift File common/thrift/ImpalaInternalService.thrift: Line 484: 6: i64 min_reservation_bytes > Are these optional or required? Not sure what the default is in thrift, we The default is effectively optional: https://thrift.apache.org/docs/idl#field-requiredness While the doc says the default required-ness is good, I agree it's helpful to be explicit, especially in our code where we typically don't rely on the default. The protocol_version thing is misleading because we've been iterating on these interfaces regularly without bumping the version. That said, it looks like the convention here is to avoid explicitly requiring these fields, and instead indicating they're required in a particular version. (Technically that's a good practice, since required fields can be evil. Unfortunately we're pretty inconsistent.) http://gerrit.cloudera.org:8080/#/c/7630/1/common/thrift/Planner.thrift File common/thrift/Planner.thrift: Line 66: 7: optional i64 min_reservation_bytes > It's kind-of confusing that these are optional, since the backend handles t Done http://gerrit.cloudera.org:8080/#/c/7630/1/fe/src/main/java/org/apache/impala/planner/Planner.java File fe/src/main/java/org/apache/impala/planner/Planner.java: Line 365: // Different fragments do not synchronize their Open() and Close(), so the backend > I think this comment is important for understand why we sum up the fragment Done -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Matthew Jacobs has uploaded a new patch set (#2). Change subject: IMPALA-4833: Compute precise per-host reservation size .. IMPALA-4833: Compute precise per-host reservation size Before this change, the per-host reservation size was computed by the Planner. However, scheduling happens after planning, so the Planner must assume that all fragments run on all hosts, and the reservation size is likely much larger than it needs to be. This moves the computation of the per-host reservation size to the BE where it can be computed more precisely. This also includes a number of plan/profile changes. Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac --- M be/src/runtime/coordinator-backend-state.cc M be/src/runtime/coordinator-backend-state.h M be/src/runtime/coordinator.cc M be/src/runtime/query-state.cc M be/src/scheduling/query-schedule.cc M be/src/scheduling/query-schedule.h M be/src/scheduling/scheduler.cc M be/src/scheduling/scheduler.h M be/src/service/client-request-state.cc M common/thrift/Frontend.thrift M common/thrift/ImpalaInternalService.thrift M common/thrift/Planner.thrift M fe/src/main/java/org/apache/impala/planner/PlanFragment.java M fe/src/main/java/org/apache/impala/planner/Planner.java M testdata/workloads/functional-planner/queries/PlannerTest/disable-codegen.test M testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test M testdata/workloads/functional-planner/queries/PlannerTest/spillable-buffer-sizing.test M testdata/workloads/functional-query/queries/QueryTest/explain-level0.test M testdata/workloads/functional-query/queries/QueryTest/explain-level1.test M testdata/workloads/functional-query/queries/QueryTest/explain-level2.test M testdata/workloads/functional-query/queries/QueryTest/explain-level3.test M testdata/workloads/functional-query/queries/QueryTest/stats-extrapolation.test M tests/custom_cluster/test_coordinators.py A tests/custom_cluster/test_mem_reservations.py 24 files changed, 348 insertions(+), 219 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/30/7630/2 -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Tim Armstrong has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size .. Patch Set 1: (3 comments) Overall I think this looks good - obviously it needs some tests but that's my main concern. I played around a bit and it seemed to work. E.g. this contrived query resulted in different reservations per node: select straight_join * from tpch_parquet.lineitem join (select o_shippriority, count(distinct o_orderkey) from tpch_parquet.orders group by 1) v on o_shippriority = l_orderkey; Per Host Min Reservation: tarmstrong-box:22000(36.12 MB) tarmstrong-box:22001(36.12 MB) tarmstrong-box:22002(1.06 MB) http://gerrit.cloudera.org:8080/#/c/7630/1/common/thrift/ImpalaInternalService.thrift File common/thrift/ImpalaInternalService.thrift: Line 484: 6: i64 min_reservation_bytes Are these optional or required? Not sure what the default is in thrift, we seem to be explicit elsewhere. http://gerrit.cloudera.org:8080/#/c/7630/1/common/thrift/Planner.thrift File common/thrift/Planner.thrift: Line 66: 7: optional i64 min_reservation_bytes It's kind-of confusing that these are optional, since the backend handles this case in exactly the same way as if they were zero. It might be clearer to make these required and set them to zero in PlanFragment.java if the profile is invalid. That way the invalid resource profile handling is more contained in PlanFragment. The profiles should only be invalid for join build sinks in parallel plans, which is explained over there. http://gerrit.cloudera.org:8080/#/c/7630/1/fe/src/main/java/org/apache/impala/planner/Planner.java File fe/src/main/java/org/apache/impala/planner/Planner.java: Line 365: // Different fragments do not synchronize their Open() and Close(), so the backend I think this comment is important for understand why we sum up the fragments. Can we reference this in coordinator-backend-state.cc briefly? -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Matthew Jacobs has posted comments on this change. Change subject: IMPALA-4833: Compute precise per-host reservation size .. Patch Set 1: TODO: * more specific test case(s), validate new profile field for per-host min reservations -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4833: Compute precise per-host reservation size
Matthew Jacobs has uploaded a new change for review. http://gerrit.cloudera.org:8080/7630 Change subject: IMPALA-4833: Compute precise per-host reservation size .. IMPALA-4833: Compute precise per-host reservation size Before this change, the per-host reservation size was computed by the Planner. However, scheduling happens after planning, so the Planner must assume that all fragments run on all hosts, and the reservation size is likely much larger than it needs to be. This moves the computation of the per-host reservation size to the BE where it can be computed more precisely. This also includes a number of plan/profile changes. Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac --- M be/src/runtime/coordinator-backend-state.cc M be/src/runtime/coordinator-backend-state.h M be/src/runtime/coordinator.cc M be/src/runtime/query-state.cc M be/src/service/client-request-state.cc M common/thrift/Frontend.thrift M common/thrift/ImpalaInternalService.thrift M common/thrift/Planner.thrift M fe/src/main/java/org/apache/impala/planner/PlanFragment.java M fe/src/main/java/org/apache/impala/planner/Planner.java M testdata/workloads/functional-planner/queries/PlannerTest/disable-codegen.test M testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test M testdata/workloads/functional-planner/queries/PlannerTest/spillable-buffer-sizing.test M testdata/workloads/functional-query/queries/QueryTest/explain-level0.test M testdata/workloads/functional-query/queries/QueryTest/explain-level1.test M testdata/workloads/functional-query/queries/QueryTest/explain-level2.test M testdata/workloads/functional-query/queries/QueryTest/explain-level3.test M testdata/workloads/functional-query/queries/QueryTest/stats-extrapolation.test 18 files changed, 211 insertions(+), 172 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/30/7630/1 -- To view, visit http://gerrit.cloudera.org:8080/7630 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Idbcd1e9b1be14edc4017b4907e83f9d56059fbac Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew Jacobs