Skip to content
This repository has been archived by the owner on Jun 7, 2024. It is now read-only.

spawning too many Networks makes Network::new() fail #17

Open
japaric opened this issue Feb 20, 2024 · 1 comment · May be fixed by #40
Open

spawning too many Networks makes Network::new() fail #17

japaric opened this issue Feb 20, 2024 · 1 comment · May be fixed by #40
Assignees

Comments

@japaric
Copy link
Collaborator

japaric commented Feb 20, 2024

this is because the available IP address space gets exhausted. we should

  • reduce the address space of each Network
  • add a mechanism to make Network::new wait if there are too many other live Networks (e.g. a semaphore) or there's no address space available (e.g. a retry mechanism with exponential back-off)
@japaric
Copy link
Collaborator Author

japaric commented Feb 23, 2024

The containers and the networks are not cleaned up when the tests are run via cargo watch because changes in files make cargo watch kill the last cargo test process. when the cargo test process and its children, which includes the test runner process, are killed the Container and Network destructors are not run (the destructors are in charge of removing the containers and networks).

This should be documented in the README and we should advise people to not run tests through cargo-watch

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

Successfully merging a pull request may close this issue.

1 participant