This is an automated email from the ASF dual-hosted git repository.
numinnex pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iggy.git
The following commit(s) were added to refs/heads/master by this push:
new 6eb580524 docs(server-ng): drop stale TODOs (#3725)
6eb580524 is described below
commit 6eb58052468d02b563c8e4054c58824413e81a32
Author: Grzegorz Koszyk <[email protected]>
AuthorDate: Wed Jul 22 15:44:20 2026 +0200
docs(server-ng): drop stale TODOs (#3725)
---
core/consensus/src/client_table.rs | 1 -
core/metadata/src/impls/metadata.rs | 11 ++++++++---
core/server-ng/src/bootstrap.rs | 4 ----
core/simulator/src/workload/oracle.rs | 10 +++++-----
4 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/core/consensus/src/client_table.rs
b/core/consensus/src/client_table.rs
index ed517d0f2..6b0a8526f 100644
--- a/core/consensus/src/client_table.rs
+++ b/core/consensus/src/client_table.rs
@@ -135,7 +135,6 @@ pub enum RequestStatus {
///
/// ## Known gaps
///
-/// - **Message repair**: gaps stall `commit_journal` until repair lands.
/// - **Checkpoint serialization**: slot layout deterministic, encode/decode
TODO.
#[derive(Debug)]
pub struct ClientTable {
diff --git a/core/metadata/src/impls/metadata.rs
b/core/metadata/src/impls/metadata.rs
index 061b2dfbf..7ba69922b 100644
--- a/core/metadata/src/impls/metadata.rs
+++ b/core/metadata/src/impls/metadata.rs
@@ -799,7 +799,9 @@ where
// Backup: gap check (op == current_op + 1).
// Primary: sequencer pre-advanced by push_prepare_entry (guards
// sibling on_request races during journal.append await).
- // TODO: hard assert for backups once message repair lands.
+ // TODO: promote the backup gap warn below to a hard assert or a
+ // repair-session trigger (message repair has landed; the drop-and-
+ // wait-for-retransmit path is the last soft handling left here).
let is_backup = consensus.is_follower();
if is_backup {
if header.op != current_op + 1 {
@@ -2277,8 +2279,11 @@ where
let op = consensus.commit_min() + 1;
let Some(header) = journal.handle().header(op as usize) else {
- // TODO: Implement message repair: request missing prepare from
- // primary or other replicas. Until then, the backup stalls
here.
+ // Gap-stop: the walk halts at the first missing prepare and
+ // resumes once it is refilled. Live drops refill via the
+ // primary's prepare retransmit; a replica behind at recovery
+ // or after StartView adoption arms a `MetadataRepairSession`
+ // (shard) that re-requests the missing window.
break;
};
let header = *header;
diff --git a/core/server-ng/src/bootstrap.rs b/core/server-ng/src/bootstrap.rs
index eaee9c873..7d815d29e 100644
--- a/core/server-ng/src/bootstrap.rs
+++ b/core/server-ng/src/bootstrap.rs
@@ -511,7 +511,6 @@ pub async fn load_config(logging: &mut Logging) ->
Result<ServerNgConfig, Server
let config = ServerNgConfig::load()
.await
.map_err(ServerNgError::Config)?;
- // TODO: decouple directory bootstrap from the `server` crate.
create_directories(&config.system).await.map_err(|source| {
error!(
system_path = %config.system.get_system_path(),
@@ -797,9 +796,6 @@ fn run_shard_thread(
.bind_memory()
.map_err(|source| ServerNgError::MemoryAffinityFailed { shard_id,
source })?;
- // TODO(hubcio): decouple runtime creation from the `server` crate
- // (mirrors the identical TODO in `main.rs`). Reusing legacy here so
- // server-ng and the legacy server share one io_uring tuning surface.
let runtime = create_shard_executor()
.map_err(|source| ServerNgError::ShardRuntimeCreateFailed { shard_id,
source })?;
diff --git a/core/simulator/src/workload/oracle.rs
b/core/simulator/src/workload/oracle.rs
index 3ba3229e7..b5a2b6ce0 100644
--- a/core/simulator/src/workload/oracle.rs
+++ b/core/simulator/src/workload/oracle.rs
@@ -29,11 +29,11 @@
//! Full cross-replica EQUALITY (every live replica holding the same committed
//! log) is the real consensus property, but it is not asserted yet. Backups
//! apply prepares in strict order and drop any gap (`op != current_op + 1` in
-//! `metadata::on_replicate` / `iggy_partition`), and there is no log repair
-//! (no `RequestPrepare` / state transfer) to refetch a missed prepare. Under
-//! realistic reorder/drop a behind backup therefore never catches up and
-//! legitimately sits behind the leader at quiesce. Re-enable equality once
-//! message repair lands (the state-sync workstream).
+//! `metadata::on_replicate` / `iggy_partition`), relying on the primary's
+//! retransmit and the repair sessions (`MetadataRepairSession` / partition
+//! `RepairSession`) to refill. Message repair has landed on both planes, so
+//! the equality assert is unblocked but not yet re-enabled: the sim must
+//! first drive quiesce long enough for repair rounds to converge.
use crate::Simulator;
use crate::replica::Replica;