Skip to content

[v1.38] Async replication on by default#434

Open
g-despot wants to merge 6 commits into
v1-38/mainfrom
v1-38/async-by-default
Open

[v1.38] Async replication on by default#434
g-despot wants to merge 6 commits into
v1-38/mainfrom
v1-38/async-by-default

Conversation

@g-despot
Copy link
Copy Markdown
Contributor

Summary

Documents the async replication on-by-default change in Weaviate v1.38 (PRs weaviate/weaviate#11155, #10926; weaviate-python-client#2047), plus related correctness fixes to the replication-architecture concept pages found while auditing them against the source.

As of v1.38, async replication runs automatically for any collection with a replication factor > 1; the per-collection asyncEnabled flag is removed and disabling is done cluster-wide via ASYNC_REPLICATION_DISABLED.

Commits

  1. Document async replication enabled by default in v1.38 — async-rep / replication / env-vars / runtime-config / collections config / multi-node-setup / horizontal-scaling / consistency pages + includes. Swaps removed ASYNC_REPLICATION_CLUSTER_MAX_WORKERS and ASYNC_REPLICATION_ALIVE_NODES_CHECKING_FREQUENCY for the new ASYNC_REPLICATION_SCHEDULER_WORKERS / ASYNC_REPLICATION_HASHTREE_INIT_CONCURRENCY, keeping the removed entries with "Removed in v1.38" notes.
  2. Update code examples to drop removed asyncEnabled field — Python / TypeScript / Java / Go snippets.
  3. Update async replication metrics in monitoring reference — removes async_replication_goroutines_running, adds the new scheduler gauges and diff/deletion/reconcile counters.
  4. Correct outdated FQDN node discovery info — the RAFT_ENABLE_FQDN_RESOLVER / RAFT_FQDN_RESOLVER_TLD resolver was removed in v1.30.
  5. Document cross-data-center (WAN) cluster configurationCLUSTER_ADVERTISE_ADDR / DefaultWANConfig networking, clearly separated from the unimplemented topology-aware Multi-DC replication feature.
  6. Add tracking doc for removed content cleanupREMOVED_CONTENT_CLEANUP.md lists kept-but-stale entries for deletion in a later release.

Verification

  • All claims verified against the weaviate source at v1.38.0-rc.0 (env-var names/defaults, removed fields, metric names/types, WAN config behavior).
  • yarn build-dev passes with no new broken links or anchors.

Notes for reviewers

  • Legacy manage-data.collections-v2.ts / -v3.py snippets still contain asyncEnabled (intentionally left unchanged) — flag if they should also be updated.
  • FQDN content is fully removed from concepts/cluster.md but kept-with-note in cluster-architecture.md + env-vars table; can align to one approach on request.

🤖 Generated with Claude Code

g-despot and others added 6 commits May 31, 2026 17:57
Async replication now runs automatically for any collection with a
replication factor > 1; the per-collection asyncEnabled flag is removed.
Update the async-rep, replication, env-var, runtime-config, collections
config, multi-node-setup, horizontal-scaling and consistency pages, and
the related includes. Replace the removed CLUSTER_MAX_WORKERS /
ALIVE_NODES_CHECKING_FREQUENCY env vars with SCHEDULER_WORKERS /
HASHTREE_INIT_CONCURRENCY, keeping the removed entries with notes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Remove asyncEnabled/async_enabled arguments and assertions, and the
removed per-collection maxWorkers option, from the Python, TypeScript,
Java and Go replication snippets.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Remove async_replication_goroutines_running (replaced by the scheduler)
and add the new scheduler gauges and diff/deletion/reconcile counters
introduced in v1.38.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The RAFT_ENABLE_FQDN_RESOLVER / RAFT_FQDN_RESOLVER_TLD resolver was
removed in v1.30. Replace the cluster-architecture section with a brief
removal note and drop the obsolete FQDN (and pre-v1.18.1) content from
the cluster concepts page.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add a WAN section to the Multi-DC page covering CLUSTER_ADVERTISE_ADDR
(DefaultWANConfig) and related networking env vars, clearly separated
from the unimplemented topology-aware Multi-DC replication feature. Also
refresh the stale v1.17/v1.18 not-supported wording.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Track docs entries that describe removed features/env vars and are kept
with a removal note, so they can be deleted in a later release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@orca-security-eu orca-security-eu Bot left a comment

Choose a reason for hiding this comment

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

Orca Security Scan Summary

Status Check Issues by priority
Passed Passed Secrets high 0   medium 0   low 0   info 0 View in Orca

@g-despot g-despot changed the title Document async replication on by default (v1.38) [v1.38] Async replication on by default May 31, 2026
@g-despot g-despot requested a review from Copilot May 31, 2026 16:22
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Documents Weaviate v1.38 async replication defaults and removes/updates references to the removed per-collection asyncEnabled flag and related scheduler settings.

Changes:

  • Updates async replication docs, env vars, runtime overrides, metrics, and collection configuration references for v1.38 behavior.
  • Removes asyncEnabled / maxWorkers from current code examples and snippets.
  • Adds WAN cluster configuration guidance and removes outdated FQDN node-discovery content.

Reviewed changes

Copilot reviewed 21 out of 21 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
REMOVED_CONTENT_CLEANUP.md Adds tracking policy for removed docs content.
docs/deploy/configuration/async-rep.md Updates async replication deep-dive for default-on scheduler behavior.
docs/deploy/configuration/env-vars/index.md Updates async replication env vars and removes old FQDN env vars.
docs/deploy/configuration/env-vars/runtime-config.md Updates runtime override mappings for new async replication settings.
docs/deploy/configuration/horizontal-scaling.mdx Removes removed asyncEnabled field from example.
docs/deploy/configuration/monitoring.md Updates async replication metrics reference.
docs/deploy/configuration/replication.md Updates replication how-to for default-on async replication.
docs/weaviate/concepts/cluster.md Removes outdated FQDN and old shard-affinity details.
docs/weaviate/concepts/replication-architecture/cluster-architecture.md Removes outdated FQDN node-discovery details.
docs/weaviate/concepts/replication-architecture/consistency.md Updates async replication and consistency wording.
docs/weaviate/concepts/replication-architecture/multi-dc.md Adds WAN single-cluster configuration guidance.
docs/weaviate/config-refs/collections.mdx Removes removed replication config fields and documents v1.38 defaults.
docs/weaviate/manage-collections/multi-node-setup.mdx Removes removed async replication fields from cURL example.
_includes/async-replication-per-collection-config.mdx Updates shared async replication include.
_includes/collection-mutable-parameters.mdx Removes asyncEnabled from mutable parameter list.
_includes/code/config-refs/reference.collections.py Updates Python collection reference snippet.
_includes/code/configuration/replication-consistency.mdx Updates shared cURL replication snippet.
_includes/code/howto/go/docs/manage-data.classes_test.go Updates Go replication example.
_includes/code/howto/manage-data.collections.py Updates Python replication examples.
_includes/code/howto/manage-data.collections.ts Updates TypeScript replication examples.
_includes/code/java-v6/src/test/java/ManageCollectionsTest.java Updates Java replication examples/tests.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +411 to +413
// Async replication runs by default when the replication factor is greater than 1
client.collections.create("Article", col -> col.replication(
Replication.of(rep -> rep.replicationFactor(1).asyncEnabled(true))));
Replication.of(rep -> rep.replicationFactor(1))));
| `async_replication_cluster_max_workers` | `ASYNC_REPLICATION_CLUSTER_MAX_WORKERS` |
| `async_replication_scheduler_workers` | `ASYNC_REPLICATION_SCHEDULER_WORKERS` |
| `async_replication_hashtree_init_concurrency` | `ASYNC_REPLICATION_HASHTREE_INIT_CONCURRENCY`|
| `async_replication_cluster_max_workers` _(removed in `v1.38`)_ | `ASYNC_REPLICATION_CLUSTER_MAX_WORKERS` _(removed in `v1.38`)_ |
Comment on lines +680 to 682
// Async replication runs by default when the replication factor is greater than 1
replication: configure.replication({
factor: 1,
Async replication supplements the repair-on-read mechanism. If a node becomes inconsistent between sync checks, the repair-on-read mechanism catches the problem at read time.

To activate async replication, set `asyncEnabled` to true in the [`replicationConfig` section of your collection definition](../../manage-collections/multi-node-setup.mdx#replication-settings). Visit the [How-to: Replication](/deploy/configuration/replication.md#async-replication-settings) page to learn more about the available async replication settings.
As of Weaviate `v1.38`, async replication is enabled by default for any collection with a replication factor greater than `1`, there is no per-collection flag to enable it. To turn it off cluster-wide, set the `ASYNC_REPLICATION_DISABLED` environment variable to `true`. Visit the [How-to: Replication](/deploy/configuration/replication.md#async-replication-settings) page to learn more about the available async replication settings.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants