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

Enable longrunning tests to run #19208

Merged
merged 10 commits into from
Mar 5, 2019
Merged

Conversation

holisticode
Copy link
Contributor

This PR introduces a series of bug fixes which would prevent longrunning tests to succeed.
These tests need to be enabled with the longrunning flag, and were up to today ignored.
We can deploy these tests now to the kubernetes test environment, allowing to have better insights about network behavior with bigger networks.

if realCount/2 != emc {
return fmt.Errorf("Real subscriptions and expected amount don't match; real: %d, expected: %d", realCount/2, emc)
if realCount != emc {
return fmt.Errorf("Real subscriptions and expected amount don't match; real: %d, expected: %d", realCount, emc)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please use this standard way of formulating test fails:

"incorrect number of subscriptions. expected %v, got %v."

@@ -134,6 +134,9 @@ func netStoreAndDeliveryWithAddr(ctx *adapters.ServiceContext, bucket *sync.Map,
bucket.Store(bucketKeyDB, netStore)
bucket.Store(bucketKeyDelivery, delivery)
bucket.Store(bucketKeyFileStore, fileStore)
// for the kademlia object, we use the global key from the simulation package,
// as the simulation will try to access it in the WaitTillHealthy with that key
bucket.Store(simulation.BucketKeyKademlia, kad)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not realise this requirement of using simulation/waitTillHealthy. Since this resulted in a week of delay for Vlad/Louis, I think we should handle this some other way or document it better.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this resulted in a week of delay for Vlad/Louis

? @zelig

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow so long delay, I thought that I added some comments regarding that, but this comment is very badly written https://github.com/ethereum/go-ethereum/blob/master/swarm/network/simulation/kademlia.go#L32. I am sorry for causing problems of this kind. Maybe we should have a better approach for this functionality, it is not clear at all, causing a lot of pain. Sorry.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This example https://godoc.org/github.com/ethereum/go-ethereum/swarm/network/simulation#example-Simulation-WaitTillHealthy may be of some help, but still BucketKeyKademlia/WaitTillHealthy usage over time shows that it is a very bad design.

@skylenet skylenet added this to the 1.9.0 milestone Mar 5, 2019
@zelig zelig merged commit 81ed700 into ethereum:master Mar 5, 2019
@nonsense
Copy link
Member

nonsense commented Mar 5, 2019

Please prepend package names before merging PRs.

@frncmx frncmx deleted the longrunning branch March 6, 2019 14:15
kiku-jw pushed a commit to kiku-jw/go-ethereum that referenced this pull request Mar 29, 2019
* p2p/simulations: increased snapshot load timeout for debugging

* swarm/network/stream: less nodes for snapshot longrunning tests

* swarm/network: fixed longrunning tests

* swarm/network/stream: store kademlia in bucket

* swarm/network/stream: disabled healthy check in delivery tests

* swarm/network/stream: longer SyncUpdateDelay for longrunning tests

* swarm/network/stream: more debug output

* swarm/network/stream: reduced longrunning snapshot tests to 64 nodes

* swarm/network/stream: don't WaitTillHealthy in SyncerSimulation

* swarm/network/stream: cleanup for PR
nonsense referenced this pull request in ethersphere/swarm May 8, 2019
* p2p/simulations: increased snapshot load timeout for debugging

* swarm/network/stream: less nodes for snapshot longrunning tests

* swarm/network: fixed longrunning tests

* swarm/network/stream: store kademlia in bucket

* swarm/network/stream: disabled healthy check in delivery tests

* swarm/network/stream: longer SyncUpdateDelay for longrunning tests

* swarm/network/stream: more debug output

* swarm/network/stream: reduced longrunning snapshot tests to 64 nodes

* swarm/network/stream: don't WaitTillHealthy in SyncerSimulation

* swarm/network/stream: cleanup for PR
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants