opensearch-project / opensearch-project/data-prepper

Support an additional manual circuit breaker

Open
#4,145 0 comments 0 reactions 1 assignee View on GitHub

@dlvenable is already working on this.

Since Feb 17, 2024.

enhancement
Dominant language
Java
Stars
374
Forks
354
Avg merge
3d 18h
Merged PRs (30d)
8

Description

Is your feature request related to a problem? Please describe.

Initially, I'd like to be able to test the circuit breaker behavior using manual controls. Additionally, there may be value in stopping a pipeline temporarily.

Describe the solution you'd like

Provide an HTTP endpoint for opening and closing a circuit breaker.

First, it should be enabled in data-prepper-config.yaml:

circuit_breakers:
  http_forced:
    enabled: true

Then to open the circuit breaker:

curl -X POST http://localhost:4900/circuit_breaker/forced

Then to close the circuit breaker:

curl -X DELETE http://localhost:4900/circuit_breaker/forced

Describe alternatives you've considered (Optional)

Provide a full override of all circuit breakers. But, this could result in running out of memory.

I'd like to see if there is a better name. Right now, I'm calling it "forced," but I think we could do better.

Another idea would be to set the circuit breaker with a timeout. I tend to think this might be a completely different circuit breaker so that the forced one is not interfered with.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.