Skip to content
This repository was archived by the owner on Jul 3, 2023. It is now read-only.

Force pipeline termination from pipeline manager #397

Open
ryzhyk opened this issue May 4, 2023 · 2 comments
Open

Force pipeline termination from pipeline manager #397

ryzhyk opened this issue May 4, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@ryzhyk
Copy link
Collaborator

ryzhyk commented May 4, 2023

The runner handles the /shutdown command by first calling controller.stop() and then sending a termination message to the actix dispatch loop. Both operations can be slow or even get stuck in some cases. We will need a way to enforce eventual termination from the pipeline manager by killing the process/pod after a timeout.

@lalithsuresh

@ryzhyk ryzhyk added the enhancement New feature or request label May 4, 2023
@lalithsuresh
Copy link
Contributor

lalithsuresh commented May 4, 2023

@ryzhyk I get the operations being slow, but do we know when/why they get stuck? Because that would be a bug.

@ryzhyk
Copy link
Collaborator Author

ryzhyk commented May 4, 2023

  • controller.stop() waits for any in-progress iteration of the circuit to complete. Which should normally be fast, but can take a while if there's a perf issue in the circuit or we're processing a very large input batch. Another possible reason is buggy connectors that refuse to shutdown instantly or at all.
  • actix is not supposed to take long, but I think I've seen it take a while to shutdown. Not sure what's up with that.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants