Skip to content

Conversation

eljobe
Copy link
Member

@eljobe eljobe commented Oct 14, 2025

No description provided.

The DataPoster component is reused for the BatchPoster and the Staker,
but not all of its configuration options are applicable in both
contexts.

The Staker should never be configured to post its assertions as blobs,
so this change prevents that, and also removes blob tuning related
options. On a properly configured parent chain the Staker probably never
would have decided to post a blob even if configured to do so since they
are small and it would waste most of the space in the blob. On the
outside chance that a blob was posted, Nitro doesn't have code for
reading it. This change prevents operator confusion, increases safety and
also means the DataPoster in the Staker can skip any 4844 related checks.

Removed Staker config:
```
--node.staker.data-poster.post-4844-blobs
--node.staker.data-poster.blob-tx-replacement-times
--node.staker.data-poster.min-blob-tx-tip-cap-gwei
--node.staker.data-poster.max-blob-tx-tip-cap-gwei
--node.staker.data-poster.enable-cell-proofs
```

The BatchPoster's DataPoster also used to have a redundant configuration
that has been removed since the BatchPoster's configuration overrides it
(see dataPosterConfigFetcher in batch_poster.go). This configuration
option was never actually used by the code so it's better to remove it.

Removed BatchPoster config:
```
--node.batch-poster.data-poster.post-4844-blobs
```

The existing config option that should be used is:
```
--node.batch-poster.post-4844-blobs
```

NOTE: Nitro will fail to start if the removed flags are used so
operators may need to update their configuration files if they were
using the old incorrect flags.
@eljobe eljobe requested a review from joshuacolvin0 October 14, 2025 21:11
@joshuacolvin0 joshuacolvin0 changed the title Backport 3810 to v3.8.x-release Backport remove misleading blob-related dataposter config to v3.8.x-release Oct 14, 2025
Copy link
Member

@joshuacolvin0 joshuacolvin0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link

❌ 7 Tests Failed:

