Description
SessionDelegate creates marker based on session id. As session id is variable such markers can get accumulated over time resulting in memory leak [1]
private static <T> void logOperationDetails(ContentSession session, SessionOperation<T> ops) { if (readOperationLogger.isTraceEnabled() || writeOperationLogger.isTraceEnabled() || auditLogger.isDebugEnabled()) { Marker sessionMarker = MarkerFactory.getMarker(session.toString()); Logger log = ops.isUpdate() ? writeOperationLogger : readOperationLogger; log.trace(sessionMarker, "[{}] {}", session, ops);
Workaround
Untill we fix it in code user should just set log level to info for following loggers
- org.apache.jackrabbit.oak.audit
- org.apache.jackrabbit.oak.jcr.operations.reads