Steve Loughran created HADOOP-19354: ---------------------------------------
Summary: S3AInputStream to be created by factory under S3AStore Key: HADOOP-19354 URL: https://issues.apache.org/jira/browse/HADOOP-19354 Project: Hadoop Common Issue Type: Sub-task Components: fs/s3 Affects Versions: 3.4.2 Reporter: Steve Loughran Assignee: Steve Loughran Migrate S3AInputStream creation into a factory pattern, push down into S3AStore. Proposed factories * default: whatever this release has as default * classic: current S3AInputStream * prefetch: prefetching * analytics: new analytics stream * other: reads a classname from another prop, instantiates. Also proposed * stream to implement some stream capability to declare what they are (classic, prefetch, analytics, other). h2. Implementation All callbacks used by the stream also to call directly onto S3AStore. S3AFileSystem must not be invoked at all (if it is needed: PR is still not ready). Some interface from Instrumentation will be passed to factory; this shall include a way to create new per-stream The factory shall implement org.apache.hadoop.service.Service; S3AStore shall do same and become a subclass of CompositeService. It shall attach the factory as a child, so they can follow the same lifecycle. We shall do the same for anything else that gets pushed down. Everything related to stream creation must go from s3afs; and creation of the factory itself. This must be done in S3AStore.initialize(). As usual, this will complicate mocking. But the streams themselves should not require changes, at least significant ones. Testing. * The huge file tests should be tuned so each of the different ones uses a different stream, always. * use a -Dstream="factory name" to choose factory, rather than the -Dprefetch * if not set, whatever is in auth-keys gets picked up. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: common-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-dev-h...@hadoop.apache.org