Skip to content

Commit d57706d

Browse files
committed
RANGER-5102: Enable append mode for audits to hdfs with config param
1 parent 7365629 commit d57706d

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

agents-audit/src/main/java/org/apache/ranger/audit/utils/AbstractRangerAuditWriter.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,13 @@
4545
public abstract class AbstractRangerAuditWriter implements RangerAuditWriter {
4646
private static final Logger logger = LoggerFactory.getLogger(AbstractRangerAuditWriter.class);
4747

48-
public static final String PROP_FILESYSTEM_DIR = "dir";
49-
public static final String PROP_FILESYSTEM_SUBDIR = "subdir";
50-
public static final String PROP_FILESYSTEM_FILE_NAME_FORMAT = "filename.format";
51-
public static final String PROP_FILESYSTEM_FILE_ROLLOVER = "file.rollover.sec";
52-
public static final String PROP_FILESYSTEM_ROLLOVER_PERIOD = "file.rollover.period";
53-
public static final String PROP_FILESYSTEM_FILE_EXTENSION = ".log";
48+
public static final String PROP_FILESYSTEM_DIR = "dir";
49+
public static final String PROP_FILESYSTEM_SUBDIR = "subdir";
50+
public static final String PROP_FILESYSTEM_FILE_NAME_FORMAT = "filename.format";
51+
public static final String PROP_FILESYSTEM_FILE_ROLLOVER = "file.rollover.sec";
52+
public static final String PROP_FILESYSTEM_ROLLOVER_PERIOD = "file.rollover.period";
53+
public static final String PROP_FILESYSTEM_FILE_EXTENSION = ".log";
54+
public static final String PROP_IS_APPEND_ON_EXCEPTIONS_ENABLED = ".append.on.exceptions.enabled";
5455

5556
public Configuration conf;
5657
public FileSystem fileSystem;
@@ -70,6 +71,7 @@ public abstract class AbstractRangerAuditWriter implements RangerAuditWriter {
7071
public Date nextRollOverTime;
7172
public int fileRolloverSec = 24 * 60 * 60; // In seconds
7273
public boolean rollOverByDuration;
74+
public boolean isAppendOnExceptionsEnabled;
7375

7476
public volatile FSDataOutputStream ostream; // output stream wrapped in logWriter
7577

@@ -225,11 +227,14 @@ public void init(Properties props, String propPrefix) {
225227
logFileNameFormat = "%app-type%_ranger_audit_%hostname%" + fileExtension;
226228
}
227229

230+
isAppendOnExceptionsEnabled = MiscUtil.getBooleanProperty(props, propPrefix + PROP_IS_APPEND_ON_EXCEPTIONS_ENABLED, false);
231+
228232
logFolder = logFolderProp + "/" + logSubFolder;
229233

230234
logger.info("logFolder={}, destName={}", logFolder, auditProviderName);
231235
logger.info("logFileNameFormat={}, destName={}", logFileNameFormat, auditProviderName);
232236
logger.info("config={}", auditConfigs);
237+
logger.info("isAppendOnExceptionsEnabled={}", isAppendOnExceptionsEnabled);
233238

234239
rolloverPeriod = MiscUtil.getStringProperty(props, propPrefix + "." + PROP_FILESYSTEM_ROLLOVER_PERIOD);
235240
rollingTimeUtil = RollingTimeUtil.getInstance();
@@ -306,8 +311,8 @@ public PrintWriter createWriter() throws Exception {
306311
if (logWriter == null) {
307312
boolean appendMode = false;
308313

309-
// if append is supported, reuse last log file
310-
if (reUseLastLogFile && fileSystem.hasPathCapability(auditPath, CommonPathCapabilities.FS_APPEND)) {
314+
// if append is supported and enabled via config param, reuse last log file
315+
if (isAppendOnExceptionsEnabled && reUseLastLogFile && fileSystem.hasPathCapability(auditPath, CommonPathCapabilities.FS_APPEND)) {
311316
logger.info("Appending to last log file. auditPath = {}", fullPath);
312317

313318
try {

0 commit comments

Comments
 (0)