Tim Armstrong has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/8966 )

Change subject: IMPALA-4835: Part 3: switch I/O buffers to buffer pool
......................................................................


Patch Set 20:

(10 comments)

Rebased onto master to pick up Bikram's runtime filter change. Fixed tests to 
reflect min buffer size and the runtime filters.

Also found some bugs in the nested types reservation calcs around 
non-materialized commons that were triggered by the lower minimum buffer size. 
Fixed those and added planner tests to verify the calculation in even more edge 
cases.

http://gerrit.cloudera.org:8080/#/c/8966/19/be/src/exec/scanner-context.h
File be/src/exec/scanner-context.h:

http://gerrit.cloudera.org:8080/#/c/8966/19/be/src/exec/scanner-context.h@222
PS19, Line 222: is stream for allocating I/O buffers. The
> what about the reservation for reading the scan_range_?  why does this "rea
I tried to clarify the relationship between this and 'scan_range_' reservation 
a bit. This is a consequence of 'scan_range_' being created externally and 
passed in. I thought about trying to refactor this so that 
ScannerContext::Stream is responsible for allocating buffers for the scan 
range, i.e. so reservation is managed internally rather than having the main 
scan range treated differently, but it seemed to be biting off a bit too much.

I think the old comment was misleading because it can be used for other scan 
ranges too - e.g. in Parquet the reservation from the initial (footer) stream 
is taken and divided between the column streams.


http://gerrit.cloudera.org:8080/#/c/8966/19/be/src/exec/scanner-context.h@223
PS19, Line 223: e this until
              :     /// all
> is that talking about the "read size" or "BP min buffer size"?
Clarified.


http://gerrit.cloudera.org:8080/#/c/8966/19/be/src/exec/scanner-context.h@284
PS19, Line 284:
> is this the "read past" reservation or something else?
It's the same as 'reservation_'. Added a brief comment for the method.


http://gerrit.cloudera.org:8080/#/c/8966/19/be/src/exec/scanner-context.h@372
PS19, Line 372:   /// end of 'range'. 'reservation' is shared with 'range's 
reservation: all of 'range's
> this answers my question about constructor.  Maybe reference this function
Done


http://gerrit.cloudera.org:8080/#/c/8966/19/be/src/exec/scanner-context.cc
File be/src/exec/scanner-context.cc:

http://gerrit.cloudera.org:8080/#/c/8966/19/be/src/exec/scanner-context.cc@153
PS19, Line 153:
              :       // Allocate fresh bu
> if that's true, why can't we reuse their reservation?  Or maybe we actually
Yeah that's right. Will look at header comments to see if I can make it less 
confusing.


http://gerrit.cloudera.org:8080/#/c/8966/18/be/src/runtime/io/request-ranges.h
File be/src/runtime/io/request-ranges.h:

http://gerrit.cloudera.org:8080/#/c/8966/18/be/src/runtime/io/request-ranges.h@65
PS18, Line 65: r* io_mgr, RequestContext* reader,
> update.
Done


http://gerrit.cloudera.org:8080/#/c/8966/19/fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java
File fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java:

http://gerrit.cloudera.org:8080/#/c/8966/19/fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java@155
PS19, Line 155: mpling. Null if not sampli
> can't we delete this now?
Done


http://gerrit.cloudera.org:8080/#/c/8966/19/fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java@186
PS19, Line 186:
> a time?
Done


http://gerrit.cloudera.org:8080/#/c/8966/19/fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java@1330
PS19, Line 1330:
               :   private Pair<Long, Long> computeReservation(int 
numColumnsReadFr
> isn't this more about the min buffer size?
Done


http://gerrit.cloudera.org:8080/#/c/8966/19/fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java@1345
PS19, Line 1345: BitUtil
> iomgrScanRangesPerFile.  Actually, the PerFile isn't right either since mul
Done



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ic09c6196b31e55b301df45cc56d0b72cfece6786
Gerrit-Change-Number: 8966
Gerrit-PatchSet: 20
Gerrit-Owner: Tim Armstrong <tarmstr...@cloudera.com>
Gerrit-Reviewer: Bikramjeet Vig <bikramjeet....@cloudera.com>
Gerrit-Reviewer: Dan Hecht <dhe...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>
Gerrit-Comment-Date: Wed, 21 Feb 2018 20:12:14 +0000
Gerrit-HasComments: Yes

Reply via email to