This is an automated email from the ASF dual-hosted git repository.

numinnex pushed a change to branch state_transfer_metadata_clients_table
in repository https://gitbox.apache.org/repos/asf/iggy.git


    from ea6c607e6 peer feetching during stale view restart
     add b6a2f81c0 fix(sdk): forward unknown command codes instead of rejecting 
them (#3766)
     add ba541bb9c fix(server-ng): stop restart panic when WAL replay recovers 
sessions (#3768)
     add 91fcb9300 fix(ci): propagate failures in pre-commit hooks (#3743)
     add 265bd265a chore(deps): Bump com.gradleup.shadow from 9.5.1 to 9.6.0 in 
/foreign/java in the java group across 1 directory (#3771)
     add 3153e456f chore(deps): Bump the github-actions group with 5 updates 
(#3772)
     add 3711d060d fix(ci): example-runner silently skips Python/Go examples 
when exclude starts with a dash (#3770)
     add f0eb0950d fix(server-ng): make partition reconvergence safe for 
in-flight sends (#3761)
     add f67f03873 fix(server-ng): fold io_uring remediation into 
runtime-creation errors (#3775)
     add 0fa657a94 fix(ci): stop trailing checks from skipping text files as 
binary (#3778)
     add 3b190c14e feat(js): add VSR framing to the Node SDK (#3763)
     add 5ca0bbb40 chore(deps): Bump postcss from 8.5.16 to 8.5.23 in /web 
(#3762)
     add 74fb5e2a9 fix(server-ng): bind cluster TCP to [tcp].address, not the 
roster ip (#3783)
     add 53a7ff99e feat(server-ng): harden listener, auth, shutdown, and 
disk-poll paths (#3774)
     add 2afd4b12b feat(consensus): persist metadata VSR state in a durable 
superblock (#3767)
     add 25fe5711c merge master

No new revisions were added by this update.

Summary of changes:
 .github/actions/node-npm/pre-merge/action.yml      |  76 +-
 .github/actions/utils/server-start/action.yml      |  15 +-
 .github/config/components.yml                      |   2 +-
 .github/workflows/_build_python_wheels.yml         |  14 +-
 .github/workflows/_build_rust_artifacts.yml        |   6 +-
 .github/workflows/_common.yml                      |  32 +-
 .github/workflows/_detect.yml                      |   2 +-
 .github/workflows/_publish_rust_crates.yml         |   2 +-
 .github/workflows/_test.yml                        |  17 +-
 .github/workflows/_test_bdd.yml                    |   2 +-
 .github/workflows/_test_examples.yml               |   6 +-
 .github/workflows/coverage-baseline.yml            |  26 +-
 .github/workflows/edge-release.yml                 |   2 +-
 .github/workflows/post-merge.yml                   |   4 +-
 .github/workflows/publish.yml                      |  16 +-
 .pre-commit-config.yaml                            |   8 +-
 Cargo.lock                                         |  11 +-
 Cargo.toml                                         |  11 +-
 codecov.yml                                        |   6 +
 core/binary_protocol/Cargo.toml                    |   2 +-
 core/binary_protocol/src/consensus/header.rs       |  41 +-
 core/common/Cargo.toml                             |   2 +-
 core/common/src/error/iggy_error.rs                |   2 -
 core/configs/src/server_ng_config/cluster.rs       |  65 +-
 core/configs/src/server_ng_config/sharding.rs      |  74 ++
 core/consensus/Cargo.toml                          |   1 +
 core/consensus/src/client_table.rs                 | 517 ++++++++++-
 core/consensus/src/impls.rs                        | 445 +++++++++-
 core/consensus/src/lib.rs                          |   7 +-
 core/consensus/src/plane_helpers.rs                |  42 +
 core/consensus/src/vsr_state.rs                    | 224 +++++
 core/integration/Cargo.toml                        |   8 +-
 .../tests/cluster/metadata_state_transfer.rs       | 154 ++++
 .../integration/tests/connectors/http/http_sink.rs |  72 +-
 core/integration/tests/sdk/raw.rs                  |  13 +-
 .../tests/server/cluster_view_durability_vsr.rs    | 266 ++++++
 core/integration/tests/server/http_vsr.rs          |  11 +
 core/integration/tests/server/message_retrieval.rs |  51 +-
 .../server/metadata_checkpoint_recovery_vsr.rs     | 138 +++
 core/integration/tests/server/mod.rs               |   8 +
 .../server/scenarios/message_cleanup_scenario.rs   |   8 +-
 .../server/scenarios/purge_delete_scenario.rs      |  78 +-
 core/journal/Cargo.toml                            |   2 +
 core/journal/src/lib.rs                            |  15 +
 core/journal/src/prepare_journal.rs                | 495 ++++++++++-
 core/journal/src/superblock.rs                     | 824 +++++++++++++++++
 core/message_bus/src/client_listener/mod.rs        |   5 +-
 core/message_bus/src/client_listener/quic.rs       |  24 +-
 core/message_bus/src/framing.rs                    |   8 +-
 core/message_bus/src/installer/replica.rs          |   2 +-
 core/message_bus/src/replica/auth.rs               | 106 ++-
 core/message_bus/src/replica/handshake.rs          |  21 +-
 core/message_bus/src/socket_opts.rs                |  59 +-
 core/message_bus/tests/common/mod.rs               |   7 +-
 core/message_bus/tests/replica_auth_handshake.rs   |  28 +
 core/metadata/src/impls/metadata.rs                | 920 ++++++++++++++++---
 core/metadata/src/impls/recovery.rs                | 981 +++++++++++++++++++--
 core/metadata/src/lib.rs                           |   1 +
 core/metadata/src/stm/snapshot.rs                  |  64 +-
 core/metadata/src/stm/stream.rs                    | 293 +++++-
 core/metadata/src/stm/user.rs                      |   5 +
 core/partitions/src/iggy_partition.rs              |  88 +-
 core/partitions/src/poll_plan.rs                   |  57 +-
 core/sdk/Cargo.toml                                |   2 +-
 core/sdk/src/clients/client.rs                     |   5 +-
 core/sdk/src/vsr.rs                                |  69 +-
 core/server-ng/config.toml                         |  26 +-
 core/server-ng/src/auth.rs                         | 100 ++-
 core/server-ng/src/bootstrap.rs                    | 699 ++++++++++-----
 core/server-ng/src/dispatch.rs                     | 346 +++++++-
 core/server-ng/src/dispatch/authz.rs               |  10 +-
 core/server-ng/src/http.rs                         |  30 +-
 core/server-ng/src/main.rs                         |  13 +-
 core/server-ng/src/partition_reconciler.rs         | 194 +++-
 core/server-ng/src/server_error.rs                 |  22 +-
 core/server/src/main.rs                            |  40 +-
 core/server_common/src/diagnostics.rs              | 108 ++-
 core/shard/src/lib.rs                              | 545 ++++++++++--
 core/shard/src/router.rs                           |   5 +
 core/simulator/src/deps.rs                         | 121 +++
 core/simulator/src/lib.rs                          | 555 +++++++++++-
 core/simulator/src/replica.rs                      | 122 ++-
 .../data-population-explanation.md                 |   3 +-
 foreign/java/gradle/libs.versions.toml             |   2 +-
 foreign/node/README.md                             |  63 +-
 foreign/node/package-lock.json                     |   4 +-
 foreign/node/package.json                          |   8 +-
 foreign/node/scripts/check-vsr-protocol.mjs        | 340 +++++++
 foreign/node/src/bdd/raw.ts                        |   5 +-
 foreign/node/src/client/client.config.test.ts      |  95 ++
 foreign/node/src/client/client.config.ts           |  56 ++
 foreign/node/src/client/client.connection.test.ts  | 455 ++++++++++
 foreign/node/src/client/client.connection.ts       | 362 ++++++--
 foreign/node/src/client/client.frame.test.ts       | 160 ++++
 foreign/node/src/client/client.frame.ts            | 227 +++++
 foreign/node/src/client/client.socket.test.ts      | 677 ++++++++++++++
 foreign/node/src/client/client.socket.ts           | 410 ++++++++-
 foreign/node/src/client/client.ts                  |  73 +-
 foreign/node/src/client/client.type.ts             |  24 +-
 foreign/node/src/client/index.ts                   |   1 +
 foreign/node/src/e2e/tcp.consumer-group.e2e.ts     |   8 +-
 foreign/node/src/e2e/tcp.consumer-stream.e2e.ts    |   8 +-
 foreign/node/src/e2e/tcp.raw.e2e.ts                |  38 +-
 foreign/node/src/e2e/test-client.utils.ts          |   2 +
 foreign/node/src/index.ts                          |   6 +
 foreign/node/src/stream/consumer-stream.ts         |   9 +-
 .../wire/cluster/get-cluster-metadata.command.ts   |   2 +-
 foreign/node/src/wire/command-set.test.ts          |  10 +-
 foreign/node/src/wire/command-set.ts               |  10 +-
 foreign/node/src/wire/command.code.ts              |   5 +-
 .../src/wire/command.utils.test.ts}                |  39 +-
 foreign/node/src/wire/command.utils.ts             |   8 +-
 .../wire/consumer-group/delete-group.command.ts    |  19 +-
 .../src/wire/consumer-group/get-group.command.ts   |  16 +-
 .../node/src/wire/consumer-group/group.utils.ts    |   7 +
 foreign/node/src/wire/consumer-group/index.ts      |   1 +
 .../src/wire/consumer-group/join-group.command.ts  |  19 +-
 .../src/wire/consumer-group/leave-group.command.ts |  19 +-
 .../wire/consumer-group/sync-group.command.test.ts |  99 +++
 .../src/wire/consumer-group/sync-group.command.ts  |  67 ++
 foreign/node/src/wire/error.code.test.ts           |  40 +
 foreign/node/src/wire/error.code.ts                |  32 +-
 foreign/node/src/wire/error.utils.ts               |  22 +-
 .../src/wire/message/poll-messages.command.test.ts | 423 +++++++++
 .../node/src/wire/message/poll-messages.command.ts | 211 ++++-
 foreign/node/src/wire/offset/get-offset.command.ts |   2 +-
 foreign/node/src/wire/offset/offset.utils.ts       |   4 +-
 .../node/src/wire/offset/store-offset.command.ts   |   2 +-
 .../topic.utils.test.ts}                           |  60 +-
 foreign/node/src/wire/topic/topic.utils.ts         |   4 +-
 foreign/node/src/wire/vsr/header.test.ts           |  99 +++
 foreign/node/src/wire/vsr/header.ts                | 165 ++++
 foreign/node/src/wire/vsr/index.ts                 | 157 ++++
 foreign/node/src/wire/vsr/namespace.test.ts        | 342 +++++++
 foreign/node/src/wire/vsr/namespace.ts             | 216 +++++
 foreign/node/src/wire/vsr/operation.test.ts        | 107 +++
 foreign/node/src/wire/vsr/operation.ts             | 158 ++++
 foreign/node/src/wire/vsr/register.test.ts         |  93 ++
 foreign/node/src/wire/vsr/register.ts              | 116 +++
 foreign/node/src/wire/vsr/reply.test.ts            | 196 ++++
 foreign/node/src/wire/vsr/reply.ts                 | 172 ++++
 foreign/node/src/wire/vsr/session.test.ts          |  73 ++
 foreign/node/src/wire/vsr/session.ts               | 117 +++
 foreign/node/src/wire/vsr/vsr.test.ts              | 131 +++
 foreign/node/tsconfig.json                         |   2 +-
 foreign/python/Cargo.toml                          |   2 +-
 scripts/ci/trailing-newline.sh                     |   2 +-
 scripts/ci/trailing-whitespace.sh                  |   2 +-
 scripts/utils.sh                                   |   2 +-
 web/package-lock.json                              |  16 +-
 web/package.json                                   |   2 +-
 151 files changed, 14470 insertions(+), 1361 deletions(-)
 create mode 100644 core/consensus/src/vsr_state.rs
 create mode 100644 core/integration/tests/server/cluster_view_durability_vsr.rs
 create mode 100644 
core/integration/tests/server/metadata_checkpoint_recovery_vsr.rs
 create mode 100644 core/journal/src/superblock.rs
 create mode 100644 foreign/node/scripts/check-vsr-protocol.mjs
 create mode 100644 foreign/node/src/client/client.config.test.ts
 create mode 100644 foreign/node/src/client/client.config.ts
 create mode 100644 foreign/node/src/client/client.connection.test.ts
 create mode 100644 foreign/node/src/client/client.frame.test.ts
 create mode 100644 foreign/node/src/client/client.frame.ts
 create mode 100644 foreign/node/src/client/client.socket.test.ts
 copy foreign/{go/contracts/duration.go => node/src/wire/command.utils.test.ts} 
(60%)
 create mode 100644 
foreign/node/src/wire/consumer-group/sync-group.command.test.ts
 create mode 100644 foreign/node/src/wire/consumer-group/sync-group.command.ts
 create mode 100644 foreign/node/src/wire/error.code.test.ts
 create mode 100644 foreign/node/src/wire/message/poll-messages.command.test.ts
 copy foreign/node/src/wire/{token/delete-token.command.test.ts => 
topic/topic.utils.test.ts} (51%)
 create mode 100644 foreign/node/src/wire/vsr/header.test.ts
 create mode 100644 foreign/node/src/wire/vsr/header.ts
 create mode 100644 foreign/node/src/wire/vsr/index.ts
 create mode 100644 foreign/node/src/wire/vsr/namespace.test.ts
 create mode 100644 foreign/node/src/wire/vsr/namespace.ts
 create mode 100644 foreign/node/src/wire/vsr/operation.test.ts
 create mode 100644 foreign/node/src/wire/vsr/operation.ts
 create mode 100644 foreign/node/src/wire/vsr/register.test.ts
 create mode 100644 foreign/node/src/wire/vsr/register.ts
 create mode 100644 foreign/node/src/wire/vsr/reply.test.ts
 create mode 100644 foreign/node/src/wire/vsr/reply.ts
 create mode 100644 foreign/node/src/wire/vsr/session.test.ts
 create mode 100644 foreign/node/src/wire/vsr/session.ts
 create mode 100644 foreign/node/src/wire/vsr/vsr.test.ts

Reply via email to