[
https://issues.apache.org/jira/browse/HADOOP-16326?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gabor Bota updated HADOOP-16326:
--------------------------------
Description:
We use LocalMetadataStore MetadataStore implementation in S3Guard only for
testing.
Inside it uses Guava's cache for storing metadatas. We try to mimic how dynamo
should work under the hood, but with every new feature or API modification what
we do on MetadataStore interface level it gets more and more complicated to
implement the same feature with different behavior.
I want to start a debate on why we need to remove that, or why we want to keep
it.
I could rant about why is it annoying to have this implementation when we need
to get an implementation right to work with dynamo, and then do a totally
different set of modification in the LocalMetadata to get the same outcome, and
also add more tests just for the MetadataStore we use for testing. There are
also areas in our ever-growing testing matrix that would need more attention
instead of fixing tests for our test implementation. But on the other hand, it
is good that we have another impl for the API which we can use for drafting new
ideas.
was:
We use LocalMetadataStore MetadataStore implementation in S3Guard only for
testing.
Inside it uses Guava's cache for storing metadatas. We try to mimic how dynamo
should work under the hood, but with every new feature or API modification what
we do on MetadataStore interface level it gets more and more complicated to
implement the same feature with different behavior.
I want to start a debate on why we need to remove that, and why we want to keep
it.
I could rant about why is it annoying to have this implementation when we need
to get an implementation right to work with dynamo, and then do a totally
different set of modification in the LocalMetadata to get the same outcome, and
also add more tests just for the MetadataStore we use for testing. There are
also areas in our ever-growing testing matrix that would need more attention
instead of fixing tests for our test implementation. But on the other hand, it
is good that we have another impl for the API which we can use for drafting new
ideas.
> S3Guard: Remove LocalMetadataStore
> ----------------------------------
>
> Key: HADOOP-16326
> URL: https://issues.apache.org/jira/browse/HADOOP-16326
> Project: Hadoop Common
> Issue Type: Bug
> Components: fs/s3
> Affects Versions: 3.3.0
> Reporter: Gabor Bota
> Priority: Minor
>
> We use LocalMetadataStore MetadataStore implementation in S3Guard only for
> testing.
> Inside it uses Guava's cache for storing metadatas. We try to mimic how
> dynamo should work under the hood, but with every new feature or API
> modification what we do on MetadataStore interface level it gets more and
> more complicated to implement the same feature with different behavior.
> I want to start a debate on why we need to remove that, or why we want to
> keep it.
> I could rant about why is it annoying to have this implementation when we
> need to get an implementation right to work with dynamo, and then do a
> totally different set of modification in the LocalMetadata to get the same
> outcome, and also add more tests just for the MetadataStore we use for
> testing. There are also areas in our ever-growing testing matrix that would
> need more attention instead of fixing tests for our test implementation. But
> on the other hand, it is good that we have another impl for the API which we
> can use for drafting new ideas.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]