-
Notifications
You must be signed in to change notification settings - Fork 19
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
Feature: ARSN-235 update object before deleting it #1944
Feature: ARSN-235 update object before deleting it #1944
Conversation
Hello kerkesni,My role is to assist you with the merge of this Status report is not available. |
a958ad3
to
e96f814
Compare
Codecov Report
@@ Coverage Diff @@
## development/8.1 #1944 +/- ##
===================================================
+ Coverage 63.83% 63.89% +0.05%
===================================================
Files 206 206
Lines 15593 15641 +48
Branches 3179 3186 +7
===================================================
+ Hits 9954 9994 +40
- Misses 5623 5631 +8
Partials 16 16
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
5b2d50b
to
a4ec247
Compare
a4ec247
to
a5128af
Compare
/create_pull_requests |
a5128af
to
90e5231
Compare
90e5231
to
f8bd238
Compare
f8bd238
to
bbfab35
Compare
abc9f56
to
7e25c9b
Compare
/force_reset |
Reset completeI have successfully deleted this pull request's integration branches. The following options are set: create_pull_requests |
Integration data createdI have created the integration data for the additional destination branches.
The following branches will NOT be impacted:
Follow integration pull requests if you would like to be notified of The following options are set: create_pull_requests |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
The following options are set: create_pull_requests |
Object deletion no longer directly deletes the object, it first updates its metadata by setting the deletion flag and originOp then proceeds to deleting the object. This is done to keep a trace of the latest object metadata before deletion in the oplog, as oplog delete events don't hold that information. This information is needed for both Cold Storage and Bucket Notification We also add all the object metadata to the placeholder (PHD) master which wasn't previously the case, again this is done to keep the metadata in the oplog as a PHD might get directly deleted in the repair phase.
7e25c9b
to
9a97572
Compare
/force_reset |
Reset completeI have successfully deleted this pull request's integration branches. The following options are set: create_pull_requests |
Integration data createdI have created the integration data for the additional destination branches.
The following branches will NOT be impacted:
Follow integration pull requests if you would like to be notified of The following options are set: create_pull_requests |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
The following options are set: create_pull_requests |
/approve |
In the queueThe changeset has received all authorizations and has been added to the The changeset will be merged in:
The following branches will NOT be impacted:
There is no action required on your side. You will be notified here once IMPORTANT Please do not attempt to modify this pull request.
If you need this pull request to be removed from the queue, please contact a The following options are set: create_pull_requests, approve |
I have successfully merged the changeset of this pull request
The following branches have NOT changed:
Please check the status of the associated issue ARSN-235. Goodbye kerkesni. |
Issue: ARSN-235
Note: The full changes are in the integration PR
Due to Armory work, any changes affecting the MongoClientInterface needs to be pushed both in 7.x and 8.x.
Some tests are incompatible with 7.x due to the ObjectMD model being different. These tests were skipped in 7.x.
Two new properties were added to the ObjectMD (deleted, isPHD). The commits are only applied to the 8.x branch for obvious reasons.
Bucket Notification as well as Cold Storage need object metadata when this one gets deleted. The MongoDB oplog's delete events do not contain any of the metadata of the deleted object. They only contain the "_id" of the object.
This issue was addressed by updating the metadata of the object while adding a new tag that shows that the object is being deleted, and then immediately deleting the object. This will add an update event to the oplog containing all of the needed metadata.
Cloudserver Build : https://eve.devsca.com/github/scality/cloudserver/#/builders/15/builds/9413