Skip to content

[types] Revert change of ConnectorConfig::max_queued_records to `Op…#6428

Merged
blp merged 1 commit into
mainfrom
optional-max-queued-records
Jun 9, 2026
Merged

[types] Revert change of ConnectorConfig::max_queued_records to `Op…#6428
blp merged 1 commit into
mainfrom
optional-max-queued-records

Conversation

@blp

@blp blp commented Jun 9, 2026

Copy link
Copy Markdown
Member

…tion`.

Commit 753cdd8 ("Add support for bytewise limiting input connector buffering.") changed ConnectorConfig::max_queued_records from u64 to Option<u64>. This should have been a helpful change because it allows the user to configure only the new max_queued_bytes setting, since bytes are more meaningful than records for the purpose of limiting the amount of input buffering, but it caused surprising behavior because a configuration that did not include max_queued_records was now interpreted differently from before, which triggered bootstrapping at startup.

The best fix for the bootstrapping problem would be for the code that computes differences between pipelines to be updated so that it doesn't treat max_queued_records (and some other fields) as significant for the purpose of bootstrapping. That preferred fix is filed as #6427.

However, that change would take some consideration, so instead this commit just falls back to the previous definition of max_queued_records. This commit may be reverted once #6427 is fixed.

@blp blp requested review from gz and ryzhyk June 9, 2026 00:18
@blp blp self-assigned this Jun 9, 2026
@blp blp added bug Something isn't working ft Fault tolerant, distributed, and scale-out implementation performance connectors Issues related to the adapters/connectors crate labels Jun 9, 2026
…tion`.

Commit 753cdd8 ("Add support for bytewise limiting input connector
buffering.") changed `ConnectorConfig::max_queued_records` from u64 to
`Option<u64>`.  This should have been a helpful change because it allows
the user to configure only the new `max_queued_bytes` setting, since bytes
are more meaningful than records for the purpose of limiting the amount
of input buffering, but it caused surprising behavior because a
configuration that did not include `max_queued_records` was now interpreted
differently from before, which triggered bootstrapping at startup.

The best fix for the bootstrapping problem would be for the code that
computes differences between pipelines to be updated so that it doesn't
treat `max_queued_records` (and some other fields) as significant for the
purpose of bootstrapping.  That preferred fix is filed as
#6427.

However, that change would take some consideration, so instead this commit
just falls back to the previous definition of `max_queued_records`.  This
commit may be reverted once #6427
is fixed.

Signed-off-by: Ben Pfaff <blp@feldera.com>
@blp blp force-pushed the optional-max-queued-records branch from 3271680 to 776a7d0 Compare June 9, 2026 00:45
@blp blp enabled auto-merge June 9, 2026 00:46
@blp blp added this pull request to the merge queue Jun 9, 2026
Merged via the queue into main with commit 13ea6ed Jun 9, 2026
1 check passed
@blp blp deleted the optional-max-queued-records branch June 9, 2026 03:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working connectors Issues related to the adapters/connectors crate ft Fault tolerant, distributed, and scale-out implementation performance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants