-
Notifications
You must be signed in to change notification settings - Fork 71
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
Zilla unbinds server ports at full engine worker capacity, which defends against exceeding capacity, but also defeats tcp health check mechanisms for those ports, and only rebinds when a tcp server connection is closed (not for tcp client connections).
To Reproduce
Steps to reproduce the behavior:
- Start any zilla example with kafka cache and one or more bootstrap topics
- Verify number of tcp connections to and from zilla (baseline connections)
- Restart zilla example with
-Pzilla.engine.worker.capacity=NwhereNis the number of baseline connections plus 1 - Check metrics for
engine.workers.utilization(verify almost full utilization) - Make connection via
ncto zilla tcp server port - Check metrics for
engine.workers.utilization(verify now at full utilization) - Verify local zilla server port no longer bound (due to full capacity)
- Stop Kafka container
- Check metrics for
engine.workers.utilization(verify no longer at full utilization) - Verify local zilla server port no longer bound (even though no longer at full capacity)
Expected behavior
Local zilla server port should not unbind at full capacity.
Instead, when zilla is at full capacity it should accept and immediately clean close new tcp connections.
This lets zilla interact cleanly with tcp health check mechanisms, without exceeding capacity.
Zilla would then need the ability to hand off the new connection to a different worker, distributing the load across engine workers.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working