Qifan Chen has uploaded a new patch set (#18). ( 
http://gerrit.cloudera.org:8080/16220 )

Change subject: IMPALA-9989 Improve admission control pool stats logging
......................................................................

IMPALA-9989 Improve admission control pool stats logging

This work addresses the current limitation in admission controller by
appending the last known memory consumption statistics about a pool or
a host to the existing memory exhaustion message. The message is
logged in impalad.INFO when a query is queued or timed out due to
memory pressure on the pool or on the host.

This new memory consumption statistics covers the following content:
  topN_query_stats ::=
    queries: a list of query Ids for up to 5 queries with top memory
             consumptions
    total_mem_consumed: total memory consumed by these topN queries
    percentage_mem_consumed_per_pool: total memory consumed divided
                                      by pool memory usage (if
                                      feasible to report)
  all_query_stats ::=
    min: the minimal memory consumption of all running queries
    max: the maximal memory consumption of all running queries
    total: the total memory consumption of all running queries
    average: the average memory consumption of all running queries
             (if feasible to report)

  pool_stats_per_host ::=
    <pool_name>: <topN_query_stats> <all_query_stats>
  pool_stats::=
    List of <pool_stats_per_host>

  host_stats_per_pool ::=
    <host_name>: <topN_query_stats>
  host_stats::=
    List of <host_stats_per_pool>

  memory_consumption_statistics ::=
    <host_stats_per_pool> | <host_stats>

pool_stats describes memory consumption in all pools in a host
and is useful in analyzing memory exhaustion in that host.
host_stats describes the memory consumption for all hosts in a pool
and is useful in analyzing memory exhaustion in that pool.

Example of pool_stats_per_host:

   pool_name=root.queueD:
         topN_query_stats:
            queries=[
               0000000000000003:0000000000000012,
               0000000000000003:0000000000000011
            ],
            total_mem_consumed=18.00 MB
            fraction_of_pool_total_mem=0.19
         all_query_stats:
            num_running=20,
            min=1.00 MB,
            max=9.00 MB,
            total_mem_consumed=95.00 MB,
            average=4.75 MB

Example of host_stats_per_pool:

   host_name=host2:25000:
         topN_query_stats:
            queries=[
               0000000200000002:0000000000000001,
               0000000200000002:0000000000000002,
               0000000200000002:0000000000000000,
               0000000200000002:0000000000000004
            ],
            total_mem_consumed=55.00 MB

When a query request is queued due to memory exhaustion, the above
memory_consumption_statistics is loggerd when the logging is set
at level 2 or higher.

When a query request is timed out due to memory exhaustion, the above
memory_consumption_statistics is reported when the logging is set
at level 1 or higher.

Testing:
1. Added a new test TopNQueryCheck in admission-controller-test.cc to
simulate queries running in 4 pools in 3 hosts. This new test identifies
the following:
  a. Top 5 queries among 4 pools in host 0;
  a. Top 5 queries among 4 pools in host 1;
  c. Top 5 queries among 3 hosts for a pool.

Change-Id: Id995a9d044082c3b8f044e1ec25bb4c64347f781
---
M be/src/runtime/mem-tracker.cc
M be/src/runtime/mem-tracker.h
M be/src/scheduling/admission-controller-test.cc
M be/src/scheduling/admission-controller.cc
M be/src/scheduling/admission-controller.h
M be/src/util/container-util.h
M common/thrift/StatestoreService.thrift
7 files changed, 805 insertions(+), 45 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/20/16220/18
--
To view, visit http://gerrit.cloudera.org:8080/16220
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Id995a9d044082c3b8f044e1ec25bb4c64347f781
Gerrit-Change-Number: 16220
Gerrit-PatchSet: 18
Gerrit-Owner: Qifan Chen <qc...@cloudera.com>
Gerrit-Reviewer: Bikramjeet Vig <bikramjeet....@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Qifan Chen <qc...@cloudera.com>
Gerrit-Reviewer: Sahil Takiar <stak...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>

Reply via email to