impala-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sailesh Mukil (Code Review)" <>
Subject [Impala-ASF-CR] IMPALA-3905: HdfsScanner::GetNext() for Avro, RC, and Seq scans.
Date Wed, 21 Jun 2017 18:53:40 GMT
Sailesh Mukil has posted comments on this change.

Change subject: IMPALA-3905: HdfsScanner::GetNext() for Avro, RC, and Seq scans.

Patch Set 5:

(1 comment)
File be/src/exec/

Line 179:       if (materialized_row_batches_->AddBatchWithTimeout(move(row_batch), 1000000))
> You could add an output parameter to BlockingPutWithTimeout() (rather than 
unique_ptr is already a move only class, which means it's limited to using move semantics
and copying isn't allowed, something that rvalue refs try to provide for non-move-only classes/data
types. That means that moving to an rvalue ref of a move only class is redundant, save for
one subtle difference noted below. So the only difference between taking:

func(unique_ptr<> arg)


func(unique_ptr<>&& arg)

is that in the first case, the caller knows that after calling func, they're not supposed
to use the unique_ptr member that was passed to arg.

In the second case, the value of the unique_ptr member passed is dependent on what func()
does with arg. In the above code, we're relying on this behavior to conditionally relinquish
or retain the ownership of row_batch.

Unless I got something wrong?

To view, visit
To unsubscribe, visit

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie18f57b0d3fe0052a8ccd361b6a5fcdf979d0669
Gerrit-PatchSet: 5
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Alex Behm <>
Gerrit-Reviewer: Alex Behm <>
Gerrit-Reviewer: Henry Robinson <>
Gerrit-Reviewer: Marcel Kornacker <>
Gerrit-Reviewer: Sailesh Mukil <>
Gerrit-Reviewer: Tim Armstrong <>
Gerrit-Reviewer: anujphadke <>
Gerrit-HasComments: Yes

View raw message