I think this is OK as-is Sean Busbey, but I'm still left wondering:
It seems like it would be more simple if we just extracted all Accumulo properties (instead of this reduced list). Is there a big impact on memory for this?
I just can't get over a worry that the HOT_PATH_PROPERTIES will rot and your optimization will be undone (or less efficient). We don't have that many properties, I think it might be better long-term to just put(prop.getKey(), null) for all of the Property's that are not explicitly defined.
Forgot to mention above that the set method (that we effectively ignore for any configs that have been set in the xml configs) is expressly labeled as something that's only for test, which is why I think it's fine to ignore it at runtime.
Any calls to set won't be reflected in staticConfigs, because they're read-only after instantiation of SiteConfiguration so that concurrent access can be safe.
Agreed. Makes me think that we could do better at an API which allows injection of properties in some TestConfiguration (instead of trying to shim things in via set()). Maybe my (immediately) above worry could be alleviated by better test-API and then simplification of things here? (e.g. follow-on)