Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
HADOOP-18792. s3a prefetching to use split start/end options to limit…
… prefetch range This passes the values down but doesn't interpret them; future work Change-Id: I523b26e5a5a43fbf6ba5d2b6e44614c7e4fc70b7 HADOOP-18184. S3A Prefetching unbuffer. compiles against v2 sdk now Change-Id: Ic96af7f76931c6dcc453368ad02ae87d07fa4484 HADOOP-18184. temp file creation/test validation * use block id in filename * log statements include fs path * tests more resilient * logging auditor prints GET range and length Tests are failing with signs of * too many GETs * incomplete buffers. race conditions? Change-Id: Ibdca6292df8cf0149697cecfec24035e2be473d8 HADOOP-19043. S3A: Regression: ITestS3AOpenCost fails on prefetch test runs This is actually trickier than it seems as we will need to go deep into the implementation of caching. Specifically: the prefetcher knows the file length and if you open a file shorter than that, but less than one block, the read is considered a failure and the whole block is skipped, so read() of the nominally in-range data returns -1. This fix has to be considered a PoC and should be combined with the other big PR for prefetching, #5832 as that is where changes should go. Here is just test tuning and some differentiation of channel problems from other EOFs. Change-Id: Icdf7e2fb10ca77b6ca427eb207472fad277130d7 HADOOP-19043. S3A: Regression: ITestS3AOpenCost fails on prefetch test runs * Adds EOF logic deep into the prefetching code * Tests still failing. * this has all conflicts with hadoop trunk resolved Change-Id: I9b23b01d010d8a1a680ce849d26a0aebab2389e2 HADOOP-18184. fix NPEs in BlockManager unit tests by adding withPath() Change-Id: Ie3d1c266b1231fa85c01092dd79f2dcf961fe498 HADOOP-18184. prefetching - Cache was not thread safe and it was possible for cleanup to happen while the caller had just verified it was there and before a read lock was acquired. fix: synchronize check and get into one block, use synchronized elsewhere. - try to cut back on assertions in ITestS3APrefetchingLargeFiles which seem too brittle to prefetch behaviour/race conditions. - minor doc, log, assertion changes more work on that test failure needed Change-Id: I288540ec1fb08e1a5684cde8e94e1c7933d1e41d HADOOP-18184. prefetching: style Change-Id: Ifdde5ab33f24515c306a8ccc27ec784c3b6c0a76 HADOOP-18184. unbuffer: reinstate commented out asserts these asserts fail as I don't understand the prefetch logic well enough to make valid assertions Change-Id: I198d10ccead99754afd17040dc4f4c9ebc919906 HADOOP-18184. javadocs Change-Id: I61d013ba439c8f4093ad0634a67c6a20e82062ad
- Loading branch information