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

Too many pings and one client always disconnects #4300

Open
ajulyav opened this issue Oct 7, 2024 · 3 comments
Open

Too many pings and one client always disconnects #4300

ajulyav opened this issue Oct 7, 2024 · 3 comments
Labels
bug Something isn't working part: communication Issues/PRs that affect federated communication e.g. gRPC. stale If issue/PR hasn't been updated within 3 weeks.

Comments

@ajulyav
Copy link

ajulyav commented Oct 7, 2024

Describe the bug

grpc._channel._MultiThreadedRendezvous: <_MultiThreadedRendezvous of RPC that terminated with:
	status = StatusCode.UNAVAILABLE
	details = "Too many pings"
	debug_error_string = "UNKNOWN:Error received from peer ipv4:192.168.229.99:5040 {grpc_message:"Too many pings", grpc_status:14, created_time:"2024-10-07T15:40:46.164225255+02:00"}"
>

I've got my grpc server settings as:

        ("grpc.http2.max_pings_without_data", 0),
        # Is it permissible to send keepalive pings from the client without
        # any outstanding streams. More explanation here:
        # https://github.com/adap/flower/pull/2197
        ("grpc.keepalive_permit_without_calls", 0),

but it does not help though

later, i added up two options:

        ("grpc.http2.max_ping_strikes", 0),
        ("grpc.http2.min_ping_interval_without_data_ms", 10)

it allowed me escape the initial error, but then I have:

    raise GrpcBridgeClosed()
flwr.server.superlink.fleet.grpc_bidi.grpc_bridge.GrpcBridgeClosed

Steps/Code to Reproduce

I use basic FedAvg strategy except that i send additional round of evaluation on each client during aggregate_fit
EvaluateRes = client_proxy.evaluate(ins = evaluate_ins, timeout = None, group_id=rnd) . Sometimes when rerun the clients and server, the error happens after 1 successful round, so it is not always happens the same moment.

Expected Results

Client stays alive

Actual Results

Client disconnects

@ajulyav ajulyav added the bug Something isn't working label Oct 7, 2024
@oabuhamdan
Copy link

Did you come to a solution?

@ajulyav ajulyav closed this as completed Oct 24, 2024
@ajulyav ajulyav reopened this Oct 24, 2024
@ajulyav ajulyav closed this as completed Oct 24, 2024
@ajulyav
Copy link
Author

ajulyav commented Oct 24, 2024

Did you come to a solution?

Hello, I am still encountering this problem, and it occurs quite randomly. A few things have helped me reduce the frequency of this issue:

  1. Run the server and clients on the same machine, so you can use "localhost" as the server address.
  2. If you're using loops that send messages to clients, try replacing the loop with non-loop code.

@ajulyav ajulyav reopened this Oct 24, 2024
@WilliamLindskog WilliamLindskog added stale If issue/PR hasn't been updated within 3 weeks. part: communication Issues/PRs that affect federated communication e.g. gRPC. labels Dec 11, 2024
@WilliamLindskog
Copy link
Contributor

Hi @ajulyav,

Thanks for raising this. Are you still experiencing this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working part: communication Issues/PRs that affect federated communication e.g. gRPC. stale If issue/PR hasn't been updated within 3 weeks.
Projects
None yet
Development

No branches or pull requests

3 participants