alluxio icon indicating copy to clipboard operation
alluxio copied to clipboard

Configure block and inode metastore separately

Open bzheng888 opened this issue 2 years ago • 10 comments

What changes are proposed in this pull request?

Separate configuration for block and inode is make sense, because in some cases, blockstore use ROCKS is enough, but inodestore must use HEAP, we want to distinguish the difference between these two types.

Why are the changes needed?

Sometimes we want to config inode metastore type and block metastore type seperately.

Does this PR introduce any user facing changes?

Please list the user-facing changes introduced by your change, including

  1. change in user-facing APIs Some configuration changes

bzheng888 avatar Nov 22 '21 13:11 bzheng888

Automated checks report:

  • Commits associated with Github account: PASS
  • PR title follows the conventions: FAIL
    • The title of the PR does not pass all the checks. Please fix the following issues:
      • First word of title ("Seperate") is not an imperative verb. Please use one of the valid words

Some checks failed. Please fix the reported issues and reply 'alluxio-bot, check this please' to re-run checks.

alluxio-bot avatar Nov 22 '21 13:11 alluxio-bot

Automated checks report:

  • Commits associated with Github account: PASS
  • PR title follows the conventions: PASS

All checks passed!

alluxio-bot avatar Nov 22 '21 13:11 alluxio-bot

Codecov Report

Merging #14565 (e8f64e9) into master (ea4d766) will decrease coverage by 24.87%. The diff coverage is 73.91%.

Impacted file tree graph

@@              Coverage Diff              @@
##             master   #14565       +/-   ##
=============================================
- Coverage     41.83%   16.96%   -24.88%     
+ Complexity     9326     2702     -6624     
=============================================
  Files          1494     1494               
  Lines         87696    87841      +145     
  Branches      10451    10461       +10     
=============================================
- Hits          36691    14900    -21791     
- Misses        48021    71698    +23677     
+ Partials       2984     1243     -1741     
Impacted Files Coverage Δ
...ommon/src/main/java/alluxio/util/FeatureUtils.java 0.00% <0.00%> (ø)
...ster/src/main/java/alluxio/master/MasterUtils.java 55.17% <66.66%> (-4.09%) :arrow_down:
...common/src/main/java/alluxio/conf/PropertyKey.java 98.07% <100.00%> (-1.38%) :arrow_down:
...mon/src/main/java/alluxio/shell/CommandReturn.java 0.00% <0.00%> (-100.00%) :arrow_down:
...mon/src/main/java/alluxio/util/ExceptionUtils.java 0.00% <0.00%> (-100.00%) :arrow_down:
...n/src/main/java/alluxio/wire/AlluxioProxyInfo.java 0.00% <0.00%> (-100.00%) :arrow_down:
.../src/main/java/alluxio/wire/AlluxioMasterInfo.java 0.00% <0.00%> (-100.00%) :arrow_down:
...src/main/java/alluxio/job/meta/JobIdGenerator.java 0.00% <0.00%> (-100.00%) :arrow_down:
...n/src/main/java/alluxio/stress/BaseParameters.java 0.00% <0.00%> (-100.00%) :arrow_down:
...src/main/java/alluxio/client/UnderStorageType.java 0.00% <0.00%> (-100.00%) :arrow_down:
... and 691 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update ea4d766...e8f64e9. Read the comment docs.

codecov-commenter avatar Nov 22 '21 13:11 codecov-commenter

@maobaolong Done, PTAL!

bzheng888 avatar Nov 25 '21 02:11 bzheng888

It would be better if you KEEP MASTER_METASTORE propertykey and if it setByUser, the original logic should honor the configured value and ignored the MASTER_BLOCK_METASTORE and MASTER_INODE_METASTORE config

Thanks for pointing this, update this pr, PTAL!

bzheng888 avatar Nov 26 '21 06:11 bzheng888

Hi, @jiacheliu3, can you take some time to review this pr?

bzheng888 avatar Nov 29 '21 07:11 bzheng888

@bzheng888 @maobaolong Can you please clarify on the use case? I'm not following. This is a very big change.

FYI: @apc999 @yuzhu @ggezer

jiacheliu3 avatar Nov 29 '21 08:11 jiacheliu3

@jiacheliu3 Thank you for your reply, the main idea for this pr is to config master inode metastore and block metastore separately. Talking about cases, if our case are big files, and the amount of inode metadata is not that much, we can config inode metastore as heap, but the block metadata will be very large, it's better to use rocks metastore to support large namespace.

bzheng888 avatar Dec 01 '21 05:12 bzheng888

@maobaolong @jiacheliu3 @dbw9580 Update this pr, PTAL!

bzheng888 avatar Aug 01 '22 14:08 bzheng888

@bzheng888 Will take a quick look soon

maobaolong avatar Aug 05 '22 02:08 maobaolong

@bzheng888 @maobaolong Please see my previous comments above. Thx!

jiacheliu3 avatar Oct 18 '22 13:10 jiacheliu3

image Don't know why failed this test, seems not relate to this pr?

bzheng888 avatar Nov 02 '22 11:11 bzheng888

@jiacheliu3 @elega PTAL

bzheng888 avatar Nov 02 '22 12:11 bzheng888

Resolve the conflicts

bzheng888 avatar Nov 03 '22 06:11 bzheng888

alluxio-bot, merge this please

jiacheliu3 avatar Nov 03 '22 07:11 jiacheliu3