-
Notifications
You must be signed in to change notification settings - Fork 257
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
OSD class method execution #989
Conversation
Let me add some initial comments:
|
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.
I'm not sure but can we consider combining exec_step_op.go and ceph_buffer_list.go?
Regarding the API stuff @anoopcs9 mentioned, it's documented here: https://github.com/ceph/go-ceph/blob/master/docs/development.md#api-status |
cc @ansiwen especially WRT the new bufferlist structure |
.... and thank you very much for looking into adding these apis! |
I'm on PTO until June 6, I can only have a look afterwards. But don't hesitate to merge it before. I can still propose a fixup, if I don't like something. |
Thanks @ansiwen for the update. We'll see how it goes. A couple of thoughts on the helper type:
Let me know if I have misunderstood, or misread, anything in the above - if there's value to the new type please share what the advantage is. Otherwise it may be better to return a native Go type. Note that you can still use the type (renamed to lowercase) as an implementation detail if you wish, in this case. |
I should have looked closer at the test. This is part of the 'Op' infrasctructure that is a "batch" operations API. You don't have real bytes to return yet -- the buffer class is a bit of a "promise" rather than a simple "buffer". Let me think if I can come up with a better suggestion. |
After refreshing my memory wrt the existing APIs, I think you can mimic what was done for the read api: Converge CephBufferList with the exec step to something like |
@Mergifyio rebase |
❌ Pull request can't be updated with latest base branch changesMergify needs the author permission to update the base branch of the pull request. |
Rebased & applied changes proposed by @phlogistonjohn |
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.
Looking quite good now. When I start nitpicking the doc comments you know you're generally on the right track ;-)
I have one small but substantial comment on the Bytes method as I want to ensure it does something sensible if it is (incorrectly) called before Operate.
Thanks for continuing to work on this. The code looks pretty good to me now. I think the only things remaining are "organizational". First, I think the JSON generated from the api update make commands is out of date with the actual doc comments in the code. The simplest thing might be simply to delete the current changes and regenerate the JSON changes from scratch. Related to the git commit history: We prefer a linear history and as such, do not want intermediate commits in the final history. If you are comfortable doing it, could you please squash all the commits on this PR into a single commit. While doing that, please add a If you don't feel comfortable doing this on your own feel free to ask us for steps or direct assistance... |
Also, please rebase or configure mergify so that we can trigger rebases using mergify (see #989 (comment) ). |
Initial review comments are no longer valid with latest version of the change.
I did rebase & squash & fixed api json. |
Signed-off-by: Vladimir Kavlakan <[email protected]>
@phlogistonjohn please review changes |
Signed off by and commit message look ok to me on first glance. I'll enable the test run and try and re-review in the next couple of hours. |
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. Thanks so much for working with us on this.
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, thanks.
Added
rados_read_op_exec
&rados_write_op_exec
go-wrappers.Fixed: #307
Fixed: #305
Added
CephBufferList
structure to manage c++ allocated memory.