hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gabor Bota (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HADOOP-15423) Merge fileCache and dirCache into one single cache in LocalMetadataStore
Date Tue, 22 May 2018 12:21:00 GMT

     [ 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 Cache<Path, PathMetadata> fileCache;

  /** Contains directory listings. */
  private Cache<Path, DirListingMetadata> dirCache;
{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.


> Merge fileCache and dirCache into one single cache 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 Cache<Path, PathMetadata> fileCache;
>   /** Contains directory listings. */
>   private Cache<Path, DirListingMetadata> dirCache;
> {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


Mime
View raw message