Details

Description

The scope of this issue is to refactor the existing S3AFileSystem into multiple coordinating classes. The goal of this refactoring is to separate the FileSystem API binding from the AWS SDK integration, make code maintenance easier while we're making changes for S3Guard, and make it easier to mock some implementation details so that tests can simulate eventual consistency behavior in a deterministic way.