This is an automated email from the ASF dual-hosted git repository.
hubcio pushed a change to branch feat/ownership-and-history
in repository https://gitbox.apache.org/repos/asf/iggy.git
omit eb0bea797 perf(metadata): index pending lifecycles by stream and topic
omit dbd7ab672 perf(server): stop copying every lifecycle intent on each
wake
omit 23d05a301 fix(partitions): rebuild the owner install latch after a
truncation
omit c36b70166 fix(partitions): refuse polls of a deleted partition history
omit 2cbcac598 fix(sdk): never skip offset 0 behind a store without a
context
omit 2536f1d6e fix(server): answer a lost metadata forward instead of
staying silent
omit 059cf56ef fix(server): stop per-partition completions from flooding
shard 0
omit 59474b3c1 fix(server): label owner retirement catalogs with their own
op
omit 9f549a5e6 fix(server): refuse a context ahead of local metadata as
transient
omit 10311cf46 fix(partitions): hold the checkpoint while a fence awaits
publish
omit a070eef18 fix(partitions): report the highest resident op from the
journal
omit 3d38c7da1 fix(sdk): keep the replay guard for stores before the first
message
omit 2526f67d3 refactor(metadata): drop the redundant check in
pollable_partitions
omit da5e5cc83 fix(metadata): keep groups without members free of owner rows
omit 595404221 fix(partitions): stop owner proof waiting for unrelated
writes
omit 1fd7756c4 fix(csharp): sync an empty group assignment again on every
poll
omit 8df116a62 fix(java): sync an empty group assignment again on every poll
omit a8cf50ea5 fix(go): sync an empty group assignment again on every poll
omit 4ac00958f test(python): wait for group activation in the consumer
group tests
omit 6ef59f099 test(csharp): wait for group activation in the integration
tests
omit 579c0b9a6 test(cpp): wait for group activation before group offset
calls
omit 9355c3f70 fix(node): sync an empty group assignment again on every poll
omit ddf4ee604 test(go): wait for group activation in the e2e tests
omit 9297265d9 test(integration): wait for the group owner in the
storage-compat test
omit 8cc427baa fix(partitions): reset the owner install barrier on state
transfer
omit f13640c5f fix(java): stop retrying 88 once the caller gave up
omit be7f908a6 fix(java): report an unknown outcome when an HTTP resend is
refused
omit f88d4b954 fix(shard): serve group polls only to the installed
partition owner
omit ab4962b00 feat(swift): add the TooManyConsumerGroups error code 5010
omit e5fabb20e fix(php): let held messages commit under their own context
omit 8de78180f fix(cpp): pass partition contexts through polls and offset
stores
omit 9f11937d5 fix(python): let held messages commit under their own context
omit f3b806a02 fix(node): keep contexts of re-issued commands and route
offset writes
omit a2c8af9f7 fix(csharp): stop consumers skipping messages of recreated
partitions
omit f6be1c9c5 fix(java): break a poll timeout deadlock and fence raw
requests
omit eae636007 fix(go): route offset writes to the primary and fence raw
requests
omit 2b66c454e fix(sdk): report failed background offset commits again
omit 0136868d7 fix(sdk): retry 88 outside the lock and give raw requests a
context
omit 32d0ee4eb fix(sdk): fence HTTP sends with the client's partition
context
omit 8a73aad59 refactor(server): share the poll head encoder and drop a
dead field
omit 121683254 fix(metadata): refuse consumer groups beyond the owner
catalog bound
omit 1c793ae6d perf(metadata): index partitions once per topic in snapshot
checks
omit 3da3ccc74 fix(server): finish lifecycles of partitions fenced at boot
omit 06a67e0bc fix(partitions): let partitions without messages recover by
transfer
omit 2de164ae2 fix(partitions): apply one history rule at admission and
promotion
omit 10d60b5de feat(partitions)!: fence ownership and history changes
add 7da163362 fix(sdk): removes topic_id and stream_id from public Stream
API (#4249)
add 46caa7c82 fix(connectors): honor Retry-After on every retried status
(#4192)
add a029d4db4 fix(cli): fix help text of user permissions -g and -s (#4484)
add 5f34dbc01 feat(gateways): Kafka Gateway add DescribeConfigs and
AlterConfigs APIs (#4398)
add 60d621ad2 test(integration): add chaos monkey to catch data loss under
node kills (#4407)
add bbdc54ccc fix(cli): resolve server address for ws transport (#4482)
add 6aca37edc feat(partitions)!: fence ownership and history changes
add 27c0980d2 fix(partitions): apply one history rule at admission and
promotion
add b86583204 fix(partitions): let partitions without messages recover by
transfer
add a558ad7f5 fix(server): finish lifecycles of partitions fenced at boot
add e6988883b perf(metadata): index partitions once per topic in snapshot
checks
add 128f913fa fix(metadata): refuse consumer groups beyond the owner
catalog bound
add c209597d2 refactor(server): share the poll head encoder and drop a
dead field
add a5bbbc6d6 fix(sdk): fence HTTP sends with the client's partition
context
add 322973dd8 fix(sdk): retry 88 outside the lock and give raw requests a
context
add 92b9f2f46 fix(sdk): report failed background offset commits again
add 9134d2b9c fix(go): route offset writes to the primary and fence raw
requests
add 07974018e fix(java): break a poll timeout deadlock and fence raw
requests
add 2f4164ac4 fix(csharp): stop consumers skipping messages of recreated
partitions
add 7f5f108a7 fix(node): keep contexts of re-issued commands and route
offset writes
add fb811691e fix(python): let held messages commit under their own context
add 0ce8437c2 fix(cpp): pass partition contexts through polls and offset
stores
add 85b5dc871 fix(php): let held messages commit under their own context
add be86a07a5 feat(swift): add the TooManyConsumerGroups error code 5010
add 777382b83 fix(shard): serve group polls only to the installed
partition owner
add 40a90fb21 fix(java): report an unknown outcome when an HTTP resend is
refused
add a28f90646 fix(java): stop retrying 88 once the caller gave up
add 9c6fc1067 fix(partitions): reset the owner install barrier on state
transfer
add 77db1bc21 test(integration): wait for the group owner in the
storage-compat test
add beaaf32b9 test(go): wait for group activation in the e2e tests
add 49e831138 fix(node): sync an empty group assignment again on every poll
add 29973e97d test(cpp): wait for group activation before group offset
calls
add 15c2d4d7c test(csharp): wait for group activation in the integration
tests
add 950d19a8f test(python): wait for group activation in the consumer
group tests
add b9495f58a fix(go): sync an empty group assignment again on every poll
add 3f48206f4 fix(java): sync an empty group assignment again on every poll
add 3896a063f fix(csharp): sync an empty group assignment again on every
poll
add 885e2e002 fix(partitions): stop owner proof waiting for unrelated
writes
add c02ec39a0 fix(metadata): keep groups without members free of owner rows
add af2432e0f refactor(metadata): drop the redundant check in
pollable_partitions
add b23be7616 fix(sdk): keep the replay guard for stores before the first
message
add b7a15876d fix(partitions): report the highest resident op from the
journal
add eb1c40a87 fix(partitions): hold the checkpoint while a fence awaits
publish
add ff00cd6c8 fix(server): refuse a context ahead of local metadata as
transient
add 0f0a2b1fa fix(server): label owner retirement catalogs with their own
op
add f4dd2f9c9 fix(server): stop per-partition completions from flooding
shard 0
add f9e8a8a9c fix(server): answer a lost metadata forward instead of
staying silent
add bf8d7e46a fix(sdk): never skip offset 0 behind a store without a
context
add 043c59d92 fix(partitions): refuse polls of a deleted partition history
add 1c4abdb92 fix(partitions): rebuild the owner install latch after a
truncation
add a1d47cf2d perf(server): stop copying every lifecycle intent on each
wake
add 7d75e528d perf(metadata): index pending lifecycles by stream and topic
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (eb0bea797)
\
N -- N -- N refs/heads/feat/ownership-and-history (7d75e528d)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.claude/skills/connector-sdk/SKILL.md | 2 +-
.config/nextest.toml | 8 +
core/cli/src/args/user.rs | 20 +-
core/cli/src/credentials.rs | 42 +-
core/cli/src/error.rs | 6 -
core/cli/src/main.rs | 27 +-
core/common/src/types/args/mod.rs | 60 +-
core/configs/src/configs_impl/file_provider.rs | 12 +
core/configs/src/server_config/server.rs | 2 +-
core/connectors/runtime/src/source.rs | 4 +-
core/connectors/sdk/README.md | 2 +
core/connectors/sdk/src/retry.rs | 195 +-
core/connectors/sinks/influxdb_sink/README.md | 5 +-
core/connectors/sinks/quickwit_sink/README.md | 4 +-
core/connectors/sources/influxdb_source/README.md | 4 +-
core/integration/src/harness/config/server.rs | 10 +
core/integration/src/harness/disk.rs | 177 +-
core/integration/src/harness/handle/server.rs | 223 +-
core/integration/tests/cli/common/mod.rs | 41 +
core/integration/tests/cli/general/mod.rs | 1 +
...ng_credentials.rs => test_unknown_transport.rs} | 34 +-
.../test_pat_create_command.rs | 17 +-
.../test_pat_delete_command.rs | 15 +-
core/integration/tests/cli/system/mod.rs | 2 +
.../tests/cli/system/test_cli_session_scenario.rs | 42 +-
.../tests/cli/system/test_me_command.rs | 36 +-
...st_logout_cmd.rs => test_session_status_cmd.rs} | 49 +-
.../cli/user/test_user_permissions_command.rs | 59 +-
core/integration/tests/cluster/chaos_monkey.rs | 2614 ++++++++++++++++++++
.../tests/cluster/chaos_monkey/report.rs | 151 ++
core/integration/tests/cluster/mod.rs | 1 +
core/integration/tests/mod.rs | 27 +-
core/integration/tests/sdk/consumer_offset.rs | 2 -
core/integration/tests/sdk/mod.rs | 1 +
core/integration/tests/sdk/stream_builder.rs | 70 +
core/sdk/src/clients/client.rs | 15 +-
core/sdk/src/clients/consumer.rs | 44 +-
core/sdk/src/clients/producer.rs | 57 +-
.../src/stream_builder/build/build_stream_topic.rs | 42 +-
.../stream_builder/config/config_iggy_consumer.rs | 58 +-
.../stream_builder/config/config_iggy_producer.rs | 57 +-
.../stream_builder/config/config_iggy_stream.rs | 32 +-
examples/rust/src/shared/system.rs | 10 +-
.../rust/src/stream-builder/stream-basic/main.rs | 3 +-
.../stream-builder/stream-consumer-config/main.rs | 6 +-
.../stream-builder/stream-producer-config/main.rs | 6 +-
gateways/kafka/README.md | 34 +-
gateways/kafka/docs/CONFIGS.md | 109 +
gateways/kafka/docs/MANUAL_TESTING.md | 6 +-
gateways/kafka/docs/SCOPE.md | 22 +-
gateways/kafka/scripts/ci-wire-fixtures.sh | 2 +-
gateways/kafka/src/bridge/iggy_bridge/mod.rs | 12 +-
gateways/kafka/src/bridge/iggy_bridge/topics.rs | 166 +-
gateways/kafka/src/bridge/mod.rs | 11 +-
gateways/kafka/src/protocol/api.rs | 39 +-
gateways/kafka/src/protocol/bounds_guard.rs | 141 +-
.../kafka/src/protocol/handlers/alter_configs.rs | 389 +++
.../kafka/src/protocol/handlers/create_topics.rs | 80 +-
.../src/protocol/handlers/describe_configs.rs | 480 ++++
gateways/kafka/src/protocol/handlers/mod.rs | 19 +-
.../kafka/src/protocol/handlers/topic_config.rs | 514 ++++
gateways/kafka/src/server.rs | 3 +
gateways/kafka/tests/common/scope.rs | 2 +
gateways/kafka/tests/common/wire.rs | 51 +-
gateways/kafka/tests/configs_handler_tests.rs | 212 ++
gateways/kafka/tests/configs_java_client_tests.rs | 310 +++
gateways/kafka/tests/configs_real_bridge_tests.rs | 642 +++++
gateways/kafka/tests/fetch_real_bridge_tests.rs | 10 +-
gateways/kafka/tests/golden_wire_fixtures_tests.rs | 16 +-
gateways/kafka/tests/java/ConfigsProbe.java | 129 +
gateways/kafka/tests/version_firewall_tests.rs | 91 +-
gateways/kafka/tools/kafka-tool/README.md | 4 +-
gateways/kafka/tools/kafka-tool/src/main.rs | 10 +
gateways/kafka/tools/kafka-tool/src/response.rs | 38 +-
74 files changed, 7206 insertions(+), 631 deletions(-)
copy core/integration/tests/cli/general/{test_missing_credentials.rs =>
test_unknown_transport.rs} (67%)
copy core/integration/tests/cli/system/{test_logout_cmd.rs =>
test_session_status_cmd.rs} (57%)
create mode 100644 core/integration/tests/cluster/chaos_monkey.rs
create mode 100644 core/integration/tests/cluster/chaos_monkey/report.rs
create mode 100644 core/integration/tests/sdk/stream_builder.rs
create mode 100644 gateways/kafka/docs/CONFIGS.md
create mode 100644 gateways/kafka/src/protocol/handlers/alter_configs.rs
create mode 100644 gateways/kafka/src/protocol/handlers/describe_configs.rs
create mode 100644 gateways/kafka/src/protocol/handlers/topic_config.rs
create mode 100644 gateways/kafka/tests/configs_handler_tests.rs
create mode 100644 gateways/kafka/tests/configs_java_client_tests.rs
create mode 100644 gateways/kafka/tests/configs_real_bridge_tests.rs
create mode 100644 gateways/kafka/tests/java/ConfigsProbe.java