You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Gabor Bota (JIRA)" <ji...@apache.org> on 2018/04/27 14:05:00 UTC
[jira] [Updated] (HADOOP-15423) Use single hash Path ->
tuple(DirListingMetadata, PathMetadata) in LocalMetadataStore
[ https://issues.apache.org/jira/browse/HADOOP-15423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gabor Bota updated HADOOP-15423:
--------------------------------
Description:
Right now the s3guard.LocalMetadataStore uses two HashMap in the implementation - one for the file and one for the dir hash.
{code:java}
/** Contains directories and files. */
private LruHashMap<Path, PathMetadata> fileHash;
/** Contains directory listings. */
private LruHashMap<Path, DirListingMetadata> dirHash;
{code}
It would be nice to have only one hash instead of these two for storing the values. An idea for the implementation would be to have a class with nullable fields:
{code:java}
static class LocalMetaEntry {
@Nullable
public PathMetadata pathMetadata;
@Nullable
public DirListingMetadata dirListingMetadata;
}
{code}
or a Pair (tuple):
{code:java}
Pair<PathMetadata, DirListingMetadata> metaEntry;
{code}
And only one hash/cache for these elements.
was:
Right now the s3guard.LocalMetadataStore uses two HashMap in the implementation one for the file and one for the dir hash.
{code:java}
/** Contains directories and files. */
private LruHashMap<Path, PathMetadata> fileHash;
/** Contains directory listings. */
private LruHashMap<Path, DirListingMetadata> dirHash;
{code}
It would be nice to have only one hash instead of these two for storing the values. An idea for the implementation would be to have a class with nullable fields:
{code:java}
static class LocalMetaEntry {
@Nullable
public PathMetadata pathMetadata;
@Nullable
public DirListingMetadata dirListingMetadata;
}
{code}
or a Pair (tuple):
{code:java}
Pair<PathMetadata, DirListingMetadata> metaEntry;
{code}
And only one hash/cache for these elements.
> Use single hash Path -> tuple(DirListingMetadata, PathMetadata) in LocalMetadataStore
> -------------------------------------------------------------------------------------
>
> Key: HADOOP-15423
> URL: https://issues.apache.org/jira/browse/HADOOP-15423
> Project: Hadoop Common
> Issue Type: Sub-task
> Reporter: Gabor Bota
> Assignee: Gabor Bota
> Priority: Minor
>
> Right now the s3guard.LocalMetadataStore uses two HashMap in the implementation - one for the file and one for the dir hash.
> {code:java}
> /** Contains directories and files. */
> private LruHashMap<Path, PathMetadata> fileHash;
> /** Contains directory listings. */
> private LruHashMap<Path, DirListingMetadata> dirHash;
> {code}
> It would be nice to have only one hash instead of these two for storing the values. An idea for the implementation would be to have a class with nullable fields:
> {code:java}
> static class LocalMetaEntry {
> @Nullable
> public PathMetadata pathMetadata;
> @Nullable
> public DirListingMetadata dirListingMetadata;
> }
> {code}
> or a Pair (tuple):
> {code:java}
> Pair<PathMetadata, DirListingMetadata> metaEntry;
> {code}
> And only one hash/cache for these elements.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org