Lei (Eddy) Xu created HADOOP-13756: -------------------------------------- Summary: 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 Reporter: Lei (Eddy) Xu
{{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.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: common-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-dev-h...@hadoop.apache.org