How do I adjust the submission buffer size?

I’m testing throughput on Hub’s ledger configurations, and I’m running into

io.grpc.StatusRuntimeException: ABORTED: PARTICIPANT_BACKPRESSURE(2,fd937ca8): The participant is overloaded: The submission ingress buffer is full

Searching through the docs, didn’t see a way to modify this. How is this buffer size determined and can I change it?

You can modify the size of the ingress buffer through the static configuration of a canton participant. The parameter path is:

canton.participants.<participant-id>.ledger-api.command-service.input-buffer-size

In the following snippet I am changing this parameter through a HOCON config file. The ingress buffer is increased to 1024 from the default 512:

canton {
  participants {
    participant1 {
    ...
    ledger-api.command-service {
        input-buffer-size = 1024
      }
    }
    ...
}

Likewise, you can submit it on a command line passing additional argument to the canton process:
-C canton.participants.participant2.ledger-api.command-service.input-buffer-size=777

This part of configuration is documented in the code reference.

1 Like