Hello!
Found out logging problems in SDI after upgrading to log4j2 (since fixpack 8; current fixpack with malfunctioning logging - 12). First, I noticed that some logs from ISIM adapters are missing, especially during reconciliation.
I've made a test service profile, which wrote 500000 lines to log during reconciliation, created several service instances and scheduled them to run at the same time. As the result, first 4 reconciliations to be started wrote messages to logs correctly. But when 5th thread starts, it seems to drop logging of previously started threads. Moreover, sometimes the final thread also does not print full logging information expected.
Test java application, which uses log4j2, doesn't show such behaviour: tested up to 10 threads, that successfully wrote every message to log.
Here's a proof of concept: test win32 service containing two ALs. One of them (Thread) writes messages to logs, while the other (Service) starts several Thread ALs.
If only 1 thread is started, in writes all 500000 messages.
If there are 2 to 4 threads, fitst 1..3 of them write 500000 messages, and the final one MAY stop at 400k+ messages. Or may write everything as well.
Finally, if there are 5 of more threads, almost none of them makes it up to 500000 messages.
Files to reproduce included. I think, this is a serious security issue, as messages with critical information may be randomly missing from log.
------------------------------
Amogh Blue
------------------------------