Details

      Description

      We should hang the query MemTracker off QueryState instead of relying on a static map. This will be required for IMPALA-3200 in order to set up the query's reservation in the QueryState

        Issue Links

          Activity

          Hide
          tarmstrong Tim Armstrong added a comment -

          IMPALA-4678: move query MemTracker into QueryState

          The query MemTracker for query execution is now owned directly by
          QueryState, which greatly simplifies the lifecycle of the MemTracker.
          This required various other changes and enabled some simplifications.

          • The coordinator's QueryState is constructed earlier before fragments
            are sent out, since we need a MemTracker at that point.
          • The global query MemTracker map can be removed.
          • The static request pool mem tracker is moved into into ExecEnv.
          • Temporary query MemTrackers used to evaluate expressions during
            planning do not need to be registered globally and are owned
            directly by the RuntimeState.
          • Various cleanup logic is moved around to reflect the other changes.

          Change-Id: Id6b46652932b5638993623e98d1f0d60d8380ba0
          Reviewed-on: http://gerrit.cloudera.org:8080/5630
          Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com>
          Tested-by: Impala Public Jenkins

          Show
          tarmstrong Tim Armstrong added a comment - IMPALA-4678 : move query MemTracker into QueryState The query MemTracker for query execution is now owned directly by QueryState, which greatly simplifies the lifecycle of the MemTracker. This required various other changes and enabled some simplifications. The coordinator's QueryState is constructed earlier before fragments are sent out, since we need a MemTracker at that point. The global query MemTracker map can be removed. The static request pool mem tracker is moved into into ExecEnv. Temporary query MemTrackers used to evaluate expressions during planning do not need to be registered globally and are owned directly by the RuntimeState. Various cleanup logic is moved around to reflect the other changes. Change-Id: Id6b46652932b5638993623e98d1f0d60d8380ba0 Reviewed-on: http://gerrit.cloudera.org:8080/5630 Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com> Tested-by: Impala Public Jenkins

            People

            • Assignee:
              tarmstrong Tim Armstrong
              Reporter:
              tarmstrong Tim Armstrong
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development