Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-4104

Fix TestEnv and reenable DCHECK in MemTracker::ConsumeLocal()

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: Impala 2.8.0
    • Fix Version/s: Impala 2.8.0
    • Component/s: Backend
    • Labels:
      None

      Description

      Adding the bottom DCHECK:

        void ConsumeLocal(int64_t bytes, MemTracker* end_tracker) {
          DCHECK(consumption_metric_ == NULL) << "Should not be called on root.";
          for (int i = 0; i < all_trackers_.size(); ++i) {
            if (all_trackers_[i] == end_tracker) return;
            DCHECK(!all_trackers_[i]->has_limit());
            all_trackers_[i]->consumption_->Add(bytes);
          }
          DCHECK(false) << "end_tracker is not an ancestor";
        }
      

      caused backend test failures, e.g. some BufferedBlockMgr tests because they set up their MemTrackers in a strange way. The DCHECK is useful so this should be fixed.

        Attachments

          Activity

            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: