Michael Dürig commented on OAK-4813:

Being completely new to the standby implementation this might not apply at all. 
But I'm not sure whether this patch addresses what [~frm] had in mind. AFAICS 
{{StandByServer}} still has a dependency to the {{FileStore}}. Only that it is 
now looped through {{builder.storeProvider.provideStore()}}. To make the server 
truly symmetric to the client some sort of decoupling between fetching the data 
from the store and sending it from the server needs to be implemented. The 
client does this via the various blocking queues. However, I can't really judge 
whether this is what [~frm] was thinking of and whether this is good or bad. 
Probably best to wait for him to have a look and clarify. 

> Simplify the server side of cold standby
> ----------------------------------------
>                 Key: OAK-4813
>                 URL: https://issues.apache.org/jira/browse/OAK-4813
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: segment-tar
>            Reporter: Andrei Dulceanu
>            Assignee: Andrei Dulceanu
>            Priority: Minor
>             Fix For: Segment Tar 0.0.14
>         Attachments: OAK-4813-01.patch
> With the changes introduced in OAK-4803, it would be nice to keep the 
> previous symmetry between the client and server and remove thus the  
> {{FileStore}} reference from the latter.
> Per [~frm]'s suggestion from one of the comments in OAK-4803:
> bq. In the end, these are the only three lines where the FileStore is used in 
> the server, which already suggests that this separation of concerns exists - 
> at least at the level of the handlers.
> {code:java}
> p.addLast(new GetHeadRequestHandler(new DefaultStandbyHeadReader(store)));
> p.addLast(new GetSegmentRequestHandler(new 
> DefaultStandbySegmentReader(store)));
> p.addLast(new GetBlobRequestHandler(new DefaultStandbyBlobReader(store)));
> {code}

This message was sent by Atlassian JIRA

Reply via email to