-
Notifications
You must be signed in to change notification settings - Fork 9.2k
HDDS-1551. Implement Bucket Write Requests to use Cache and DoubleBuf… #850
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
Conversation
4418c56 to
efed9fc
Compare
|
💔 -1 overall
This message was automatically generated. |
efed9fc to
b15e8d6
Compare
|
Fixed findbug and checkstyle issues. |
b15e8d6 to
9483efb
Compare
|
💔 -1 overall
This message was automatically generated. |
9483efb to
16b207a
Compare
|
💔 -1 overall
This message was automatically generated. |
02a1a2d to
f763e1e
Compare
|
/retest |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
hanishakoneru
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.
Thank you @bharatviswa504 for working on this.
I have a few comments, mostly NitPicks.
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.
commitSetBucketPropertyInfoToDB() just calls commitCreateBucketInfoToDB() without any modification. We can directly call commitCreateBucketInfoToDB() here (and maybe rename it to commitBucketInfoToDB ? ).
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.
Done.
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.
How are these exceptions handled currently?
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.
Currently using ratisClient there is a TODO for RaftRetry failure exception, and I don't see anything being done for handling NotReplicatedException.
NotReplicatedException is thrown only for watch type requests. So, this exception will be never thrown in our HA case, as requests submitted through HA are Write requests.
RaftRetryFailure exception is thrown only from RatisClient, when using server this exception will not be thrown.
If you have any more comments, will update the TODO in next patch or I will take care of that in next jira if you are okay with it.
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.
Should it not be Status.valueOf()? Or does this also give the same result?
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.
Here ordinal gives Position, and from that position finding the value from Status.values() (This return array of Status)
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.
newCreateBucketInfo.setBucketInfo is done later. Should only set the creation time here.
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.
Done
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.
Why do we need a volume lock here?
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.
Acquired volume lock here, so that deleteVolume cannot happen while creating bucket.
Take a scenario: volume created, then delete Volume and Create bucket in that volume came in parallel. If we don't acquire volume lock, there might be a chance to create a bucket in a deletd volume.
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.
OMDummyCreateBucketResponse seems to be doing the same thing as OMBucketCreateResponse. Why do we need 2 different tests?
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.
This is added based on Arpit's comment in HDDS-1512. As we want to test OM Double Buffer Implementation without actual OM Responses too.
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.
Typo: request is invalid
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.
Done
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.
We can remove the prefix "OzoneManagerProtocolProtos" here (to avoid confusion)
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.
Done
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.
Typo: createSet...
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.
Done
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.
bucketName is not used here.
Can we rename this method to something like addVolumeToDB?
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.
Done
|
Thank You @hanishakoneru for the review. |
|
/retest |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
/retest |
|
Last commit change is moved all the classes to package named bucket under request/response. |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
8d7bf41 to
7620007
Compare
|
/retest |
|
Rebased with trunk. |
7620007 to
bf665af
Compare
|
💔 -1 overall
This message was automatically generated. |
|
Thank you @bharatviswa504 . +1 pending CI. |
|
Thank You @hanishakoneru for the review. |
|
💔 -1 overall
This message was automatically generated. |
|
I have committed this to the trunk. |
Author: Jagadish <[email protected]> Reviewers: Jagadish<[email protected]> Closes apache#850 from vjagadish1989/website-reorg37
…fer.