[ https://issues.apache.org/jira/browse/HADOOP-19354?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Steve Loughran resolved HADOOP-19354. ------------------------------------- Fix Version/s: 3.5.0 Resolution: Fixed > S3A: InputStreams 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 > Priority: Major > Labels: pull-request-available > Fix For: 3.5.0 > > > 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