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 57ef13d2f fix(csharp): sync an empty group assignment again on every
poll
omit bbe8eea39 fix(java): sync an empty group assignment again on every poll
omit 896334e0e fix(go): sync an empty group assignment again on every poll
omit 946701c1a test(python): wait for group activation in the consumer
group tests
omit 93742dc96 test(csharp): wait for group activation in the integration
tests
omit bb48e3a5e test(cpp): wait for group activation before group offset
calls
omit fdb42aefe fix(node): sync an empty group assignment again on every poll
omit a12d06fae test(go): wait for group activation in the e2e tests
omit 5199bd45d test(integration): wait for the group owner in the
storage-compat test
omit a6fbcc7b8 fix(partitions): reset the owner install barrier on state
transfer
omit 2d79119bf fix(java): stop retrying 88 once the caller gave up
omit 09a06d266 fix(java): report an unknown outcome when an HTTP resend is
refused
omit 090ff5a64 fix(shard): serve group polls only to the installed
partition owner
omit 018d263d5 feat(swift): add the TooManyConsumerGroups error code 5010
omit 6fa02707a fix(php): let held messages commit under their own context
omit 8599d2442 fix(cpp): pass partition contexts through polls and offset
stores
omit 5e0bf4cd1 fix(python): let held messages commit under their own context
omit b33433fba fix(node): keep contexts of re-issued commands and route
offset writes
omit 736a1f670 fix(csharp): stop consumers skipping messages of recreated
partitions
omit f0532ff28 fix(java): break a poll timeout deadlock and fence raw
requests
omit f26b45631 fix(go): route offset writes to the primary and fence raw
requests
omit 8c9f44c8d fix(sdk): report failed background offset commits again
omit 49efc8ac1 fix(sdk): retry 88 outside the lock and give raw requests a
context
omit 872458d63 fix(sdk): fence HTTP sends with the client's partition
context
omit 7d95ba7ca refactor(server): share the poll head encoder and drop a
dead field
omit 2bb6d9488 fix(metadata): refuse consumer groups beyond the owner
catalog bound
omit 3a9fdc40c perf(metadata): index partitions once per topic in snapshot
checks
omit c566ec549 fix(server): finish lifecycles of partitions fenced at boot
omit cfd0290b8 fix(partitions): let partitions without messages recover by
transfer
omit ca8f6d115 fix(partitions): apply one history rule at admission and
promotion
omit 219b99f70 feat(partitions)!: fence ownership and history changes
add b7576e580 chore(deps): Bump cucumber-cpp from 0.8.0.bcr.1 to 0.9.0 in
/foreign/cpp in the cpp group across 1 directory (#4469)
add 69a1bcc16 chore(deps): Bump the node group across 1 directory with 12
updates (#4470)
add ed7e251dc chore(deps): Bump the csharp group with 2 updates (#4406)
add 8efc3e1e6 chore(deps): Bump the python group across 3 directories with
3 updates (#4435)
add 9536916bd feat(csharp): implement connection string parsing (#4363)
add 89921bf48 docs(repo): add the RFC process and template (#4385)
add b4e357cc9 chore(deps): Bump the web group across 1 directory with 8
updates (#4468)
add 09183950a feat(connectors): add Google BigQuery sink connector (#4394)
add 10d60b5de feat(partitions)!: fence ownership and history changes
add 2de164ae2 fix(partitions): apply one history rule at admission and
promotion
add 06a67e0bc fix(partitions): let partitions without messages recover by
transfer
add 3da3ccc74 fix(server): finish lifecycles of partitions fenced at boot
add 1c793ae6d perf(metadata): index partitions once per topic in snapshot
checks
add 121683254 fix(metadata): refuse consumer groups beyond the owner
catalog bound
add 8a73aad59 refactor(server): share the poll head encoder and drop a
dead field
add 32d0ee4eb fix(sdk): fence HTTP sends with the client's partition
context
add 0136868d7 fix(sdk): retry 88 outside the lock and give raw requests a
context
add 2b66c454e fix(sdk): report failed background offset commits again
add eae636007 fix(go): route offset writes to the primary and fence raw
requests
add f6be1c9c5 fix(java): break a poll timeout deadlock and fence raw
requests
add a2c8af9f7 fix(csharp): stop consumers skipping messages of recreated
partitions
add f3b806a02 fix(node): keep contexts of re-issued commands and route
offset writes
add 9f11937d5 fix(python): let held messages commit under their own context
add 8de78180f fix(cpp): pass partition contexts through polls and offset
stores
add e5fabb20e fix(php): let held messages commit under their own context
add ab4962b00 feat(swift): add the TooManyConsumerGroups error code 5010
add f88d4b954 fix(shard): serve group polls only to the installed
partition owner
add be7f908a6 fix(java): report an unknown outcome when an HTTP resend is
refused
add f13640c5f fix(java): stop retrying 88 once the caller gave up
add 8cc427baa fix(partitions): reset the owner install barrier on state
transfer
add 9297265d9 test(integration): wait for the group owner in the
storage-compat test
add ddf4ee604 test(go): wait for group activation in the e2e tests
add 9355c3f70 fix(node): sync an empty group assignment again on every poll
add 579c0b9a6 test(cpp): wait for group activation before group offset
calls
add 6ef59f099 test(csharp): wait for group activation in the integration
tests
add 4ac00958f test(python): wait for group activation in the consumer
group tests
add a8cf50ea5 fix(go): sync an empty group assignment again on every poll
add 8df116a62 fix(java): sync an empty group assignment again on every poll
add 1fd7756c4 fix(csharp): sync an empty group assignment again on every
poll
add 595404221 fix(partitions): stop owner proof waiting for unrelated
writes
add da5e5cc83 fix(metadata): keep groups without members free of owner rows
add 2526f67d3 refactor(metadata): drop the redundant check in
pollable_partitions
add 3d38c7da1 fix(sdk): keep the replay guard for stores before the first
message
add a070eef18 fix(partitions): report the highest resident op from the
journal
add 10311cf46 fix(partitions): hold the checkpoint while a fence awaits
publish
add 9f549a5e6 fix(server): refuse a context ahead of local metadata as
transient
add 59474b3c1 fix(server): label owner retirement catalogs with their own
op
add 059cf56ef fix(server): stop per-partition completions from flooding
shard 0
add 2536f1d6e fix(server): answer a lost metadata forward instead of
staying silent
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 (57ef13d2f)
\
N -- N -- N refs/heads/feat/ownership-and-history (2536f1d6e)
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:
.github/workflows/pr-title.yml | 1 +
CONTRIBUTING.md | 5 +
Cargo.lock | 144 ++
Cargo.toml | 13 +
bdd/python/uv.lock | 70 +-
.../example_config/connectors/bigquery_sink.toml | 63 +
core/connectors/sinks/README.md | 1 +
.../{influxdb_sink => bigquery_sink}/Cargo.toml | 26 +-
core/connectors/sinks/bigquery_sink/README.md | 263 +++
core/connectors/sinks/bigquery_sink/config.toml | 63 +
core/connectors/sinks/bigquery_sink/src/client.rs | 445 ++++
core/connectors/sinks/bigquery_sink/src/encode.rs | 2129 ++++++++++++++++++++
core/connectors/sinks/bigquery_sink/src/error.rs | 210 ++
core/connectors/sinks/bigquery_sink/src/lib.rs | 534 +++++
core/connectors/sinks/bigquery_sink/src/schema.rs | 866 ++++++++
core/connectors/sinks/bigquery_sink/src/sink.rs | 407 ++++
.../sinks/bigquery_sink/tests/bigquery_sink.rs | 566 ++++++
.../sinks/bigquery_sink/tests/common/mod.rs | 393 ++++
core/metadata/src/impls/metadata.rs | 50 +-
core/metadata/src/stm/consumer_group.rs | 124 +-
core/metadata/src/stm/lifecycle.rs | 407 +++-
core/metadata/src/stm/snapshot.rs | 8 +-
core/metadata/src/stm/stream.rs | 11 +
core/partitions/src/iggy_partition.rs | 339 +++-
core/partitions/src/journal.rs | 21 +-
core/sdk/src/clients/consumer.rs | 163 +-
core/server/src/dispatch/failure.rs | 2 +-
core/server/src/dispatch/mod.rs | 167 +-
core/server/src/dispatch/partition.rs | 235 ++-
core/server/src/dispatch/submit.rs | 15 +-
core/server/src/http/handlers.rs | 16 +-
core/server/src/http/submit.rs | 20 +-
core/server/src/lib.rs | 4 +-
core/server/src/partition_reconciler.rs | 569 +++++-
core/server/src/responses.rs | 2 +
core/shard/src/lib.rs | 16 +-
core/simulator/src/lib.rs | 17 +-
examples/python/pyproject.toml | 4 +-
examples/python/uv.lock | 68 +-
foreign/cpp/MODULE.bazel | 2 +-
foreign/cpp/MODULE.bazel.lock | 4 +-
foreign/csharp/Directory.Packages.props | 4 +-
.../ConnectionStringTests.cs | 104 +
.../IggyTlsConnectionTests.cs | 16 +
.../Iggy_SDK/Configuration/ConnectionString.cs | 250 +++
.../Configuration/IggyClientConfigurator.cs | 38 +
.../csharp/Iggy_SDK/Factory/IggyClientFactory.cs | 21 +-
.../csharp/Iggy_SDK/Utils/IggyDurationParser.cs | 394 ++++
.../ClientTests/ConnectionStringTests.cs | 441 ++++
.../UtilityTests/IggyDurationParserTests.cs | 227 +++
foreign/csharp/README.md | 45 +
foreign/node/package-lock.json | 197 +-
foreign/node/package.json | 2 +-
foreign/python/apache_iggy.pyi | 3 +-
foreign/python/src/consumer.rs | 3 +-
foreign/python/uv.lock | 64 +-
rfcs/README.md | 250 +++
rfcs/rfc-template.md | 74 +
web/README.md | 2 +-
web/eslint.config.js | 4 +-
web/package-lock.json | 1036 ++--------
web/package.json | 23 +-
web/src/ambient.d.ts | 2 +-
.../frontend/src/hooks/mod.rs => web/src/env.ts | 6 +-
web/src/hooks.client.ts | 2 +-
web/src/lib/api/ApiSchema.ts | 4 +-
web/src/lib/api/clientApi.ts | 18 +-
web/src/lib/api/fetchApi.ts | 8 +-
web/src/lib/api/fetchRouteApi.ts | 6 +-
web/src/lib/api/handleFetchErrors.ts | 18 +-
web/src/lib/auth/authStore.svelte.ts | 8 +-
web/src/lib/components/Breadcrumbs.svelte | 12 +-
web/src/lib/components/Button.svelte | 2 +-
web/src/lib/components/Combobox.svelte | 2 +-
.../components/DeleteButtonWithConfirmation.svelte | 2 +-
.../components/DropdownMenu/DropdownMenu.svelte | 2 +-
web/src/lib/components/DurationInput.svelte | 2 +-
web/src/lib/components/Header.svelte | 6 +-
.../lib/components/Layouts/SettingsLayout.svelte | 12 +-
web/src/lib/components/LoadingIndicator.svelte | 4 +-
web/src/lib/components/Logo/Logo.svelte | 10 +-
.../MessageDecoder/MessageDecoder.svelte | 2 +-
.../decoders/BuiltInDecoders/jsonDecoder.ts | 2 +-
web/src/lib/components/ModalConfirmation.svelte | 2 +-
.../components/Modals/AddPartitionsModal.svelte | 6 +-
.../lib/components/Modals/AddStreamModal.svelte | 4 +-
web/src/lib/components/Modals/AddTopicModal.svelte | 8 +-
web/src/lib/components/Modals/AddUserModal.svelte | 6 +-
web/src/lib/components/Modals/AppModals.svelte | 4 +-
.../components/Modals/DeletePartitionsModal.svelte | 8 +-
.../lib/components/Modals/DeleteUserModal.svelte | 2 +-
web/src/lib/components/Modals/EditUserModal.svelte | 2 +-
.../Modals/EditUserPermissionsModal.svelte | 2 +-
.../lib/components/Modals/InspectMessage.svelte | 8 +-
web/src/lib/components/Modals/ModalBase.svelte | 2 +-
.../components/Modals/StreamSettingsModal.svelte | 14 +-
.../components/Modals/TopicSettingsModal.svelte | 12 +-
web/src/lib/components/Navbar.svelte | 23 +-
web/src/lib/components/Paginator.svelte | 4 +-
web/src/lib/components/PasswordInput.svelte | 2 +-
web/src/lib/components/PeriodicInvalidator.svelte | 6 +-
web/src/lib/components/PermissionsManager.svelte | 12 +-
.../RouteComponents/Settings/UsersTab.svelte | 16 +-
.../Settings/UsersTabActions.svelte | 4 +-
web/src/lib/components/SlimSortableList.svelte | 2 +-
web/src/lib/components/SortableList.svelte | 9 +-
web/src/lib/components/StopPropagation.svelte | 2 +-
web/src/lib/components/ThemeController.svelte | 4 +-
web/src/lib/domain/Message.ts | 2 +-
web/src/lib/domain/Partition.ts | 2 +-
web/src/lib/domain/Stats.ts | 2 +-
web/src/lib/domain/Topic.ts | 6 +-
web/src/lib/domain/User.ts | 2 +-
web/src/lib/hooks/useGoPrev.ts | 10 +-
web/src/lib/types/appRoutes.ts | 4 +-
.../utils/base64Utils.test.mjs => params.test.mjs} | 18 +-
.../frontend/src/hooks/mod.rs => web/src/params.ts | 6 +-
web/src/params/i32.ts | 20 -
web/src/routes/+layout.svelte | 4 +-
web/src/routes/+layout.ts | 27 +-
web/src/routes/auth/+layout.svelte | 2 +-
web/src/routes/auth/logout/+page.svelte | 6 +-
web/src/routes/auth/sign-in/+page.svelte | 22 +-
web/src/routes/auth/sign-in/+page.ts | 8 +-
web/src/routes/dashboard/+layout.svelte | 8 +-
web/src/routes/dashboard/+layout.ts | 12 +-
web/src/routes/dashboard/overview/+page.ts | 4 +-
.../routes/dashboard/settings/server/+page.svelte | 8 +-
web/src/routes/dashboard/settings/server/+page.ts | 4 +-
.../dashboard/settings/terminal/+page.svelte | 2 +-
.../routes/dashboard/settings/users/+page.svelte | 18 +-
web/src/routes/dashboard/settings/users/+page.ts | 8 +-
.../routes/dashboard/settings/webUI/+page.svelte | 10 +-
web/src/routes/dashboard/streams/+layout.svelte | 17 +-
web/src/routes/dashboard/streams/+layout.ts | 4 +-
.../dashboard/streams/[streamId=i32]/+page.svelte | 14 +-
.../dashboard/streams/[streamId=i32]/+page.ts | 4 +-
.../streams/[streamId=i32]/topics/+page.svelte | 4 +-
.../topics/[topicId=i32]/+page.svelte | 18 +-
.../[streamId=i32]/topics/[topicId=i32]/+page.ts | 4 +-
.../partitions/[partitionId=i32]/+page.svelte | 4 +-
.../[partitionId=i32]/messages/+page.svelte | 25 +-
.../partitions/[partitionId=i32]/messages/+page.ts | 6 +-
web/svelte.config.js | 46 -
web/tsconfig.json | 15 +-
web/vite.config.ts | 31 +-
146 files changed, 10577 insertions(+), 1785 deletions(-)
create mode 100644
core/connectors/runtime/example_config/connectors/bigquery_sink.toml
copy core/connectors/sinks/{influxdb_sink => bigquery_sink}/Cargo.toml (71%)
create mode 100644 core/connectors/sinks/bigquery_sink/README.md
create mode 100644 core/connectors/sinks/bigquery_sink/config.toml
create mode 100644 core/connectors/sinks/bigquery_sink/src/client.rs
create mode 100644 core/connectors/sinks/bigquery_sink/src/encode.rs
create mode 100644 core/connectors/sinks/bigquery_sink/src/error.rs
create mode 100644 core/connectors/sinks/bigquery_sink/src/lib.rs
create mode 100644 core/connectors/sinks/bigquery_sink/src/schema.rs
create mode 100644 core/connectors/sinks/bigquery_sink/src/sink.rs
create mode 100644 core/connectors/sinks/bigquery_sink/tests/bigquery_sink.rs
create mode 100644 core/connectors/sinks/bigquery_sink/tests/common/mod.rs
create mode 100644
foreign/csharp/Iggy_SDK.Tests.Integration/ConnectionStringTests.cs
create mode 100644 foreign/csharp/Iggy_SDK/Configuration/ConnectionString.cs
create mode 100644 foreign/csharp/Iggy_SDK/Utils/IggyDurationParser.cs
create mode 100644
foreign/csharp/Iggy_SDK_Tests/ClientTests/ConnectionStringTests.cs
create mode 100644
foreign/csharp/Iggy_SDK_Tests/UtilityTests/IggyDurationParserTests.cs
create mode 100644 rfcs/README.md
create mode 100644 rfcs/rfc-template.md
copy core/bench/dashboard/frontend/src/hooks/mod.rs => web/src/env.ts (82%)
copy web/src/{lib/utils/base64Utils.test.mjs => params.test.mjs} (60%)
copy core/bench/dashboard/frontend/src/hooks/mod.rs => web/src/params.ts (83%)
delete mode 100644 web/src/params/i32.ts
delete mode 100644 web/svelte.config.js