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

Debug test_end_to_end_listen_for_new_rounds::storage_test_service_grpc notification issue. #3100

Open
afck opened this issue Jan 8, 2025 · 0 comments
Labels
bug Something isn't working
Milestone

Comments

@afck
Copy link
Contributor

afck commented Jan 8, 2025

In #3099 I added a prepare_chain call that in theory shouldn't be necessary: ChainClient::listen starts listening to the local node's notifications before calling synchronize_from_validators, so no notification should be missed. If f(client) returns WaitForTimeout in one of the two test_end_to_end_listen_for_new_rounds clients then it must be the other's turn. Once they have submitted their block proposal, the other client should learn about it, handle the notification and retry.

@afck afck added the bug Something isn't working label Jan 8, 2025
@afck afck added this to the Testnet #2 milestone Jan 8, 2025
afck added a commit that referenced this issue Jan 8, 2025
## Motivation

`test_end_to_end_listen_for_new_rounds::storage_test_service_grpc` is
flaky for me locally and sometimes hangs, even though it seems fine on
CI.

The logs suggest that the two clients are both waiting for round
notifications forever, even though one of them should be the leader in
the current round.

## Proposal

Adding an explicit `prepare_chain` fixes the issue.

It's not quite clear why this is necessary, so I created
#3100.

## Test Plan

Running the test in a loop locally failed quite often. With this change
it passed 50 times in a row.

## Release Plan

- Nothing to do / These changes follow the usual release cycle.

## Links

- Issue to revisit this:
#3100
- Bug was introduced/revealed in:
#2961
- [reviewer
checklist](https://github.com/linera-io/linera-protocol/blob/main/CONTRIBUTING.md#reviewer-checklist)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant