Description
In ChangeLogConsumerBaseImpl, when the log level is DEBUG, it sets a Map variable debugLog. Before adding to this collection, it first checks whether debugLog was initialized (i.e., the log4j logger is at debug level). However, there is one case where it isn't checked. This means that it will fail with a NullPointerException, unless ChangeLogConsumerBaseImpl is set to log at DEBUG.
java.lang.RuntimeException: Error in loader job: null, check logs: Error: o365unified threw an exception processing change log entry sequence number 10193785., sequenceNumber: 10193785, java.lang.NullPointerException
at edu.internet2.middleware.grouper.changeLog.ChangeLogConsumerBaseImpl$ChangeLogEventType$7.process(ChangeLogConsumerBaseImpl.java:388)
at edu.internet2.middleware.grouper.changeLog.ChangeLogConsumerBaseImpl.processChangeLogEntry(ChangeLogConsumerBaseImpl.java:855)
at edu.internet2.middleware.grouper.changeLog.ChangeLogConsumerBaseImpl.processChangeLogEntries(ChangeLogConsumerBaseImpl.java:775)
at edu.internet2.middleware.grouper.changeLog.ChangeLogHelper.processRecords(ChangeLogHelper.java:245)
at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType$5.runJob(GrouperLoaderType.java:720)
at edu.internet2.middleware.grouper.app.loader.GrouperLoaderJob.runJob(GrouperLoaderJob.java:465)
at edu.internet2.middleware.grouper.app.loader.GrouperLoaderJob.execute(GrouperLoaderJob.java:345)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Do I have something configured wrong, or is something wrong in my provisioner? I'm surprised that hasn't been encountered before. Is everyone logging ChangeLogConsumerBaseImpl at debug level?