Andrew Wong has posted comments on this change. ( http://gerrit.cloudera.org:8080/11248 )
Change subject: KUDU-2469 pt 1: add an IOContext ...................................................................... Patch Set 1: (1 comment) http://gerrit.cloudera.org:8080/#/c/11248/1/src/kudu/fs/io_context.h File src/kudu/fs/io_context.h: http://gerrit.cloudera.org:8080/#/c/11248/1/src/kudu/fs/io_context.h@33 PS1, Line 33: // Utility class used to pass strings across many layers, avoiding excessive : // plumbing. > You're right it's a one-time cost, though I leaned this way since the inten I'd considered going through hte iters, but there are a couple paths to CFiles that weren't covered just going through the scan path: - We also want the context when we Open() the Tablet; we need to read the min/max keys to populate the rowset tree, and open blooms (lazily). - Whenever we insert, we check if the row is present. If we did want to plumb the IOContext _only_ where we might do IO, these cases would need to be covered too. OTOH, these other cases (and scans via the iters) roughly go through the same call chain: Tablet-->DiskRowSet-->CFileSet-->{BloomFileReader/CFileReader} `->DeltaTracker-->DeltaFileReader-->CFileReader We could plumb down the IOContext through the constructors of these classes. Less in the spirit of plumbing only when we do IO, but that's not really a requirement. -- To view, visit http://gerrit.cloudera.org:8080/11248 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I645e10a2fda1f2564326b7052e6a0debc5ad738c Gerrit-Change-Number: 11248 Gerrit-PatchSet: 1 Gerrit-Owner: Andrew Wong <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Andrew Wong <[email protected]> Gerrit-Reviewer: Grant Henke <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <[email protected]> Gerrit-Comment-Date: Fri, 17 Aug 2018 01:30:19 +0000 Gerrit-HasComments: Yes
