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

Dataspaces sync #37

Closed
wants to merge 9 commits into from
Closed

Dataspaces sync #37

wants to merge 9 commits into from

Conversation

qinyubo
Copy link
Collaborator

@qinyubo qinyubo commented Apr 3, 2018

In ds_gspace.c, I add ds_comp flag to structure sync_op. This flag holds the data process status, client-side ds_put request won't complete until this flag become true. The client sent this flag address with object data to the server. Once the server has completed processing the object data, from obj_put_complete() send rpc request along with that flag address back to the client side. Then dcgrpc_server_completion() modify the flag and release client sync lock.

PS: my ds_comp flag is similar to the opid flag in structure sync_op. I feel there must be some bugs on current opid flag implementation. It is better to find out what cause it fail, since my implementation brings an extra RPC communication.

2. Add syncds_ref() function to return sync_op.ds_comp[] address
3. Add dsgrpc_server_completion RPC call function to receive RPC call from server. And change sync_op.ds_comp[] value
4. Fixed dcg_obj_sync() behavior. Release when both client and server completed.
2. Update dsgrpc_obj_put() function, add sync_op pointer to msg buf
2. Add sync_comp_ptr attribute in rpc_cmd structure
@philip-davis
Copy link
Owner

fixes #26

qinyubo added 5 commits April 13, 2018 12:19
Add dcgrpc_server_completion() function which will release synchronization lock when received rpc function call from server obj_put_completion()
…erver has completed processing data

Add callback function obj_put_sync_completion() to free msg that created in obj_put_completion()
@philip-davis
Copy link
Owner

This was merged in manually for the 1.7 release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants