Details
-
Improvement
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
None
-
None
Description
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:
String id = reader.readHeadRecordId(); if (id == null) { ctx.writeAndFlush(new NotFoundGetHeadResponse(msg.getClientId(), id)); return; } ctx.writeAndFlush(new GetHeadResponse(msg.getClientId(), id));