)]}'
{"src/main/java/net/spy/memcached/protocol/BaseOperationImpl.java":[{"author":{"_account_id":1000013,"name":"Matt Ingenthron","email":"ingenthr@gmail.com","username":"ingenthr","avatars":[{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"5b31ca4ca8af355d0a148e631a81d58b4ad736f3","unresolved":false,"context_lines":[{"line_number":171,"context_line":"      assert false;"},{"line_number":172,"context_line":"    }"},{"line_number":173,"context_line":"    callback.receivedStatus(new OperationStatus(false,"},{"line_number":174,"context_line":"        exception.getMessage(), ErrorCode.EXCEPTION));"},{"line_number":175,"context_line":"    transitionState(OperationState.COMPLETE);"},{"line_number":176,"context_line":"    throw exception;"},{"line_number":177,"context_line":"  }"}],"source_content_type":"text/x-java","patch_set":1,"id":"AAABmn%2F%2F%2F18%3D","line":174,"updated":"2012-05-26 18:30:07.000000000","message":"wow, never really noticed this before, but sticking the exception message in here is maybe not the best?  Let me think about that.  It would be better to have the throwable somewhere in here.  switching on ErrorCode.EXCEPTION I may want to throw my own exception with this one enclosed.","commit_id":"545e53a0a41cda5c4b84bf0fa1dab0a9a148662d"}],"src/main/java/net/spy/memcached/protocol/ascii/VersionOperationImpl.java":[{"author":{"_account_id":1000013,"name":"Matt Ingenthron","email":"ingenthr@gmail.com","username":"ingenthr","avatars":[{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"5b31ca4ca8af355d0a148e631a81d58b4ad736f3","unresolved":false,"context_lines":[{"line_number":47,"context_line":"  public void handleLine(String line) {"},{"line_number":48,"context_line":"    assert line.startsWith(\"VERSION \");"},{"line_number":49,"context_line":"    getCallback().receivedStatus(new OperationStatus(true,"},{"line_number":50,"context_line":"        line.substring(\"VERSION \".length()), ErrorCode.SUCCESS));"},{"line_number":51,"context_line":"    transitionState(OperationState.COMPLETE);"},{"line_number":52,"context_line":"  }"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-java","patch_set":1,"id":"AAABmn%2F%2F%2F14%3D","line":50,"updated":"2012-05-26 18:30:07.000000000","message":"Looks like this was incorrect before.  Calling length on a constant string after an assert to verify it starts with that string seems like we\u0027re not doing the right thing.  There really shouldn\u0027t be an assert here.\n\nWhy not just take the whole line?\n\nThis is one place that we should just have a unit test for.","commit_id":"545e53a0a41cda5c4b84bf0fa1dab0a9a148662d"},{"author":{"_account_id":1000136,"name":"Mike Wiederhold","email":"mike@couchbase.com","username":"mikewied","avatars":[{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"7ef286c04bef4165c154761e337a50788a4962f0","unresolved":false,"context_lines":[{"line_number":47,"context_line":"  public void handleLine(String line) {"},{"line_number":48,"context_line":"    assert line.startsWith(\"VERSION \");"},{"line_number":49,"context_line":"    getCallback().receivedStatus(new OperationStatus(true,"},{"line_number":50,"context_line":"        line.substring(\"VERSION \".length()), ErrorCode.SUCCESS));"},{"line_number":51,"context_line":"    transitionState(OperationState.COMPLETE);"},{"line_number":52,"context_line":"  }"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-java","patch_set":1,"id":"AAABmn%2F%2F%2BcI%3D","line":50,"in_reply_to":"AAABmn%2F%2F%2F14%3D","updated":"2012-06-01 22:57:43.000000000","message":"I think another bug should be filed for this.","commit_id":"545e53a0a41cda5c4b84bf0fa1dab0a9a148662d"}],"src/main/java/net/spy/memcached/protocol/binary/OperationImpl.java":[{"author":{"_account_id":1000013,"name":"Matt Ingenthron","email":"ingenthr@gmail.com","username":"ingenthr","avatars":[{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"5b31ca4ca8af355d0a148e631a81d58b4ad736f3","unresolved":false,"context_lines":[{"line_number":178,"context_line":"   */"},{"line_number":179,"context_line":"  protected OperationStatus getStatusForErrorCode(int errCode, byte[] errPl)"},{"line_number":180,"context_line":"    throws IOException {"},{"line_number":181,"context_line":"    ErrorCode ec \u003d ErrorCode.getErrorCode((byte)errCode);"},{"line_number":182,"context_line":"    switch (ec) {"},{"line_number":183,"context_line":"    case SUCCESS:"},{"line_number":184,"context_line":"      return STATUS_OK;"}],"source_content_type":"text/x-java","patch_set":1,"id":"AAABmn%2F%2F%2F10%3D","line":181,"updated":"2012-05-26 18:30:07.000000000","message":"can\u0027t we get rid of the cast here?  Is there any good reason to have the method called with an int?\n\nif it really is an int, why not switch on the int?","commit_id":"545e53a0a41cda5c4b84bf0fa1dab0a9a148662d"}]}
