IntersectMBO / cardano-node

The core component that is used to participate in a Cardano decentralised blockchain.
https://cardano.org
Apache License 2.0
3.06k stars 724 forks source link

[BUG] - Submit api "Network.Socket.bind: resource busy (Address in use)" #5985

Open Fell-x27 opened 1 week ago

Fell-x27 commented 1 week ago

External

Area Other Any other topic (Delegation, Ranking, ...).

Summary When trying to run two instances(preprod+preview) of cardano-submit-api with the same IP but different ports, one of them throws the error: Network.Socket.bind: resource busy (Address in use).

Steps to reproduce

  1. Start cardano-node in the preview network on 127.0.0.1:5003
  2. Start cardano-node in the preprod network on 127.0.0.1:5002
  3. Start submit-api in the preview network on 127.0.0.1:8997
  4. Start submit-api in the preprod network on 127.0.0.1:8998
  5. Check the console.

Expected behavior The check for availability should take the port into account. Both instances should be able to run in parallel.

System info (please complete the following information):

Additional context Two cardano-node instances for different networks are running on 127.0.0.1 on different ports. The cardano-submit-api instances are also running on 127.0.0.1 on different ports. No matter the order in which they are started, only the one that was started first will work. I don't remember this behavior occurring in previous versions.

Fell-x27 commented 6 days ago

Solution: the --metrics-port argument should be specified with a unique number.

But I still think that it shouldn't be a stopper. Maybe there should be a warning, like the Node does, but not a crash.

nabinpkl commented 5 days ago

We are able to reproduce the issue as reported when running multiple node instances but using different port numbers.

Proper error messages or documentation should be provided to include metrics-port, or even better; we should be able to run in parallel with just enough configuration.