You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "zengchao (Jira)" <ji...@apache.org> on 2020/11/13 06:10:00 UTC
[jira] [Created] (ZOOKEEPER-4002) ZKAuditProvider throw
NullPointerException if 'AUDIT_ENABLE' is false
zengchao created ZOOKEEPER-4002:
-----------------------------------
Summary: ZKAuditProvider throw NullPointerException if 'AUDIT_ENABLE' is false
Key: ZOOKEEPER-4002
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-4002
Project: ZooKeeper
Issue Type: Bug
Reporter: zengchao
When other place call ZKAuditProvider.log(...) ,it will throw a NullPointerException if 'AUDIT_ENABLE' is false. if 'AUDIT_ENABLE' is false, the static block have not instance 'auditLogger',so when we call log(...),we need to check if 'AUDIT_ENABLE' is true
{code:java}
static {
auditEnabled = Boolean.getBoolean(AUDIT_ENABLE);
if (auditEnabled) {
//initialise only when audit logging is enabled
auditLogger = getAuditLogger();
LOG.info("ZooKeeper audit is enabled.");
} else {
LOG.info("ZooKeeper audit is disabled.");
}
}
public static void log(String user, String operation, String znode, String acl,
String createMode, String session, String ip, Result result) {
auditLogger.logAuditEvent(createLogEvent(user, operation, znode, acl, createMode, session, ip, result));
}
{code}
Change to:
{code:java}
public static void log(String user, String operation, String znode, String acl,
String createMode, String session, String ip, Result result) {
if (isAuditEnabled()) {
auditLogger.logAuditEvent(createLogEvent(user, operation, znode, acl, createMode, session, ip, result));
}
}
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)