Skip to content
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

nautilus: rgw: Use correct bucket info when put or get large object with swift. #40106

Merged
merged 1 commit into from
May 20, 2021

Conversation

xijiacun
Copy link

@xijiacun xijiacun commented Mar 15, 2021

backport tracker: https://tracker.ceph.com/issues/50836

backport of #40296

parent tracker: https://tracker.ceph.com/issues/49791


Fixes: https://tracker.ceph.com/issues/49791

Signed-off-by: zhiming zhang zhangzhm1@chinatelecom.cn
Signed-off-by: yupeng chen chenyupeng@chinatelecom.cn

Checklist

  • References tracker ticket
  • Updates documentation if necessary
  • Includes tests for new functionality or reproducer for bug

Show available Jenkins commands
  • jenkins retest this please
  • jenkins test classic perf
  • jenkins test crimson perf
  • jenkins test signed
  • jenkins test make check
  • jenkins test make check arm64
  • jenkins test submodules
  • jenkins test dashboard
  • jenkins test api
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox

@github-actions github-actions bot added this to the nautilus milestone Mar 15, 2021
@bel5f5
Copy link
Contributor

bel5f5 commented Mar 15, 2021

@yehudasa Please help to review the code.

@tchaikov
Copy link
Contributor

tchaikov commented Mar 15, 2021

@xijiacun @bel5f5 does this issue exist in master or any of the LTS branches? if yes, probably we should fix it in master first. and backport it to nautilus (and other LTS branches)?

@xijiacun
Copy link
Author

@xijiacun @bel5f5 does this issue exist in master or any of the LTS branches? if yes, probably we should fix it in master first. and backport it to nautilus (and other LTS branches)?

This issue does not exist in master, but exist in N and O branches.

@xijiacun
Copy link
Author

@xijiacun @bel5f5 does this issue exist in master or any of the LTS branches? if yes, probably we should fix it in master first. and backport it to nautilus (and other LTS branches)?

@tchaikov

@xijiacun xijiacun closed this Mar 17, 2021
@xijiacun xijiacun deleted the nautilus branch March 17, 2021 09:56
@xijiacun xijiacun restored the nautilus branch March 17, 2021 09:57
@xijiacun xijiacun reopened this Mar 17, 2021
@xijiacun xijiacun closed this Mar 18, 2021
@xijiacun xijiacun reopened this Mar 18, 2021
@xijiacun xijiacun closed this Mar 18, 2021
@xijiacun xijiacun reopened this Mar 18, 2021
@xijiacun
Copy link
Author

@xijiacun @bel5f5 does this issue exist in master or any of the LTS branches? if yes, probably we should fix it in master first. and backport it to nautilus (and other LTS branches)?

This issue does not exist in master, but exist in N and O branches.

@tchaikov

@@ -858,8 +859,10 @@ int RGWPutObj_ObjStore_SWIFT::update_slo_segment_size(rgw_slo_entry& entry) {
return r;
}
bucket = bucket_info.bucket;
pbucket_info = &bucket_info;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is storing a pointer to RGWBucketInfo bucket_info; which goes out of scope on the next line

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, I fixed it in pr to octopus, #40296,

@smithfarm smithfarm changed the title rgw: Use correct bucket info when put or get large object with swift. nautilus: rgw: Use correct bucket info when put or get large object with swift. Mar 22, 2021
@smithfarm smithfarm added the rgw label Mar 22, 2021
@smithfarm
Copy link
Contributor

@xijiacun The standard procedure [1] in this case would be:

  1. open fix targeting octopus - you already did that here: octopus: rgw: Use correct bucket info when put or get large object with swift #40296
  2. wait for the octopus fix to be reviewed, tested and merged
  3. cherry-pick the octopus fix to nautilus using git cherry-pick -x

Would that be OK for you?

[1] https://github.com/ceph/ceph/blob/master/SubmittingPatches-backports.rst

