gharris1727 commented on PR #15922:
URL: https://github.com/apache/kafka/pull/15922#issuecomment-2108352775

   @chia7712 I added the null check. I did notice that the 
`append(LoggingEvent)` method could also run into an NPE when called before 
`activateOptions()` or a IllegalStateException if called after `close()`
   
   The first state doesn't appear to be possible, because activateOptions is 
called during initialization, before any append call. Only an 
improperly-initialized appender could cause an NPE. I didn't add a null check 
because it would never trigger in a real environment, but let me know if you 
think we should add a null check, or catch NullPointerException.
   
   The IllegalStateException seems possible though, because log4j is using a 
copy-on-write array internally. I think that means that there's a short window 
after an appender is removed that it can still be accessed by other threads. I 
changed the implementation to catch it so that if another thread is using log4j 
at the same time, it won't accidentally get an exception.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to