[ https://issues.apache.org/jira/browse/HADOOP-13756?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Steve Loughran updated HADOOP-13756: ------------------------------------ Parent Issue: HADOOP-14825 (was: HADOOP-13345) > LocalMetadataStore#put(DirListingMetadata) should also put file metadata into > fileHash. > --------------------------------------------------------------------------------------- > > Key: HADOOP-13756 > URL: https://issues.apache.org/jira/browse/HADOOP-13756 > Project: Hadoop Common > Issue Type: Sub-task > Components: fs/s3, test > Affects Versions: 3.0.0-beta1 > Reporter: Lei (Eddy) Xu > Assignee: Aaron Fabbri > > {{LocalMetadataStore#put(DirListingMetadata)}} only puts the metadata into > {{dirHash}}, thus all {{FileStatus}} s are missing from > {{LocalMedataStore#fileHash()}}, which makes it confuse to use. > So in the current way, to correctly put file status into the store (and also > set {{authoriative}} flag), you need to run {code} > List<PathMetadata> metas = new ArrayList<PathMetadata>(); > boolean authorizative = true; > for (S3AFileStatus status : files) { > PathMetadata meta = new PathMetadata(status); > store.put(meta); > } > DirListingMetadata dirMeta = new DirMeta(parent, metas, authorizative); > store.put(dirMeta); > {code} > Since solely calling {{store.put(dirMeta)}} is not correct, and calling > {{store.put(dirMeta);}} after putting all sub-file {{FileStatuss}} does the > repetitive jobs. Can we just use a {{put(PathMetadata)}} and a > {{get/setAuthorative()}} in the MetadataStore interface instead? -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org