Urgent.News

What's breaking now, across thousands of outlets.

Tech

A fault model is not a flag

I have a small consensus tool. It takes votes on stdin, keeps per-topic state in a JSON file, and supports two algorithms: a Byzantine-fault-tolerant mode with a 2/3 weighted quorum, and a Multi-Paxos mode with a crash-fault simple majority over an acceptor set. You pick one with a flag: printf 'a|blue\nb|blue\n' | mesh-vote deploy-ready --algo multipaxos That line contains a defect I did not see…

The issue described in the source is that a consensus tool has a fault model that is not a flag. The tool supports two algorithms: Byzantine-fault-tolerant (BFT) with a 2/3 weighted quorum, and Multi-Paxos with a crash-fault simple majority over an acceptor set. The problem arose when a fault introduced a missing flag, causing the per-invocation flag to be treated independently from the per-topic durable state.

This led to situations where a minority of nodes could announce consensus at 100% confidence, and a new node could choose itself as leader in a cluster with five known members. The contradiction between the BFT and Multi-Paxos results was not caught by the tool's error handling, as each algorithm read its own keys and wrote its own keys back without detecting the inconsistency.

The issue was that both algorithms were operating on the same durable state without proper coordination, leading to a split-brain scenario where both algorithms held the same state but with different values. The fix involved recording the algorithm that wrote the state, and refusing to run when there was a mismatch. This ensured that the tool would refuse to run when a topic was alternately run under incompatible fault models, preventing the observed failures.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Weekly Cybersecurity Roundup; Week of August 28, 2026

Two alleged TeamPCP members were arrested in Australia, closing a supply-chain saga that ran all summer. A multi-agent AI framework conducted a near-autonomous government intrusion in Taiwan — the…

  • Two Australians, 21 and 23, arrested for supply-chain attacks
  • First publicly confirmed near-autonomous AI government intrusion in Taiwan
  • Citrix NetScaler CVE-2026-8452 exploited, web shells deployed

Flutter State Management: Riverpod vs Bloc in 2026

Two state management libraries, real production apps behind both. A criteria table, honest scores, and a decision rule you can apply to your own project.

  • Riverpod excels in compile-time safety, easy testing, and native async handling
  • Bloc emphasizes structured approach with immutable states and explicit event handling
  • Choice between Riverpod and Bloc depends on team, app, and tolerance for structure

More from Saturday 29 August →