Skip to content

[Proposal] support ignoring eovercrowded when adding batch #5147

@vagetablechicken

Description

@vagetablechicken

Is your feature request related to a problem? Please describe.
We met lots of EOVERCROWDED brpc error. Unfortunately, it will make load job failed(index intolerable failure).
We could change it by brpc_socket_max_unwritten_bytes, but it can't be modified in runtime.
And we've tried to set large numbers, but the EOVERCROWDED error still exist, and load job still get failures. To be on the safe side, the config couldn't be larger.
The root cause is not the config, but we must endeavour to accomplish the load job.

Describe the solution you'd like

So I want to add a more flexible approach.
We can add a mutable config node_channel_ignore_eovercrowded. If it's true, we will add the ignore_eovercrowded flag to _add_batch_closure->cntl. Thus the NodeChannel won't failed on EOVERCROWDED. It only effects the NodeChannel(the load job), other rpc requests will still check if overcrowded.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions