-
Notifications
You must be signed in to change notification settings - Fork 590
HDDS-3205. DeleteBlock via Ratis in SCM HA #1780
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HDDS-3205. DeleteBlock via Ratis in SCM HA #1780
Conversation
|
@GlenGeng @amaliujia Could you help review this ? Thanks a lot. |
|
Will take a look! Thanks for this PR. |
...s/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManager.java
Outdated
Show resolved
Hide resolved
...op-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogImplV2.java
Outdated
Show resolved
Hide resolved
...op-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogImplV2.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/interface-server/src/main/proto/ScmServerDatanodeHeartbeatProtocol.proto
Outdated
Show resolved
Hide resolved
GlenGeng-awx
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. left some inline comments. Thanks for the work!
...op-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogImplV2.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/BlockManagerImpl.java
Outdated
Show resolved
Hide resolved
...rver-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManagerImpl.java
Outdated
Show resolved
Hide resolved
...op-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogImplV2.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/interface-server/src/main/proto/ScmServerDatanodeHeartbeatProtocol.proto
Outdated
Show resolved
Hide resolved
...s/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManager.java
Outdated
Show resolved
Hide resolved
...rver-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManagerImpl.java
Outdated
Show resolved
Hide resolved
31daaec to
565326f
Compare
hadoop-hdds/interface-server/src/main/proto/SCMRatisProtocol.proto
Outdated
Show resolved
Hide resolved
565326f to
9de897b
Compare
|
@GlenGeng @bshashikant @amaliujia Thanks for review. I have updated the patch. |
|
@runzhiwang Is the CI failure related to your changes ? They seems to be affected by your changes. |
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMStateMachine.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLog.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMContext.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/interface-server/src/main/proto/ScmServerDatanodeHeartbeatProtocol.proto
Outdated
Show resolved
Hide resolved
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/BlockManagerImpl.java
Outdated
Show resolved
Hide resolved
...s/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManager.java
Outdated
Show resolved
Hide resolved
...rver-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManagerImpl.java
Outdated
Show resolved
Hide resolved
...op-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogImplV2.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMStateMachine.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMStateMachine.java
Outdated
Show resolved
Hide resolved
GlenGeng-awx
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, some typo related comments.
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/BlockManagerImpl.java
Outdated
Show resolved
Hide resolved
...op-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogImplV2.java
Outdated
Show resolved
Hide resolved
...op-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogImplV2.java
Outdated
Show resolved
Hide resolved
...rver-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManagerImpl.java
Outdated
Show resolved
Hide resolved
...op-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogImplV2.java
Outdated
Show resolved
Hide resolved
...op-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogImplV2.java
Outdated
Show resolved
Hide resolved
...rver-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManagerImpl.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMDBTransactionBuffer.java
Outdated
Show resolved
Hide resolved
...rver-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManagerImpl.java
Outdated
Show resolved
Hide resolved
...rver-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManagerImpl.java
Outdated
Show resolved
Hide resolved
d62e6cc to
744f6e3
Compare
|
LGTM. @bshashikant @amaliujia @nandakumar131 Please take one more look at this PR. Thanks! This PR has implemented all the functionality according to the design: https://docs.google.com/document/d/166Aea2EowSGWtAFWNlDv0gu4rA06dQ2rJAsBd-l210Q/edit?usp=sharing. After it is merged. all the features of Phase 2.0 of SCM HA will be finished. |
...op-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogImplV2.java
Outdated
Show resolved
Hide resolved
...op-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogImplV2.java
Outdated
Show resolved
Hide resolved
|
LGTM |
|
@runzhiwang Please rebase the HDDS-2823, since SCMServiceManager is merged. |
744f6e3 to
928a9ce
Compare
|
@GlenGeng I have rebased it. |
|
Thanks @runzhiwang for the contribution. |
|
Sorry for the late comments. I have one concern about current SCM HA handling mechanism. As the Blocks/Container/Pipeline update ops are cached in BatchOperation, and only be flushed during SCM snapshot take. But if user use the stand alone SCM mode to run based on current HA code. Is that will lead OOM error since stand alone SCM won't take any snapshot by itself while the request update will still go into SCM Transaction Buffer in our current implementation. @runzhiwang @GlenGeng , is this a real problem of my concern? |
|
Hey @linyiqun, thanks for the review ! We planed to use single server raft cluster for the stand alone mode, which means the taking snapshot functionality works too. |
Okay, after that, that's not a problem. |
What changes were proposed in this pull request?
DeleteBlock needs to add/update/delete DELETED_BLOCKS_TABLE in SCMMetadataDB. So SCM does these operations via ratis.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-3205
How was this patch tested?
Existed UT.