divviup / janus

Experimental implementation of the Distributed Aggregation Protocol (DAP) specification.
Mozilla Public License 2.0
53 stars 15 forks source link

Feature flag for queuing of expensive helper requests #3379

Closed inahga closed 2 months ago

inahga commented 2 months ago

Stacked on https://github.com/divviup/janus/pull/3369. Supports https://github.com/divviup/janus/issues/3181.

I attached a shared queue to the aggregate init and continue handlers, and plumbed through configuration to a flag helper_request_queue. These are our most expensive handlers. Queuing them allows servicing of /hpke_configs even if the server is overloaded.

I refactored the aggregator_handler* functions into a rough builder pattern.