Tests completed Failed Passed Skipped
2143 7 2136 0
View the top 3 failed tests by shortest run time
TestDataStreaming_PositiveScenario/Many_senders,_long_messages
Stack Traces | 0.300s run time
... [CONTENT TRUNCATED: Keeping last 20 lines]
        github.com/offchainlabs/nitro/daprovider/data_streaming.testBasic.func1()
        	/home/runner/work/nitro/nitro/daprovider/data_streaming/protocol_test.go:248 +0x14f
        created by github.com/offchainlabs/nitro/daprovider/data_streaming.testBasic in goroutine 242
        	/home/runner/work/nitro/nitro/daprovider/data_streaming/protocol_test.go:241 +0x85
        
    protocol_test.go:248: �[31;1m [] failed after 3 attempts: too much time has elapsed since request was signed �[0;0m
WARN [10-14|21:20:55.287] Served datastreaming_start               conn=127.0.0.1:60512 reqid=404 duration="153.386µs" err="too much time has elapsed since request was signed"
INFO [10-14|21:20:55.287] rpc response                             method=datastreaming_start logId=404 err="too much time has elapsed since request was signed" result={} attempt=0 args="[\"0x68eebeb6\", \"0x33\", \"0xd9\", \"0x2a9f\", \"0xa\", \"0x865399aa76d97c599d2770e1c2c32cdf6729ca16d88e036906b8e113ea221c4a0a2be37d0d0c1813ccfd962723e970cc636779637a435fdacd4c4e316b4323d101\"]" errorData=null
    protocol_test.go:248: goroutine 249 [running]:
        runtime/debug.Stack()
        	/opt/hostedtoolcache/go/1.25.3/x64/src/runtime/debug/stack.go:26 +0x5e
        github.com/offchainlabs/nitro/util/testhelpers.RequireImpl({0x1567e90, 0xc000188e00}, {0x154d960, 0xc0012d0240}, {0x0, 0x0, 0x0})
        	/home/runner/work/nitro/nitro/util/testhelpers/testhelpers.go:29 +0x55
        github.com/offchainlabs/nitro/daprovider/data_streaming.testBasic.func1()
        	/home/runner/work/nitro/nitro/daprovider/data_streaming/protocol_test.go:248 +0x14f
        created by github.com/offchainlabs/nitro/daprovider/data_streaming.testBasic in goroutine 242
        	/home/runner/work/nitro/nitro/daprovider/data_streaming/protocol_test.go:241 +0x85
        
    protocol_test.go:248: �[31;1m [] failed after 3 attempts: too much time has elapsed since request was signed �[0;0m
--- FAIL: TestDataStreaming_PositiveScenario/Many_senders,_long_messages (0.30s)
TestDataStreaming_PositiveScenario
Stack Traces | 0.340s run time
=== RUN   TestDataStreaming_PositiveScenario
--- FAIL: TestDataStreaming_PositiveScenario (0.34s)
TestRedisProduceComplex/two_producers,_some_consumers_killed,_others_should_take_over_their_work,_some_invalid_entries,_unequal_number_of_requests_from_producers
Stack Traces | 2.130s run time
... [CONTENT TRUNCATED: Keeping last 20 lines]
�[36mDEBUG�[0m[10-14|21:21:09.050] checkResponses                           �[36mresponded�[0m=0   �[36merrored�[0m=0 �[36mchecked�[0m=4
�[36mDEBUG�[0m[10-14|21:21:09.052] redis producer: check responses starting
�[36mDEBUG�[0m[10-14|21:21:09.052] checkResponses                           �[36mresponded�[0m=0   �[36merrored�[0m=0 �[36mchecked�[0m=0
�[36mDEBUG�[0m[10-14|21:21:09.056] redis producer: check responses starting
�[36mDEBUG�[0m[10-14|21:21:09.057] checkResponses                           �[36mresponded�[0m=0   �[36merrored�[0m=0 �[36mchecked�[0m=4
�[36mDEBUG�[0m[10-14|21:21:09.058] redis producer: check responses starting
�[36mDEBUG�[0m[10-14|21:21:09.058] checkResponses                           �[36mresponded�[0m=0   �[36merrored�[0m=0 �[36mchecked�[0m=0
�[36mDEBUG�[0m[10-14|21:21:09.062] redis producer: check responses starting
�[36mDEBUG�[0m[10-14|21:21:09.062] checkResponses                           �[36mresponded�[0m=0   �[36merrored�[0m=0 �[36mchecked�[0m=4
�[36mDEBUG�[0m[10-14|21:21:09.063] redis producer: check responses starting
�[36mDEBUG�[0m[10-14|21:21:09.063] checkResponses                           �[36mresponded�[0m=0   �[36merrored�[0m=0 �[36mchecked�[0m=0
�[36mDEBUG�[0m[10-14|21:21:09.067] redis producer: check responses starting
�[36mDEBUG�[0m[10-14|21:21:09.068] request timed out waiting for response   �[36mmsgId�[0m=1760476867062-14 �[36mallowedOldestId�[0m=1760476867067-0
�[36mDEBUG�[0m[10-14|21:21:09.068] request timed out waiting for response   �[36mmsgId�[0m=1760476867062-13 �[36mallowedOldestId�[0m=1760476867067-0
�[36mDEBUG�[0m[10-14|21:21:09.068] request timed out waiting for response   �[36mmsgId�[0m=1760476867062-15 �[36mallowedOldestId�[0m=1760476867067-0
�[36mDEBUG�[0m[10-14|21:21:09.068] request timed out waiting for response   �[36mmsgId�[0m=1760476867062-12 �[36mallowedOldestId�[0m=1760476867067-0
�[36mDEBUG�[0m[10-14|21:21:09.068] checkResponses                           �[36mresponded�[0m=0   �[36merrored�[0m=4 �[36mchecked�[0m=4
    pubsub_test.go:315: Invalid request' index mismatch want: 50 got 19
�[36mDEBUG�[0m[10-14|21:21:09.173] Error destroying a stream group          �[36merror�[0m="dial tcp 127.0.0.1:46369: connect: connection refused"
--- FAIL: TestRedisProduceComplex/two_producers,_some_consumers_killed,_others_should_take_over_their_work,_some_invalid_entries,_unequal_number_of_requests_from_producers (2.13s)

📣 Thoughts on this report? Let Codecov know! | Powered by Codecov

@eljobe eljobe merged commit 34561dd into v3.8.x-release Oct 14, 2025
17 checks passed
@eljobe eljobe deleted the pick-3810-raw branch October 14, 2025 21:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants