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/09/28 06:56:00 UTC

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

Andrei Dulceanu created OAK-6737:
------------------------------------

             Summary: 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
             Fix For: 1.8, 1.7.9


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)