I'm working BLUR-23[1] and running into an issue with configs. BlurConfiguration currently initializes all defaults in the constructor. This makes it impossible to merge a few user overrides on top of the defaults. If the user wants to pass a BlurConfiguration, they currently have to own the whole thing. The only clean way I can see to move to allowing this while maintaining compatibility is to create a new constructor allowing passing in overrides.. (e.g. BlurConfiguration(BlurConfiguration overrides). Another solution might be to just add a "merge(BlurConfiguration overrides)" method, I suppose.
To be concrete, in BLUR-23, I only care about overriding the binding port of the shard and controllers but once I instantiate a BlurConfiguration object and pass it in to the MiniCluster (which internally overrides the ZK port) - there's no way to differentiate the two props I care about vs. all the props i unwittingly created via the constructor. Anyone got a strong feeling about it? Thanks, --tim [1] - https://issues.apache.org/jira/browse/BLUR-23
