Skip to content

Beacon Processor's Inbound Event Queue Is Unaffected By a Runtime Argument #5390

Closed
@JamesCropcho

Description

@JamesCropcho

Description

The length of the Beacon Processor's inbound event queue (a.k.a. work queue) is unaffected the by the --beacon-processor-work-queue-len runtime argument.

Version

Multiple versions of Lighthouse are affected.

Lighthouse

Output of lighthouse --version

Lighthouse v5.1.0-10a38a8
BLS library: blst-modern
SHA256 hardware acceleration: true
Allocator: jemalloc
Profile: maxperf
Specs: mainnet (true), minimal (false), gnosis (false)

Output of lighthouse --version

Lighthouse v5.0.0-b5bae6e
BLS library: blst-modern
SHA256 hardware acceleration: true
Allocator: jemalloc
Profile: maxperf
Specs: mainnet (true), minimal (false), gnosis (false)

Command Issued for Building

CARGO_INSTALL_EXTRA_FLAGS="--no-default-features" PROFILE=maxperf RUSTFLAGS='-C target-cpu=native' FEATURES="modern,slasher-lmdb,jemalloc" make

Rust

Output of rustc --version

rustc 1.76.0 (07dca489a 2024-02-04)

Present Behaviour

Runtime Configuration

The Beacon Node service is started with a number of runtime arguments. Here are those which are likely to be relevant:

--beacon-processor-work-queue-len      32768
--beacon-processor-reprocess-queue-len 24576 

The following are the relevant runtime parameters for which an argument is not declared (given here for sake of completeness):

--http-enable-beacon-processor
--beacon-processor-max-workers

Output

Lighthouse's log will include the following:

ERRO Attestation queue full                  queue_len: 16384, msg: the system has insufficient resources for load, service: bproc

The log entry suggests that the queue length is 16384 (suspiciously, this is the default value).

Expected Behaviour

I would expect to see log entries like:

ERRO Attestation queue full                  queue_len: 32768, msg: the system has insufficient resources for load, service: bproc

Note that queue_len above matches the declared --beacon-processor-work-queue-len value.

Online Documentation Referenced

Output of $ lighthouse bn --help | grep -i beacon-processor-work-queue-len -A2:

        --beacon-processor-work-queue-len <INTEGER>
            Specifies the length of the inbound event queue. Higher values may prevent messages from being dropped while
            lower values may help protect the node from becoming overwhelmed. [default: 16384]

Steps To Resolve

I do not know.

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