[ https://issues.apache.org/jira/browse/HADOOP-15400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16572582#comment-16572582 ]
Hudson commented on HADOOP-15400: --------------------------------- SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #14720 (See [https://builds.apache.org/job/Hadoop-trunk-Commit/14720/]) HADOOP-15400. Improve S3Guard documentation on Authoritative Mode (mackrorysd: rev 7862f1523f0591a0b163bcecf07af842de4b3a8b) * (edit) hadoop-tools/hadoop-aws/src/site/markdown/tools/hadoop-aws/s3guard.md > Improve S3Guard documentation on Authoritative Mode implementation > ------------------------------------------------------------------ > > Key: HADOOP-15400 > URL: https://issues.apache.org/jira/browse/HADOOP-15400 > Project: Hadoop Common > Issue Type: Sub-task > Components: fs/s3 > Affects Versions: 3.0.1 > Reporter: Aaron Fabbri > Assignee: Gabor Bota > Priority: Minor > Fix For: 3.2.0 > > Attachments: HADOOP-15400.001.patch, HADOOP-15400.002.patch > > > Part of the design of S3Guard is support for skipping the call to S3 > listObjects and serving directory listings out of the MetadataStore under > certain circumstances. This feature is called "authoritative" mode. I've > talked to many people about this feature and it seems to be universally > confusing. > I suggest we improve / add a section to the s3guard.md site docs elaborating > on what Authoritative Mode is. > It is *not* treating the MetadataStore (e.g. dynamodb) as the source of truth > in general. > It *is* the ability to short-circuit S3 list objects and serve listings from > the MetadataStore in some circumstances: > For S3A to skip S3's list objects on some *path*, and serve it directly from > the MetadataStore, the following things must all be true: > # The MetadataStore implementation persists the bit > {{DirListingMetadata.isAuthorititative}} set when calling > {{MetadataStore#put(DirListingMetadata)}} > # The S3A client is configured to allow metadatastore to be authoritative > source of a directory listing (fs.s3a.metadatastore.authoritative=true). > # The MetadataStore has a full listing for *path* stored in it. This only > happens if the FS client (s3a) explicitly has stored a full directory listing > with {{DirListingMetadata.isAuthorititative=true}} before the said listing > request happens. > Note that #1 only currently happens in LocalMetadataStore. Adding support to > DynamoDBMetadataStore is covered in HADOOP-14154. > Also, the multiple uses of the word "authoritative" are confusing. Two > meanings are used: > 1. In the FS client configuration fs.s3a.metadatastore.authoritative > - Behavior of S3A code (not MetadataStore) > - "S3A is allowed to skip S3.list() when it has full listing from > MetadataStore" > 2. MetadataStore > When storing a dir listing, can set a bit isAuthoritative > 1 : "full contents of directory" > 0 : "may not be full listing" > Note that a MetadataStore *MAY* persist this bit. (not *MUST*). > We should probably rename the {{DirListingMetadata.isAuthorititative}} to > {{.fullListing}} or at least put a comment where it is used to clarify its > meaning. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org