What is the default value for --max-parallel-submissions and what is its exact meaning?

There’s a command line parameter for sandbox-classes called --max-parallel-submissions. The command help doesn’t specify any default. What is this set to? And what exactly does the parallelism here refer to? Is it the threshold before the process signals backpressure? What’s the implication of increasing this, does the process just use more memory?

1 Like

That’s the maximum number of commands waiting to be sequenced after being evaluated by the engine. The default value is 512. This is a global limit, meant to not have an unbounded buffer of transaction evaluated correctly but getting sequenced.

That is one of the three back-pressure gates in the sandbox, the other two acting on a per party basis: the first is commands waiting to be submitted (the default is 512 and it’s currently not configurable) and --max-commands-in-flight (submitted commands waiting to be completed, whose default is currently 256).

2 Likes

I understand it’s not as good as interactive help (please do open a ticket if you want us to track this), but you can also check out here for reference.

1 Like

Thanks, do you know if there are metrics to monitor these respective queue sizes? I’d like to know which back-pressure gate I’m hitting (getting a RESOURCE_EXHAUSTED response).

1 Like

I don’t think we have them instrumented yet, no.

1 Like

This PR does not add reporting on the hit threshold but adds the possibility of configuring the input buffer size and hopefully makes the help text a bit better.

2 Likes