Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

--reserved-peers connections drop #7572

Closed
stone212 opened this issue Jan 16, 2018 · 5 comments
Closed

--reserved-peers connections drop #7572

stone212 opened this issue Jan 16, 2018 · 5 comments
Labels
M4-core ⛓ Core client code / Rust. Z0-unconfirmed 🤔 Issue might be valid, but it’s not yet known.
Milestone

Comments

@stone212
Copy link

I'm running:

  • Which Parity version?: 1.7.10
  • Which operating system?: Linux
  • How installed?: via installerbinaries
  • Are you fully synchronized?: yes
  • Which network are you connected to?: Private Blockchain
  • Did you try to restart the node?: yes

On a private blockchain with 35 nodes, I have 6 bootnodes in the chain spec and two other reserved nodes, all 8 of these are listed in a reserved-peers.txt file, one enode on each line.

When I start another node with "parity --reserved-peers /path/to/reserved-peers.txt" I immediately get great connectivity (25 nodes) and then over a day or two it dwindles to about 4.

But it should bottom out at 8! because there are 8 nodes in reserved-peers.txt

I have tested network connectivity. Nodes can ping each other even when connectivity/peers is downto 4.

I have a thought but I have not found anything in the source code to back it up.

First, are there any rules of connectivity that supercede the reserved-peers? And if so is there a "cousin" rule? I see that Parity tries to swap out peers periodically. Maybe there is a rule that says "you can't dance with your cousin if you have danced with her in the past x hours" or maybe "you can't dance with your cousin if your other cousin already is dancing with her". ?

@5chdn 5chdn added Z0-unconfirmed 🤔 Issue might be valid, but it’s not yet known. M4-core ⛓ Core client code / Rust. labels Jan 16, 2018
@5chdn 5chdn added this to the 1.9 milestone Jan 16, 2018
@5chdn
Copy link
Contributor

5chdn commented Jan 16, 2018

This could be a bug, but can't tell without looking at your logs.

Can you run one of the nodes with -l sync=trace ?

@stone212
Copy link
Author

Can you run one of the nodes with -l sync=trace ?

Yes but we've been through this before. Doing that generates a LOT of data. Gigabytes. How much of it do you want and how should I send it to you?

@stone212
Copy link
Author

Also I'm starting to wonder if the devP2P rules simply supersede the --reserved-peers rule? Because I think the devP2P might have this behavior built in.

@5chdn
Copy link
Contributor

5chdn commented Jan 17, 2018

Does it also drop without reserved peers? If yes, it's #7531

@stone212
Copy link
Author

stone212 commented Jan 18, 2018

Does it also drop without reserved peers?

Yes, actually I had another open issue and you suggested I try with --reserved-peers to solve it.

If yes, it's #7531

That's a big jump. No only does #7531 use a different version of Parity but this issue here is a specific enough case that its cause could be different. Even if there is an underlying cause, this question I asked still would need to be answered because #7531 would not explain why --reserved-peers does not solve the issue as you once suggested. The question is:

Do the devP2P rules supersede the --reserved-peers rule? Because I think the devP2P might have this behavior built in, which would mean that this "issue" is to be expected and not any sort of bug.

Of course even if that is true, #7531 could still be an issue/bug. But if we can eliminate one thing, that would help. I am working on finding the answer in the source code but so far I have not found where the devP2P rules and --reserved-peers rules are given priority.

@5chdn 5chdn modified the milestones: 1.9, 1.10 Jan 23, 2018
@5chdn 5chdn modified the milestones: 1.10, 1.11 Mar 1, 2018
@5chdn 5chdn modified the milestones: 1.11, 1.12 Apr 24, 2018
@5chdn 5chdn closed this as completed Jun 24, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
M4-core ⛓ Core client code / Rust. Z0-unconfirmed 🤔 Issue might be valid, but it’s not yet known.
Projects
None yet
Development

No branches or pull requests

2 participants