Configuration Admin updates with empty properties and throws
NullPointerExceptions due to race condition
--------------------------------------------------------------------------------------------------------
Key: FELIX-335
URL: https://issues.apache.org/jira/browse/FELIX-335
Project: Felix
Issue Type: Bug
Components: Configuration Admin
Reporter: Karl Pauls
Attachments: empty-properties.patch
There appears to be a race condition in the configuration admin that allows
managed services to get updated with empty properties (but not null).
Furthermore, due to the same bug NullPointerExceptions appear under heavy load.
Fortunately, I think I was able to isolate the bug. The issue is that
configurations are persisted when created but before they are initialized
(i.e., given a configuration). If during this window a new ManagedService
appears it gets updated with an empty Dictionary. Likewise, if the
configuration is re-read after such an update attempt it does not have a pid
which causes the null pointer exceptions.
The fix seems to be rather simple (unless I'm missing something :-) but took
me some time to figure out.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.