Zoltan Borok-Nagy has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/17413 )

Change subject: IMPALA-7556: Decouple BufferManagement from the ScanRange and 
IoMgr
......................................................................


Patch Set 4:

(8 comments)

Did an initial round. Overall looks good, will do another rounds next week.

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

http://gerrit.cloudera.org:8080/#/c/17413/4/be/src/runtime/io/request-ranges.h@250
PS4, Line 250:   /// Lock protecting fields below.
We need to specify what fields it protects in ScanRange. Or, we should still 
keep the 'lock_' there. Since there's only one lock here we probably don't need 
this class.

Maybe we could just add a public Lock() method to ScanRange.


http://gerrit.cloudera.org:8080/#/c/17413/4/be/src/runtime/io/request-ranges.h@514
PS4, Line 514: lock_store_
Now this lock protects the members of the scan range, and the members of the 
ScanRangeBuffer as well, right?

Probably it'd be clearer if we had a two locks, one in scan range, one in scan 
range buffer, and define a clear ordering for how they should be acquired when 
we need to lock both.


http://gerrit.cloudera.org:8080/#/c/17413/4/be/src/runtime/io/scan-buffer-manager.h
File be/src/runtime/io/scan-buffer-manager.h:

http://gerrit.cloudera.org:8080/#/c/17413/4/be/src/runtime/io/scan-buffer-manager.h@36
PS4, Line 36: See external_buffer_tag_ for details.
Actually there isn't much info at 'external_buffer_tag_'. Could you add comment 
that describes the semantics for each value?


http://gerrit.cloudera.org:8080/#/c/17413/4/be/src/runtime/io/scan-buffer-manager.h@131
PS4, Line 131: friend class ScanRange;
Instead of the friend declaration, can we add public functions that ScanRange 
could use?


http://gerrit.cloudera.org:8080/#/c/17413/4/be/src/runtime/io/scan-buffer-manager.h@136
PS4, Line 136:   /// Scan range lock store which are needed for accessing 
buffer.
             :   ScanRangeLockStore* const lock_store_;
I think having this pointer is a bit confusing, probably it'd be a bit cleaner 
to use the lock via 'scan_range_'.

I think we should either have 2 separate locks for ScanRange and 
ScanRangeBuffer, or only keep the lock in ScanRange and remove this pointer.


http://gerrit.cloudera.org:8080/#/c/17413/4/be/src/runtime/io/scan-buffer-manager.h@177
PS4, Line 177: st
nit: add +2 indentation


http://gerrit.cloudera.org:8080/#/c/17413/4/be/src/runtime/io/scan-buffer-manager.cc
File be/src/runtime/io/scan-buffer-manager.cc:

http://gerrit.cloudera.org:8080/#/c/17413/4/be/src/runtime/io/scan-buffer-manager.cc@85
PS4, Line 85: Implementation of the ScanRange functionality.
please update comment


http://gerrit.cloudera.org:8080/#/c/17413/4/be/src/runtime/io/scan-buffer-manager.cc@162
PS4, Line 162: this
this->scan_range?



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ibd74691b50b46114f95a8641034c05d07ddeec97
Gerrit-Change-Number: 17413
Gerrit-PatchSet: 4
Gerrit-Owner: Amogh Margoor <amarg...@gmail.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Tamas Mate <tm...@cloudera.com>
Gerrit-Reviewer: Zoltan Borok-Nagy <borokna...@cloudera.com>
Gerrit-Comment-Date: Fri, 14 May 2021 16:05:07 +0000
Gerrit-HasComments: Yes

Reply via email to