Skip to content

Migrate to proper circuit breakers.#4432

Open
markrmiller wants to merge 1 commit into
apache:mainfrom
markrmiller:proper-circuit-breakers
Open

Migrate to proper circuit breakers.#4432
markrmiller wants to merge 1 commit into
apache:mainfrom
markrmiller:proper-circuit-breakers

Conversation

@markrmiller
Copy link
Copy Markdown
Member

Experimental Branch Not for contribution review.

Move circuit-breaker admission control out of SearchHandler and
ContentStreamHandlerBase and into a new SolrQoSFilter that suspends
requests asynchronously when a breaker is tripped, dispatching them
once the breaker clears (modeled after Jetty's QoSFilter/QoSHandler).

Internal intra-cluster shard requests bypass suspension to avoid
distributed deadlock. When QoS queueing is disabled (the default), a
tripped breaker still fails fast synchronously, preserving the prior
handler-enforced behavior.

Add GcOverheadCircuitBreaker. Rewrite MemoryCircuitBreaker to read
post-GC live bytes from the old/tenured pool instead of a moving
average of raw heap usage. TTL-cache CPU and load-average samples so
high-QPS admission control does not repoll expensive OS/JVM signals
per request.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant