Parsed test spec with 3 sessions starting permutation: s2_begin s2_snap s1_update s1_index s1_check s2_plain s2_sp s2_count s2_back s2_stats s2_back s2_count2 s2_back s2_verify s2_back s2_commit s2_count s3_count s3_count1 step s2_begin: BEGIN ISOLATION LEVEL REPEATABLE READ; step s2_snap: SELECT count(*) AS visible_rows FROM cnt_cx; visible_rows ------------ 1 (1 row) step s1_update: UPDATE cnt_cx SET k = 2; step s1_index: CREATE INDEX cnt_cx_k ON cnt_cx USING lion (k); step s1_check: SELECT indisvalid, indisready, indcheckxmin FROM pg_index WHERE indexrelid = 'cnt_cx_k'::regclass; indisvalid|indisready|indcheckxmin ----------+----------+------------ t |t |t (1 row) step s2_plain: SELECT count(*) AS plain FROM cnt_cx WHERE k = 1; plain ----- 1 (1 row) step s2_sp: SAVEPOINT p; step s2_count: SELECT lion_index_count('cnt_cx_k', 1); ERROR: cannot count through index "cnt_cx_k" because it was built from a broken HOT chain (indcheckxmin) and cannot be used by this transaction's snapshot step s2_back: ROLLBACK TO p; step s2_stats: SELECT count FROM lion_index_count_stats('cnt_cx_k', 1); ERROR: cannot count through index "cnt_cx_k" because it was built from a broken HOT chain (indcheckxmin) and cannot be used by this transaction's snapshot step s2_back: ROLLBACK TO p; step s2_count2: SELECT lion_index_count('cnt_cx_k', 1, 'cnt_cx_k', 1); ERROR: cannot count through index "cnt_cx_k" because it was built from a broken HOT chain (indcheckxmin) and cannot be used by this transaction's snapshot step s2_back: ROLLBACK TO p; step s2_verify: SELECT lion_index_verify('cnt_cx_k', true); ERROR: cannot verify index "cnt_cx_k" against the heap because it was built from a broken HOT chain (indcheckxmin) and cannot be used by this transaction's snapshot step s2_back: ROLLBACK TO p; step s2_commit: COMMIT; step s2_count: SELECT lion_index_count('cnt_cx_k', 1); lion_index_count ---------------- 0 (1 row) step s3_count: SELECT lion_index_count('cnt_cx_k', 2) AS roaring, (SELECT count(*) FROM cnt_cx WHERE k = 2) AS plain; roaring|plain -------+----- 1| 1 (1 row) step s3_count1: SELECT lion_index_count('cnt_cx_k', 1) AS roaring, (SELECT count(*) FROM cnt_cx WHERE k = 1) AS plain; roaring|plain -------+----- 0| 0 (1 row)