Hi Daniel Templeton, thanks a lot for the review. I agree with you that storing data twice is bad. I wouldn't say it's impossible to consolidate them, but too complicated to do it in this JIRA:
1. There are multiple places to initialize a queue. We need to consolidate them or refactor somehow.
2. There are multiple types of queue, for example, "root" and "root.default", "configured queue" and "ad hoc queue". The behaviors of these initialization should be different.
3. There are a number of test cases built on current approaches are needed to be investigated and refactored.
In this JIRA, I've limited the access of these maps in AllocationConfiguration only for itself and its test case, so these duplicate data can only used for initialization. That should be OK for the current JIRA and we can completely remove duplicate data in a followup JIRA.