@smithfarm smithfarm added the DNM label Mar 22, 2021
@jdurgin jdurgin changed the base branch from nautilus to nautilus-saved March 31, 2021 00:14
@jdurgin jdurgin changed the base branch from nautilus-saved to nautilus March 31, 2021 00:14
@idryomov idryomov changed the base branch from nautilus to nautilus-saved April 20, 2021 18:23
@idryomov idryomov changed the base branch from nautilus-saved to nautilus April 20, 2021 18:23
@jdurgin jdurgin changed the base branch from nautilus to nautilus-saved May 14, 2021 21:59
@jdurgin jdurgin changed the base branch from nautilus-saved to nautilus May 14, 2021 21:59
@xijiacun xijiacun closed this May 17, 2021
@tchaikov
Copy link
Contributor

@xijiacun sorry for the latency. i am not qualified for reviewing RGW changes like your fix. so i'd defer the review to developers who have better understanding of RGW.

@smithfarm i am removing the DNM label, since the octopus fix has been merged.

@tchaikov tchaikov added nautilus-batch-1 nautilus point releases needs-qa and removed DNM labels May 17, 2021
@smithfarm smithfarm removed nautilus-batch-1 nautilus point releases needs-qa labels May 17, 2021
Copy link
Contributor

@smithfarm smithfarm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xijiacun When I tried cherry-picking b6bf107 to nautilus, I got a conflict. Did you also?

The reason I ask is I noticed the commit message in this PR does not have a "Conflicts" section, which ordinarily means the cherry-pick applied cleanly (?).

When you run git cherry-pick -x and need to resolve conflicts, git generates this "Conflicts" section when it generates the commit message. Unfortunately, as of a certain git version it also started commenting-out the Conflicts section that it generates, so now it's easy to forget to uncomment it.

For more information, see https://github.com/ceph/ceph/blob/master/SubmittingPatches-backports.rst#cherry-picking-rules where it says:

  • the commit message generated by git cherry-pick -x must not be modified, except to add a "Conflicts" section below the "cherry picked from commit ..." line added by git
  • the "Conflicts" section must mention all files where changes had to be made manually (not just conflicts flagged by git)
  • the "Conflicts" section should also describe the manual changes that were made

and https://github.com/ceph/ceph/blob/master/SubmittingPatches-backports.rst#conflict-resolution which presents an example illustrating what a Conflicts section looks like.

@xijiacun
Copy link
Author

@xijiacun When I tried cherry-picking b6bf107 to nautilus, I got a conflict. Did you also?

The reason I ask is I noticed the commit message in this PR does not have a "Conflicts" section, which ordinarily means the cherry-pick applied cleanly (?).

When you run git cherry-pick -x and need to resolve conflicts, git generates this "Conflicts" section when it generates the commit message. Unfortunately, as of a certain git version it also started commenting-out the Conflicts section that it generates, so now it's easy to forget to uncomment it.

For more information, see https://github.com/ceph/ceph/blob/master/SubmittingPatches-backports.rst#cherry-picking-rules where it says:

  • the commit message generated by git cherry-pick -x must not be modified, except to add a "Conflicts" section below the "cherry picked from commit ..." line added by git
  • the "Conflicts" section must mention all files where changes had to be made manually (not just conflicts flagged by git)
  • the "Conflicts" section should also describe the manual changes that were made

and https://github.com/ceph/ceph/blob/master/SubmittingPatches-backports.rst#conflict-resolution which presents an example illustrating what a Conflicts section looks like.

yes, there is a conflict. I cherry-pick again to add conflicts section. @smithfarm

Fixes: https://tracker.ceph.com/issues/49791

Signed-off-by: zhiming zhang <zhangzhm1@chinatelecom.cn>
Signed-off-by: yupeng chen <chenyupeng@chinatelecom.cn>
(cherry picked from commit bdd0635)

 Conflicts:
	src/rgw/rgw_op.cc
	src/rgw/rgw_rest_swift.cc

-In octopus:
-	RGWRados::Object op_target(store->getRados(), ...)
-In nautilus:
-	RGWRados::Object op_target(store, ...)
@xijiacun xijiacun reopened this May 18, 2021
@xijiacun xijiacun closed this May 18, 2021
@xijiacun xijiacun reopened this May 18, 2021
@smithfarm smithfarm dismissed their stale review May 18, 2021 07:03

The commit message looks good to me now, thank you!

@smithfarm smithfarm added nautilus-batch-1 nautilus point releases needs-qa labels May 18, 2021
@yuriw yuriw merged commit 833da4c into ceph:nautilus May 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants