curie71 opened a new pull request, #1962: URL: https://github.com/apache/zookeeper/pull/1962
ZOOKEEPER-4648 FinalRequestProcessor addAuditLog before the process of request and make failedTxn=false. But I think failedTxn should be true if the request can not pass the checkACL and throw KeeperException or other exceptions, **since the err code after request processing is also important for audit.** ```java @param failedTxn whether audit is being done failed transaction for normal transaction public void processRequest(Request request) { ...... Code err = Code.OK; try { ...... AuditHelper.addAuditLog(request, rc); switch (request.type) { ...... case OpCode.getAllChildrenNumber: { lastOp = "GETACN"; ...... zks.checkACL( request.cnxn, zks.getZKDatabase().aclForNode(n), ZooDefs.Perms.READ, request.authInfo, path, null); ...... break; } ...... } } catch (SessionMovedException e) { ...... } catch (KeeperException e) { err = e.code(); } catch (Exception e) { ...... } ``` if the failedTxn == true or the rc.err != Code.OK, the log result will be FAILURE: ```java private static Result getResult(ProcessTxnResult rc, boolean failedTxn) { if (failedTxn) { return Result.FAILURE; } else { return rc.err == KeeperException.Code.OK.intValue() ? Result.SUCCESS : Result.FAILURE; } } ``` So we could add audit log after request processing and record the err code like below, the log info maybe more accurate. ```java Code err = Code.OK; try { ...... } catch (SessionMovedException e) { ...... } catch (KeeperException e) { err = e.code(); } catch (Exception e) { ...... } rc.err = err.intValue(); AuditHelper.addAuditLog(request, rc); ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@zookeeper.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org