Page MenuHomePhabricator

[services] Blob - Add server reactor implementations - put reactor
ClosedPublic

Authored by karol on Mar 24 2022, 1:54 AM.
Tags
None
Referenced Files
F3377559: D3521.id10731.diff
Wed, Nov 27, 6:23 AM
Unknown Object (File)
Mon, Nov 25, 1:12 PM
Unknown Object (File)
Tue, Nov 19, 2:58 AM
Unknown Object (File)
Sun, Nov 17, 2:30 PM
Unknown Object (File)
Fri, Nov 8, 12:40 AM
Unknown Object (File)
Fri, Nov 8, 12:19 AM
Unknown Object (File)
Tue, Nov 5, 6:15 PM
Unknown Object (File)
Thu, Oct 31, 8:18 AM

Details

Summary

Depends on D3470

Add implementations for the server reactors - put reactor

Test Plan
cd services
yarn run-backup-service

Diff Detail

Repository
rCOMM Comm
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

karol retitled this revision from [services] Blob - Add server reactor implementations - put reactor to [draft] [services] Blob - Add server reactor implementations - put reactor.Mar 24 2022, 2:47 AM
ashoat requested changes to this revision.Mar 24 2022, 1:35 PM
ashoat added inline comments.
services/blob/docker-server/contents/server/src/Reactors/server/PutReactor.h
29

It looks like first we send a message to set the holder, and then we send a message to set the blobHash. Can we set these at the same time, and avoid the extra round trips?

81–97

Indentation can be reduced here

This revision now requires changes to proceed.Mar 24 2022, 1:35 PM
karol edited the summary of this revision. (Show Details)

rebase to master

thx for the comments, I'm gonna address them later, for now, I needed that rebase.

services/blob/docker-server/contents/server/src/Reactors/server/PutReactor.h
29

We can indeed.

81–97

right, thx

It looks like this code was moved from D3471 - it would be really helpful if you could mention cases like that, so that the review process is simplified.

In D3521#96040, @palys-swm wrote:

It looks like this code was moved from D3471 - it would be really helpful if you could mention cases like that, so that the review process is simplified.

You're partially right, but please note that the flow changes, instead of the loop we base here on the callback, so I think it is good to check once again if everything is implemented properly. But you're right that I could've said this is based on D3471 so we know the business logic should be the same.

services/blob/docker-server/contents/server/src/Reactors/server/PutReactor.h
29

Hey, getting back to this. I don't think this is a good place to change that. In this diff, we want to refactor from sync to async API and what you're mentioning is changing the structure/API of the service.

Such doubt should have been raised in D2666 and taken care of there.

If you feel like changing this as you mentioned, I can create a task for this and do it separately. Please, let me know if it is important to you and should I create a task.

ashoat added inline comments.
services/blob/docker-server/contents/server/src/Reactors/server/PutReactor.h
29

That makes sense – this will require .proto changes`, so it should be a separate diff.

Yes, I would like to prioritize this – can please create a task? In general, we should be thoughtful about avoiding unnecessary round trips. I think we did a good job with this in the backup service architecture review, but looks like we missed one thing in the blob service architecture review.

This revision is now accepted and ready to land.Mar 28 2022, 10:40 AM
services/blob/docker-server/contents/server/src/Reactors/server/PutReactor.h
29
karol retitled this revision from [draft] [services] Blob - Add server reactor implementations - put reactor to [services] Blob - Add server reactor implementations - put reactor.

removed draft label

This revision is now accepted and ready to land.Mar 30 2022, 4:26 AM
karol added inline comments.
services/blob/src/Reactors/server/PutReactor.h
72 ↗(On Diff #10754)

Wrong condition

fix condition in done callback

This revision is now accepted and ready to land.Apr 1 2022, 3:21 AM
This revision was landed with ongoing or failed builds.Apr 4 2022, 2:40 AM
This revision was automatically updated to reflect the committed changes.