Files
scylladb/idl
Piotr Dulikowski 863aae84fd Merge '[Backport 2025.4] db/view/view_building_coordinator: get rid of task's state in group0' from Scylladb[bot]
Previously, the view building coordinator relied on setting each task's state to STARTED and then explicitly removing these state entries once tasks finished, before scheduling new ones. This approach induced a significant number of group0 commits, particularly in large clusters with many nodes and tablets, negatively impacting performance and scalability.

With the update, the coordinator and worker logic has been restructured to operate without maintaining per-task states. Instead, tasks are simply tracked with an aborted boolean flag, which is still essential for certain tablet operations. This change removes much of the coordination complexity, simplifies the view building code, and reduces operational overhead.

In addition, the coordinator now batches reports of finished tasks before making commits. Rather than committing task completions individually, it aggregates them and reports in groups, significantly minimizing the frequency of group0 commits. This new approach is expected to improve efficiency and scalability during materialized view construction, especially in large deployments.

Fixes https://github.com/scylladb/scylladb/issues/26311

This patch needs to be backported to 2025.4.

- (cherry picked from commit 6d853c8f11)

- (cherry picked from commit 08974e1d50)

- (cherry picked from commit eb04af5020)

- (cherry picked from commit 24d69b4005)

- (cherry picked from commit fb8cbf1615)

- (cherry picked from commit fe9581f54c)

Parent PR: #26897

Closes scylladb/scylladb#27266

* github.com:scylladb/scylladb:
  docs/dev/view-building-coordinator: update the docs after recent changes
  db/view/view_building: send coordinator's term in the RPC
  db/view/view_building_state: replace task's state with `aborted` flag
  db/view/view_building_coordinator: batch finished tasks reporting
  db/view/view_building_worker: change internal implementation
  db/view/view_building_coordinator: change `work_on_tasks` RPC return type
2025-11-27 01:47:53 +01:00
..