Skip to main content
A chain fork was detected, but the ClickHouse target has no onRollback handler, so the rows written above the fork point cannot be removed. Returning a rewound cursor without removing them would leave diverged data, so the target refuses instead. On the hot stream a startup warning announces this risk before a fork ever arrives. Fix — configure onRollback on the ClickHouse target. The typical implementation is store.removeRowsAfter(safeCursor, { tables }). A pipe reading /finalized-stream never forks and does not need one.