Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bootnodes should not get wiped #3641

Closed
frol opened this issue Nov 22, 2020 · 9 comments
Closed

Bootnodes should not get wiped #3641

frol opened this issue Nov 22, 2020 · 9 comments
Labels
A-chain Area: Chain, client & related

Comments

@frol
Copy link
Collaborator

frol commented Nov 22, 2020

Describe the bug

@khorolets and I observed a few times a situation where a perfectly working node just stops syncing and after a restart we observe that the "boot_nodes" section in the config is completely blank.

@bowenwang1996 I have no idea who might be the best person to clarify the situation. Could you help to triage it?

To Reproduce

N/A

Expected behavior

There should be boot nodes.

Version (please complete the following information):

  • nearcore commit/branch: f3ba9f9 (recent master)
  • rust version (if local): rust-toolchain
  • mainnet/testnet
@frol frol added the A-chain Area: Chain, client & related label Nov 22, 2020
@bowenwang1996
Copy link
Collaborator

Was bootnodes not blank before? I don't think there is anything that magically changes the file.

@frol
Copy link
Collaborator Author

frol commented Nov 24, 2020

The nodes were running just fine and we use neard directly, so no nearup is in play. I am 99% sure that the boot_nodes were there before (otherwise I don't understand how they could work in the first place).

@bowenwang1996
Copy link
Collaborator

The nodes were running just fine and we use neard directly, so no nearup is in play. I am 99% sure that the boot_nodes were there before (otherwise I don't understand how they could work in the first place).

They could either by passing bootnodes as command line arguments, or if the node was already running before and has peer stored in storage.

@frol
Copy link
Collaborator Author

frol commented Nov 24, 2020

We don't have boot nodes CLI argument (#3156). Well, if we wipe the boot_nodes when we store them in the storage, that might be the trick. What is going to happen if I:

  1. Run a fresh node with the boot_nodes in the config file
  2. Stop it
  3. Run the node again and it will have some sort of failure and thus unable to connect to any peers just yet
  4. Restart the node

It seems that currently, we can lose the boot_nodes from the config as well as from the storage.

@bowenwang1996
Copy link
Collaborator

We definitely don't wipe out bootnodes in the config. You can verify this by stopping and restarting a node many times. I am not sure why it happened. Is it possible that you changed your config?

@frol
Copy link
Collaborator Author

frol commented Nov 27, 2020

I did not edit the file. I had a running node, and it stuck on the epoch boundary due to protocol incompatibility, so I brought a new neard binary there and restarted the node, boom, I observe "Waiting for peers" and then I open the config file and see the boot_nodes being empty. It is far from the first time I observe it. I believe I bumped into this in January when I started running nodes more often during Stake Wars, but I always blamed myself for this madness

@bowenwang1996
Copy link
Collaborator

@frol interesting. Can you reliably reproduce it? I have a node that I have stopped an restarted many times (including using different neards) and it still has bootnodes in the config file.

@frol
Copy link
Collaborator Author

frol commented Nov 27, 2020

I cannot reproduce it 😞

@frol
Copy link
Collaborator Author

frol commented Nov 27, 2020

Let's keep it closed, but if you observe it, you know where to report it

@frol frol closed this as completed Nov 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-chain Area: Chain, client & related
Projects
None yet
Development

No branches or pull requests

2 participants