Henry Robinson has posted comments on this change.

Change subject: IMPALA-3742: partitions DMLs for Kudu tables
......................................................................


Patch Set 8:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/6037/8/be/src/runtime/data-stream-sender.cc
File be/src/runtime/data-stream-sender.cc:

PS8, Line 445:  switch (partitioner_->type()) {
             :       case TPartitionType::HASH_PARTITIONED:
             :         RETURN_IF_ERROR(
             :             
reinterpret_cast<HashStreamPartitioner*>(partitioner_.get())
             :                 ->Partition(batch,
             :                     [this, num_channels](TupleRow* row, uint32_t 
partition) -> Status {
             :                       return this->channels_[partition % 
num_channels]->AddRow(row);
             :                     }));
             :         break;
             :       case TPartitionType::KUDU:
             :         RETURN_IF_ERROR(
             :             
reinterpret_cast<KuduStreamPartitioner*>(partitioner_.get())
             :                 ->Partition(batch,
             :                     [this, num_channels](TupleRow* row, uint32_t 
partition) -> Status {
             :                       return this->channels_[partition % 
num_channels]->AddRow(row);
             :                     }));
             :         break;
Looking at how this came out in the code, my feeling is that it might be 
cleaner to produce the vector of partitions:

  virtual void Partition(RowBatch*  batch, vector<int>* partitions);
  for (int i = 0; i < partitions->size(); ++i) {
    channels_[partitions[i] % num_channels]->AddRow(row);
  }

What do you think? One v-call per batch doesn't seem prohibitive.


-- 
To view, visit http://gerrit.cloudera.org:8080/6037
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ic10b3295159354888efcde3df76b0edb24161515
Gerrit-PatchSet: 8
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Thomas Tauber-Marshall <[email protected]>
Gerrit-Reviewer: Henry Robinson <[email protected]>
Gerrit-Reviewer: Marcel Kornacker <[email protected]>
Gerrit-Reviewer: Matthew Jacobs <[email protected]>
Gerrit-Reviewer: Thomas Tauber-Marshall <[email protected]>
Gerrit-HasComments: Yes

Reply via email to