You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Andrei Dulceanu (JIRA)" <ji...@apache.org> on 2017/12/18 12:16:00 UTC

[jira] [Updated] (OAK-6737) Standby server should send timely responses to all client requests

     [ https://issues.apache.org/jira/browse/OAK-6737?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrei Dulceanu updated OAK-6737:
---------------------------------
    Fix Version/s:     (was: 1.7.13)

> Standby server should send timely responses to all client requests
> ------------------------------------------------------------------
>
>                 Key: OAK-6737
>                 URL: https://issues.apache.org/jira/browse/OAK-6737
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: segment-tar, tarmk-standby
>            Reporter: Andrei Dulceanu
>            Assignee: Andrei Dulceanu
>            Priority: Minor
>              Labels: cold-standby
>             Fix For: 1.8
>
>
> Currently all the {{GetXXXRequestHandler}} (where XXX stands for Blob, Head, References and Segment), on the server discard client requests which cannot be satisfied (i.e. the requested object does not exist (yet) on the server). A more transparent approach would be to timely respond to all client requests, clearly stating that the object was not found. This would improve a lot debugging for example, because all requests and their responses could be easily followed from the client log, without needing to know what actually happened on the server.
> Below, a possible implementation for {{GetHeadRequestHandler}}, suggested by [~frm] in a comment on OAK-6678:
> {noformat}
> String id = reader.readHeadRecordId();
> if (id == null) {
>     ctx.writeAndFlush(new NotFoundGetHeadResponse(msg.getClientId(), id));
>     return;
> }
> ctx.writeAndFlush(new GetHeadResponse(msg.getClientId(), id));
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)