Skip to content

Refactor Config to be used by all services and add DynamicConfig

Mforns requested to merge T355409 into main

This change prepares aqsassist for AQS services to use DynamicConfig, a configuration object that can be updated live, without restarting AQS. It consists of a ConfigReader that gets property values from Cassandra's aqs.config table, and a caching mechanism that will store the retrieved values during a given TTL.

Since from now on some services will need to connect to both Druid and Cassandra, this change also refactors the (so far unused) Config object to contain both Druid and Cassandra configurations. We could make all AQS services use it, instead of each defining their own config object. Note that this change's Config object does not specify any BaseURIs, since that's the only part of the service's Config objects that wasn't common.

Merge request reports