impala-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim Armstrong (Code Review)" <>
Subject [Impala-CR](cdh5-trunk) IMPALA-3286: Prefetching for PHJ probing.
Date Mon, 16 May 2016 06:57:16 GMT
Tim Armstrong has posted comments on this change.

Change subject: IMPALA-3286: Prefetching for PHJ probing.

Patch Set 11:


This is looking good, I think there are just a few remaining opportunities to make things
File be/src/exec/

Line 185:     runtime_state_->InitMemTrackers(TUniqueId(), NULL, -1);
Let's just do this in CreateQueryState().

Line 241:  runtime_state_->query_mem_tracker()
It would be better to use the test mem_tracker_ we set up.
File be/src/exec/

Line 125:   // TODO: use tr1::array?
We can delete this TODO, I don't think it's very helpful, especially since we started using
scoped_array in this class.

Line 131: inline
This probably doesn't need to be inline, does it?
File be/src/exec/hash-table.h:

Line 126:   /// Allocate various buffers for storing expression evaluation results, hash values,
We should have a HashTableCtx::Create() function that allocates and initialises similar to
HashTable::Create(). Would make it a bit simpler to use.

Line 128:   Status Init(RuntimeState* state, int num_build_tuples, MemTracker* tracker);
Also mention what 'tracker' is (it seems at least as important to document that here as in

Line 130:   /// Call to cleanup any resources.
Mention that 'tracker' is the same 'tracker' passed to Init().

Actually.. maybe just make 'tracker' a constructor or Init() argument and  store it in HashTableCtx?
That's what we typically do.

Line 226: resourcs

Line 346:     Bitmap null_bitmap_;
I feel like it would be simpler to just do an array of uint8_t to be consistent with the other
members. That avoids needing to do the special index calculation here. I don't see that there
would be a big benefit from the increased memory density of the Bitmap here.
File be/src/exec/

Line 476: row_idices
typo: row_indices

Line 477: cur_row
The logic around cur_row is a little hard to follow, since it is the loop variable for the
outer loop but updated in the inner loop.

Something like this would make the intent clearer:

for (int group_start = 0; group_start < num_rows; group_start += prefetch_size) {
  int cur_row = group_start;

File be/src/exec/

Line 678: probe_exp_ctxs_
Typoe: 'expr_ctxs_'

To view, visit
To unsubscribe, visit

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib42b93d99d09c833571e39d20d58c11ef73f3cc0
Gerrit-PatchSet: 11
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Michael Ho <>
Gerrit-Reviewer: Dan Hecht <>
Gerrit-Reviewer: Huaisi Xu <>
Gerrit-Reviewer: Michael Ho <>
Gerrit-Reviewer: Mostafa Mokhtar <>
Gerrit-Reviewer: Tim Armstrong <>
Gerrit-HasComments: Yes

View raw message