zhaijack commented on issue #414: Test failure in UpdateLedgerOpTest
discussed this issue with @sijie on slack channel, and work together to
figure out the reason. Thanks @sijie for the help.
Here is how
CompositeConfiguration allows you to add multiple Configuration objects to
an aggregated configuration. If you add Configuration1, and then
Configuration2, any properties shared will mean that the value defined by
Configuration1 will be returned. If Configuration1 doesn't have the property,
then Configuration2 will be checked. You can add multiple different types or
the same type of properties file.
When querying properties the order in which child configurations have been
added is relevant. To deal with property updates, a so-called in-memory
configuration is used. Per default, such a configuration is created
automatically. All property writes target this special configuration. There are
constructors which allow you to provide a specific in-memory configuration. If
used that way, the in-memory configuration is always the last one in the list
of child configurations. This means that for query operations all other
configurations take precedence.
To achieve this goal, setProperty will first
and then do addProperty.
While in our use case:
ServerConfiguration conf = new ServerConfiguration(baseConf);
conf.setAllowLoopback(true); < == this will clear the value in baseConf
first, and cause we get un-wanted value.
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
Apache Git Services