Check firebird.log [no messages found for interval when this test was running]
Jump to: output_first_mismatch    outcomes_full_history    elapsed_time_chart
Show cross-report outcomes.

Annotation type Annotation details
2 @message
assert   
    checked_mode: table, STDLOG: Records affected: 5
    checked_mode: table, STDLOG: ID X
    checked_mode: table, STDLOG:
    checked_mode: table, STDLOG: -3 -3
    checked_mode: table, STDLOG: -2 -2
    checked_mode: table, STDLOG: -1 -1
    checked_mode: table, STDLOG: 12 12
    checked_mode: table, STDLOG: 13 13
    checked_mode: table, STDLOG: Records affected: 5
    checked_mode: table, STDLOG: OLD_ID OP SNAP_NO_RANK
    checked_mode: table, STDLOG:
  - checked_mode: table, STDLOG: 1 UPD 1
  + checked_mode: table, STDLOG: 1UPD 1
  - checked_mode: table, STDLOG: 2 UPD 1
  + checked_mode: table, STDLOG: 2UPD 1
  - checked_mode: table, STDLOG: -13 UPD 2
  + checked_mode: table, STDLOG: -13UPD 2
  - checked_mode: table, STDLOG: -12 UPD 2
  + checked_mode: table, STDLOG: -12UPD 2
  - checked_mode: table, STDLOG: 1 UPD 2
  + checked_mode: table, STDLOG: 1UPD 2
  - checked_mode: table, STDLOG: 2 UPD 2
  + checked_mode: table, STDLOG: 2UPD 2
  - checked_mode: table, STDLOG: 3 UPD 2
  + checked_mode: table, STDLOG: 3UPD 2
    checked_mode: table, STDLOG: Records affected: 7

LOG DETAILS:

2025-07-01 06:04:58.963
2025-07-01 06:04:58.971 act = <firebird.qa.plugin.Action object at [hex]>
2025-07-01 06:04:58.978 fn_worker_sql = PosixPath('/var/tmp/qa_2024/test_12480/tmp_worker.sql')
2025-07-01 06:04:58.989 fn_worker_log = PosixPath('/var/tmp/qa_2024/test_12480/tmp_worker.log')
2025-07-01 06:04:58.999 fn_worker_err = PosixPath('/var/tmp/qa_2024/test_12480/tmp_worker.err')
2025-07-01 06:04:59.006 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-07-01 06:04:59.015
2025-07-01 06:04:59.026 @pytest.mark.trace
2025-07-01 06:04:59.035 @pytest.mark.version('>=4.0.2')
2025-07-01 06:04:59.042 def test_1(act: Action, fn_worker_sql: Path, fn_worker_log: Path, fn_worker_err: Path, capsys):
2025-07-01 06:04:59.049 sql_init = (act.files_dir / 'read-consist-sttm-restart-DDL.sql').read_text()
2025-07-01 06:04:59.054
2025-07-01 06:04:59.060 for checked_mode in('table', 'view'):
2025-07-01 06:04:59.066 target_obj = 'test' if checked_mode == 'table' else 'v_test'
2025-07-01 06:04:59.071
2025-07-01 06:04:59.083 SQL_TO_BE_RESTARTED = f"""
2025-07-01 06:04:59.091 merge /* {SQL_TAG_THAT_WE_WAITING_FOR} */ into {target_obj} t
2025-07-01 06:04:59.100 using (select * from {target_obj} order by id ROWS 10) s on s.id=t.id
2025-07-01 06:04:59.107 when matched then
2025-07-01 06:04:59.113 update set t.id = -t.id, t.x = -s.x
2025-07-01 06:04:59.120 when not matched then
2025-07-01 06:04:59.127 insert(id,x) values(s.id, -s.x - 500)
2025-07-01 06:04:59.133 """
2025-07-01 06:04:59.138
2025-07-01 06:04:59.143 # add rows with ID = 1, 2, 3:
2025-07-01 06:04:59.149 sql_addi = f'''
2025-07-01 06:04:59.156 set term ^;
2025-07-01 06:04:59.162 execute block as
2025-07-01 06:04:59.171 begin
2025-07-01 06:04:59.179 rdb$set_context('USER_SESSION', 'WHO', 'INIT_DATA');
2025-07-01 06:04:59.186 end
2025-07-01 06:04:59.192 ^
2025-07-01 06:04:59.198 set term ;^
2025-07-01 06:04:59.204 insert into {target_obj}(id, x)
2025-07-01 06:04:59.210 select row_number()over(),row_number()over()
2025-07-01 06:04:59.216 from rdb$types rows 3;
2025-07-01 06:04:59.222 commit;
2025-07-01 06:04:59.228 '''
2025-07-01 06:04:59.235
2025-07-01 06:04:59.246 act.isql(switches=['-q'], input = ''.join( (sql_init, sql_addi) ) )
2025-07-01 06:04:59.253 # ::: NOTE ::: We have to immediately quit if any error raised in prepare phase.
2025-07-01 06:04:59.259 # See also letter from dimitr, 01-feb-2022 14:46
2025-07-01 06:04:59.265 assert act.stderr == ''
2025-07-01 06:04:59.274 act.reset()
2025-07-01 06:04:59.280
2025-07-01 06:04:59.286 trace_cfg_items = [
2025-07-01 06:04:59.293 'time_threshold = 0',
2025-07-01 06:04:59.305 'log_errors = true',
2025-07-01 06:04:59.315 'log_statement_start = true',
2025-07-01 06:04:59.324 'log_statement_finish = true',
2025-07-01 06:04:59.331 ]
2025-07-01 06:04:59.343
2025-07-01 06:04:59.353 with act.trace(db_events = trace_cfg_items, encoding=locale.getpreferredencoding()):
2025-07-01 06:04:59.360
2025-07-01 06:04:59.366 with act.db.connect() as con_lock_1, act.db.connect() as con_lock_2, act.db.connect() as con_monitoring:
2025-07-01 06:04:59.372
2025-07-01 06:04:59.381 tpb_monitoring = tpb(isolation=Isolation.READ_COMMITTED_RECORD_VERSION, lock_timeout=0)
2025-07-01 06:04:59.389 tx_monitoring = con_monitoring.transaction_manager(tpb_monitoring)
2025-07-01 06:04:59.395 cur_monitoring = tx_monitoring.cursor()
2025-07-01 06:04:59.403
2025-07-01 06:04:59.414 for i,c in enumerate((con_lock_1,con_lock_2)):
2025-07-01 06:04:59.422 sttm = f"execute block as begin rdb$set_context('USER_SESSION', 'WHO', 'LOCKER #{i+1}'); end"
2025-07-01 06:04:59.429 c.execute_immediate(sttm)
2025-07-01 06:04:59.435
2025-07-01 06:04:59.442 #########################
2025-07-01 06:04:59.450 ###  L O C K E R - 1  ###
2025-07-01 06:04:59.460 #########################
2025-07-01 06:04:59.468
2025-07-01 06:04:59.475 con_lock_1.execute_immediate( f'update {target_obj} set id=id where id = 3' )
2025-07-01 06:04:59.480
2025-07-01 06:04:59.485 worker_sql = f'''
2025-07-01 06:04:59.491 set list on;
2025-07-01 06:04:59.497 set autoddl off;
2025-07-01 06:04:59.503 set term ^;
2025-07-01 06:04:59.511 execute block returns (whoami varchar(30)) as
2025-07-01 06:04:59.520 begin
2025-07-01 06:04:59.530 whoami = 'WORKER'; -- , ATT#' || current_connection;
2025-07-01 06:04:59.538 rdb$set_context('USER_SESSION','WHO', whoami);
2025-07-01 06:04:59.544 -- suspend;
2025-07-01 06:04:59.557 end
2025-07-01 06:04:59.565 ^
2025-07-01 06:04:59.572 set term ;^
2025-07-01 06:04:59.578 commit;
2025-07-01 06:04:59.583 SET KEEP_TRAN_PARAMS ON;
2025-07-01 06:04:59.588 set transaction read committed read consistency;
2025-07-01 06:04:59.594
2025-07-01 06:04:59.599 set list off;
2025-07-01 06:04:59.605 set wng off;
2025-07-01 06:04:59.611 set count on;
2025-07-01 06:04:59.619
2025-07-01 06:04:59.630 -- THIS MUST HANG:
2025-07-01 06:04:59.638 {SQL_TO_BE_RESTARTED};
2025-07-01 06:04:59.643
2025-07-01 06:04:59.649 -- check results:
2025-07-01 06:04:59.654 -- ###############
2025-07-01 06:04:59.659 select id,x from {target_obj} order by id; -- this will produce output only after all lockers do their commit/rollback
2025-07-01 06:04:59.664
2025-07-01 06:04:59.670 select v.old_id, v.op, v.snap_no_rank
2025-07-01 06:04:59.676 from v_worker_log v
2025-07-01 06:04:59.681 where v.op  = 'upd';
2025-07-01 06:04:59.687
2025-07-01 06:04:59.699 set width who 10;
2025-07-01 06:04:59.710 -- DO NOT check this! Values can differ here from one run to another!
2025-07-01 06:04:59.719 -- select id, trn, who, old_id, new_id, op, rec_vers, global_cn, snap_no from tlog_done order by id;
2025-07-01 06:04:59.725
2025-07-01 06:04:59.733 rollback;
2025-07-01 06:04:59.741
2025-07-01 06:04:59.747 '''
2025-07-01 06:04:59.753
2025-07-01 06:04:59.759 fn_worker_sql.write_text(worker_sql)
2025-07-01 06:04:59.765
2025-07-01 06:04:59.771 with fn_worker_log.open(mode='w') as hang_out, fn_worker_err.open(mode='w') as hang_err:
2025-07-01 06:04:59.777
2025-07-01 06:04:59.783 ############################################################################
2025-07-01 06:04:59.790 ###  L A U N C H     W O R K E R    U S I N G     I S Q L,   A S Y N C.  ###
2025-07-01 06:04:59.796 ############################################################################
2025-07-01 06:04:59.810 p_worker = subprocess.Popen([act.vars['isql'], '-i', str(fn_worker_sql),
2025-07-01 06:04:59.821 '-user', act.db.user,
2025-07-01 06:04:59.834 '-password', act.db.password,
2025-07-01 06:04:59.846 '-pag', '9999999',
2025-07-01 06:04:59.856 act.db.dsn
2025-07-01 06:04:59.864 ],
2025-07-01 06:04:59.872 stdout = hang_out,
2025-07-01 06:04:59.878 stderr = hang_err
2025-07-01 06:04:59.885 )
2025-07-01 06:04:59.897 # NB: when ISQL will establish attach, first record that it must lock is ID = 1 -- see above SQL_TO_BE_RESTARTED
2025-07-01 06:04:59.909 # We must to ensure that this (worker) attachment has been really created and LOCKS this record:
2025-07-01 06:04:59.919 #
2025-07-01 06:04:59.927 wait_for_record_become_locked(tx_monitoring, cur_monitoring, f'update {target_obj} set id=id where id=1', SQL_TAG_THAT_WE_WAITING_FOR)
2025-07-01 06:04:59.940
2025-07-01 06:04:59.951 #########################
2025-07-01 06:04:59.961 ###  L O C K E R - 2  ###
2025-07-01 06:04:59.969 #########################
2025-07-01 06:04:59.982 con_lock_2.execute_immediate( f'insert into {target_obj}(id,x) values(-13,-13)')
2025-07-01 06:04:59.991 con_lock_2.commit()
2025-07-01 06:05:00.003 con_lock_2.execute_immediate( f'update {target_obj} set id=id where id = -13')
2025-07-01 06:05:00.013
2025-07-01 06:05:00.024 #########################
2025-07-01 06:05:00.032 ###  L O C K E R - 1  ###
2025-07-01 06:05:00.040 #########################
2025-07-01 06:05:00.047 con_lock_1.commit() # releases record with ID = 3 ==> now it can be locked by worker.
2025-07-01 06:05:00.055
2025-07-01 06:05:00.067 # We have to WAIT HERE until worker will actually 'catch' just released record with ID = 3.
2025-07-01 06:05:00.076 #
2025-07-01 06:05:00.084 wait_for_record_become_locked(tx_monitoring, cur_monitoring, f'update {target_obj} set id=id where id=3', SQL_TAG_THAT_WE_WAITING_FOR)
2025-07-01 06:05:00.093 # If we come here then it means that record with ID = 3 for sure is locked by WORKER.
2025-07-01 06:05:00.106
2025-07-01 06:05:00.117 con_lock_1.execute_immediate( f'insert into {target_obj}(id,x) values(-12,-12)' )
2025-07-01 06:05:00.128 con_lock_1.commit()
2025-07-01 06:05:00.138 con_lock_1.execute_immediate( f'update {target_obj} set id=id where id = -12' )
2025-07-01 06:05:00.147
2025-07-01 06:05:00.159 #########################
2025-07-01 06:05:00.171 ###  L O C K E R - 2  ###
2025-07-01 06:05:00.180 #########################
2025-07-01 06:05:00.188 con_lock_2.commit() # releases record with ID = -13 ==> now it can be locked by worker.
2025-07-01 06:05:00.194
2025-07-01 06:05:00.201 # We have to WAIT HERE until worker will actually 'catch' just released record with ID = -13.
2025-07-01 06:05:00.207 #
2025-07-01 06:05:00.214 wait_for_record_become_locked(tx_monitoring, cur_monitoring, f'update {target_obj} set id=id where id=-13', SQL_TAG_THAT_WE_WAITING_FOR)
2025-07-01 06:05:00.221 # If we come here then it means that record with ID = -13 for sure is locked by WORKER.
2025-07-01 06:05:00.227
2025-07-01 06:05:00.234 #########################
2025-07-01 06:05:00.245 ###  L O C K E R - 1  ###
2025-07-01 06:05:00.256 #########################
2025-07-01 06:05:00.268 con_lock_1.commit() # WORKER will complete his job after this
2025-07-01 06:05:00.278
2025-07-01 06:05:00.288 # Here we wait for ISQL complete its mission:
2025-07-01 06:05:00.297 p_worker.wait()
2025-07-01 06:05:00.304
2025-07-01 06:05:00.310 #< with act.db.connect()
2025-07-01 06:05:00.317
2025-07-01 06:05:00.323 for g in (fn_worker_log, fn_worker_err):
2025-07-01 06:05:00.331 with g.open() as f:
2025-07-01 06:05:00.347 for line in f:
2025-07-01 06:05:00.361 if line.split():
2025-07-01 06:05:00.371 if g == fn_worker_log:
2025-07-01 06:05:00.383 print(f'checked_mode: {checked_mode}, STDLOG: {line}')
2025-07-01 06:05:00.393 else:
2025-07-01 06:05:00.401 print(f'UNEXPECTED STDERR {line}')
2025-07-01 06:05:00.407
2025-07-01 06:05:00.415 expected_stdout_worker = f"""
2025-07-01 06:05:00.427 checked_mode: {checked_mode}, STDLOG: Records affected: 5
2025-07-01 06:05:00.434
2025-07-01 06:05:00.443 checked_mode: {checked_mode}, STDLOG:      ID       X
2025-07-01 06:05:00.452 checked_mode: {checked_mode}, STDLOG: ======= =======
2025-07-01 06:05:00.459 checked_mode: {checked_mode}, STDLOG:      -3      -3
2025-07-01 06:05:00.468 checked_mode: {checked_mode}, STDLOG:      -2      -2
2025-07-01 06:05:00.480 checked_mode: {checked_mode}, STDLOG:      -1      -1
2025-07-01 06:05:00.494 checked_mode: {checked_mode}, STDLOG:      12      12
2025-07-01 06:05:00.506 checked_mode: {checked_mode}, STDLOG:      13      13
2025-07-01 06:05:00.514 checked_mode: {checked_mode}, STDLOG: Records affected: 5
2025-07-01 06:05:00.520
2025-07-01 06:05:00.527 checked_mode: {checked_mode}, STDLOG:  OLD_ID OP              SNAP_NO_RANK
2025-07-01 06:05:00.534 checked_mode: {checked_mode}, STDLOG: ======= ====== =====================
2025-07-01 06:05:00.546 checked_mode: {checked_mode}, STDLOG:       1 UPD                        1
2025-07-01 06:05:00.559 checked_mode: {checked_mode}, STDLOG:       2 UPD                        1
2025-07-01 06:05:00.570 checked_mode: {checked_mode}, STDLOG:     -13 UPD                        2
2025-07-01 06:05:00.579 checked_mode: {checked_mode}, STDLOG:     -12 UPD                        2
2025-07-01 06:05:00.587 checked_mode: {checked_mode}, STDLOG:       1 UPD                        2
2025-07-01 06:05:00.596 checked_mode: {checked_mode}, STDLOG:       2 UPD                        2
2025-07-01 06:05:00.606 checked_mode: {checked_mode}, STDLOG:       3 UPD                        2
2025-07-01 06:05:00.614
2025-07-01 06:05:00.623 checked_mode: {checked_mode}, STDLOG: Records affected: 7
2025-07-01 06:05:00.630 """
2025-07-01 06:05:00.637
2025-07-01 06:05:00.643 act.expected_stdout = expected_stdout_worker
2025-07-01 06:05:00.649 act.stdout = capsys.readouterr().out
2025-07-01 06:05:00.655 >               assert act.clean_stdout == act.clean_expected_stdout
2025-07-01 06:05:00.661 E               assert
2025-07-01 06:05:00.673 E                   checked_mode: table, STDLOG: Records affected: 5
2025-07-01 06:05:00.680 E                   checked_mode: table, STDLOG: ID X
2025-07-01 06:05:00.687 E                   checked_mode: table, STDLOG:
2025-07-01 06:05:00.699 E                   checked_mode: table, STDLOG: -3 -3
2025-07-01 06:05:00.707 E                   checked_mode: table, STDLOG: -2 -2
2025-07-01 06:05:00.714 E                   checked_mode: table, STDLOG: -1 -1
2025-07-01 06:05:00.723 E                   checked_mode: table, STDLOG: 12 12
2025-07-01 06:05:00.734 E                   checked_mode: table, STDLOG: 13 13
2025-07-01 06:05:00.741 E                   checked_mode: table, STDLOG: Records affected: 5
2025-07-01 06:05:00.748 E                   checked_mode: table, STDLOG: OLD_ID OP SNAP_NO_RANK
2025-07-01 06:05:00.754 E                   checked_mode: table, STDLOG:
2025-07-01 06:05:00.761 E                 - checked_mode: table, STDLOG: 1 UPD 1
2025-07-01 06:05:00.776 E                 + checked_mode: table, STDLOG: 1UPD 1
2025-07-01 06:05:00.783 E                 - checked_mode: table, STDLOG: 2 UPD 1
2025-07-01 06:05:00.796 E                 + checked_mode: table, STDLOG: 2UPD 1
2025-07-01 06:05:00.809 E                 - checked_mode: table, STDLOG: -13 UPD 2
2025-07-01 06:05:00.824 E                 + checked_mode: table, STDLOG: -13UPD 2
2025-07-01 06:05:00.830 E                 - checked_mode: table, STDLOG: -12 UPD 2
2025-07-01 06:05:00.842 E                 + checked_mode: table, STDLOG: -12UPD 2
2025-07-01 06:05:00.848 E                 - checked_mode: table, STDLOG: 1 UPD 2
2025-07-01 06:05:00.861 E                 + checked_mode: table, STDLOG: 1UPD 2
2025-07-01 06:05:00.867 E                 - checked_mode: table, STDLOG: 2 UPD 2
2025-07-01 06:05:00.879 E                 + checked_mode: table, STDLOG: 2UPD 2
2025-07-01 06:05:00.885 E                 - checked_mode: table, STDLOG: 3 UPD 2
2025-07-01 06:05:00.897 E                 + checked_mode: table, STDLOG: 3UPD 2
2025-07-01 06:05:00.903 E                   checked_mode: table, STDLOG: Records affected: 7
2025-07-01 06:05:00.909
2025-07-01 06:05:00.915 tests/functional/transactions/test_read_consist_sttm_restart_on_merge_01.py:429: AssertionError
2025-07-01 06:05:00.921 ---------------------------- Captured stdout setup -----------------------------
2025-07-01 06:05:00.927 Creating db: localhost:/var/tmp/qa_2024/test_12480/test.fdb [page_size=None, sql_dialect=None, charset='NONE', user=SYSDBA, password=masterkey]
3 #text
act = <firebird.qa.plugin.Action pytest object at [hex]>
fn_worker_sql = PosixPath('/var/tmp/qa_2024/test_12480/tmp_worker.sql')
fn_worker_log = PosixPath('/var/tmp/qa_2024/test_12480/tmp_worker.log')
fn_worker_err = PosixPath('/var/tmp/qa_2024/test_12480/tmp_worker.err')
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>

    @pytest.mark.trace
    @pytest.mark.version('>=4.0.2')
    def test_1(act: Action, fn_worker_sql: Path, fn_worker_log: Path, fn_worker_err: Path, capsys):
        sql_init = (act.files_dir / 'read-consist-sttm-restart-DDL.sql').read_text()
    
        for checked_mode in('table', 'view'):
            target_obj = 'test' if checked_mode == 'table' else 'v_test'
    
            SQL_TO_BE_RESTARTED = f"""
                merge /* {SQL_TAG_THAT_WE_WAITING_FOR} */ into {target_obj} t
                using (select * from {target_obj} order by id ROWS 10) s on s.id=t.id
                when matched then
                    update set t.id = -t.id, t.x = -s.x
                when not matched then
                    insert(id,x) values(s.id, -s.x - 500)
            """
    
            # add rows with ID = 1, 2, 3:
            sql_addi = f'''
                set term ^;
                execute block as
                begin
                    rdb$set_context('USER_SESSION', 'WHO', 'INIT_DATA');
                end
                ^
                set term ;^
                insert into {target_obj}(id, x)
                select row_number()over(),row_number()over()
                from rdb$types rows 3;
                commit;
            '''
    
            act.isql(switches=['-q'], input = ''.join( (sql_init, sql_addi) ) )
            # ::: NOTE ::: We have to immediately quit if any error raised in prepare phase.
            # See also letter from dimitr, 01-feb-2022 14:46
            assert act.stderr == ''
            act.reset()
    
            trace_cfg_items = [
                'time_threshold = 0',
                'log_errors = true',
                'log_statement_start = true',
                'log_statement_finish = true',
            ]
    
            with act.trace(db_events = trace_cfg_items, encoding=locale.getpreferredencoding()):
    
                with act.db.connect() as con_lock_1, act.db.connect() as con_lock_2, act.db.connect() as con_monitoring:
    
                    tpb_monitoring = tpb(isolation=Isolation.READ_COMMITTED_RECORD_VERSION, lock_timeout=0)
                    tx_monitoring = con_monitoring.transaction_manager(tpb_monitoring)
                    cur_monitoring = tx_monitoring.cursor()
    
                    for i,c in enumerate((con_lock_1,con_lock_2)):
                        sttm = f"execute block as begin rdb$set_context('USER_SESSION', 'WHO', 'LOCKER #{i+1}'); end"
                        c.execute_immediate(sttm)
    
                    #########################
                    ###  L O C K E R - 1  ###
                    #########################
    
                    con_lock_1.execute_immediate( f'update {target_obj} set id=id where id = 3' )
    
                    worker_sql = f'''
                        set list on;
                        set autoddl off;
                        set term ^;
                        execute block returns (whoami varchar(30)) as
                        begin
                            whoami = 'WORKER'; -- , ATT#' || current_connection;
                            rdb$set_context('USER_SESSION','WHO', whoami);
                            -- suspend;
                        end
                        ^
                        set term ;^
                        commit;
                        SET KEEP_TRAN_PARAMS ON;
                        set transaction read committed read consistency;
    
                        set list off;
                        set wng off;
                        set count on;
    
                        -- THIS MUST HANG:
                        {SQL_TO_BE_RESTARTED};
    
                        -- check results:
                        -- ###############
                        select id,x from {target_obj} order by id; -- this will produce output only after all lockers do their commit/rollback
    
                        select v.old_id, v.op, v.snap_no_rank
                        from v_worker_log v
                        where v.op  = 'upd';
    
                        set width who 10;
                        -- DO NOT check this! Values can differ here from one run to another!
                        -- select id, trn, who, old_id, new_id, op, rec_vers, global_cn, snap_no from tlog_done order by id;
    
                        rollback;
    
                    '''
    
                    fn_worker_sql.write_text(worker_sql)
    
                    with fn_worker_log.open(mode='w') as hang_out, fn_worker_err.open(mode='w') as hang_err:
    
                        ############################################################################
                        ###  L A U N C H     W O R K E R    U S I N G     I S Q L,   A S Y N C.  ###
                        ############################################################################
                        p_worker = subprocess.Popen([act.vars['isql'], '-i', str(fn_worker_sql),
                                                       '-user', act.db.user,
                                                       '-password', act.db.password,
                                                       '-pag', '9999999',
                                                       act.db.dsn
                                                    ],
                                                      stdout = hang_out,
                                                      stderr = hang_err
                                                   )
                        # NB: when ISQL will establish attach, first record that it must lock is ID = 1 -- see above SQL_TO_BE_RESTARTED
                        # We must to ensure that this (worker) attachment has been really created and LOCKS this record:
                        #
                        wait_for_record_become_locked(tx_monitoring, cur_monitoring, f'update {target_obj} set id=id where id=1', SQL_TAG_THAT_WE_WAITING_FOR)
    
                        #########################
                        ###  L O C K E R - 2  ###
                        #########################
                        con_lock_2.execute_immediate( f'insert into {target_obj}(id,x) values(-13,-13)')
                        con_lock_2.commit()
                        con_lock_2.execute_immediate( f'update {target_obj} set id=id where id = -13')
    
                        #########################
                        ###  L O C K E R - 1  ###
                        #########################
                        con_lock_1.commit() # releases record with ID = 3 ==> now it can be locked by worker.
    
                        # We have to WAIT HERE until worker will actually 'catch' just released record with ID = 3.
                        #
                        wait_for_record_become_locked(tx_monitoring, cur_monitoring, f'update {target_obj} set id=id where id=3', SQL_TAG_THAT_WE_WAITING_FOR)
                        # If we come here then it means that record with ID = 3 for sure is locked by WORKER.
    
                        con_lock_1.execute_immediate( f'insert into {target_obj}(id,x) values(-12,-12)' )
                        con_lock_1.commit()
                        con_lock_1.execute_immediate( f'update {target_obj} set id=id where id = -12' )
    
                        #########################
                        ###  L O C K E R - 2  ###
                        #########################
                        con_lock_2.commit() # releases record with ID = -13 ==> now it can be locked by worker.
    
                        # We have to WAIT HERE until worker will actually 'catch' just released record with ID = -13.
                        #
                        wait_for_record_become_locked(tx_monitoring, cur_monitoring, f'update {target_obj} set id=id where id=-13', SQL_TAG_THAT_WE_WAITING_FOR)
                        # If we come here then it means that record with ID = -13 for sure is locked by WORKER.
    
                        #########################
                        ###  L O C K E R - 1  ###
                        #########################
                        con_lock_1.commit() # WORKER will complete his job after this
    
                        # Here we wait for ISQL complete its mission:
                        p_worker.wait()
    
                #< with act.db.connect()
    
                for g in (fn_worker_log, fn_worker_err):
                    with g.open() as f:
                        for line in f:
                            if line.split():
                                if g == fn_worker_log:
                                    print(f'checked_mode: {checked_mode}, STDLOG: {line}')
                                else:
                                    print(f'UNEXPECTED STDERR {line}')
    
                expected_stdout_worker = f"""
                    checked_mode: {checked_mode}, STDLOG: Records affected: 5
    
                    checked_mode: {checked_mode}, STDLOG:      ID       X
                    checked_mode: {checked_mode}, STDLOG: ======= =======
                    checked_mode: {checked_mode}, STDLOG:      -3      -3
                    checked_mode: {checked_mode}, STDLOG:      -2      -2
                    checked_mode: {checked_mode}, STDLOG:      -1      -1
                    checked_mode: {checked_mode}, STDLOG:      12      12
                    checked_mode: {checked_mode}, STDLOG:      13      13
                    checked_mode: {checked_mode}, STDLOG: Records affected: 5
    
                    checked_mode: {checked_mode}, STDLOG:  OLD_ID OP              SNAP_NO_RANK
                    checked_mode: {checked_mode}, STDLOG: ======= ====== =====================
                    checked_mode: {checked_mode}, STDLOG:       1 UPD                        1
                    checked_mode: {checked_mode}, STDLOG:       2 UPD                        1
                    checked_mode: {checked_mode}, STDLOG:     -13 UPD                        2
                    checked_mode: {checked_mode}, STDLOG:     -12 UPD                        2
                    checked_mode: {checked_mode}, STDLOG:       1 UPD                        2
                    checked_mode: {checked_mode}, STDLOG:       2 UPD                        2
                    checked_mode: {checked_mode}, STDLOG:       3 UPD                        2
    
                    checked_mode: {checked_mode}, STDLOG: Records affected: 7
                """
    
                act.expected_stdout = expected_stdout_worker
                act.stdout = capsys.readouterr().out
>               assert act.clean_stdout == act.clean_expected_stdout
E               assert   
E                   checked_mode: table, STDLOG: Records affected: 5
E                   checked_mode: table, STDLOG: ID X
E                   checked_mode: table, STDLOG:
E                   checked_mode: table, STDLOG: -3 -3
E                   checked_mode: table, STDLOG: -2 -2
E                   checked_mode: table, STDLOG: -1 -1
E                   checked_mode: table, STDLOG: 12 12
E                   checked_mode: table, STDLOG: 13 13
E                   checked_mode: table, STDLOG: Records affected: 5
E                   checked_mode: table, STDLOG: OLD_ID OP SNAP_NO_RANK
E                   checked_mode: table, STDLOG:
E                 - checked_mode: table, STDLOG: 1 UPD 1
E                 + checked_mode: table, STDLOG: 1UPD 1
E                 - checked_mode: table, STDLOG: 2 UPD 1
E                 + checked_mode: table, STDLOG: 2UPD 1
E                 - checked_mode: table, STDLOG: -13 UPD 2
E                 + checked_mode: table, STDLOG: -13UPD 2
E                 - checked_mode: table, STDLOG: -12 UPD 2
E                 + checked_mode: table, STDLOG: -12UPD 2
E                 - checked_mode: table, STDLOG: 1 UPD 2
E                 + checked_mode: table, STDLOG: 1UPD 2
E                 - checked_mode: table, STDLOG: 2 UPD 2
E                 + checked_mode: table, STDLOG: 2UPD 2
E                 - checked_mode: table, STDLOG: 3 UPD 2
E                 + checked_mode: table, STDLOG: 3UPD 2
E                   checked_mode: table, STDLOG: Records affected: 7

tests/functional/transactions/test_read_consist_sttm_restart_on_merge_01.py:429: AssertionError
Full history of outcomes and elapsed time, ms:
NN SNAP_INFO CS_outcome SS_outcome CS_run_time SS_run_time CS_run_beg CS_run_end SS_run_beg SS_run_end
1 6.0.0.889 2025.07.01 969ac F F 3770 3050 2025.07.02 02:43:15.635 2025.07.02 02:43:19.405 2025.07.01 23:49:32.289 2025.07.01 23:49:35.339
2 6.0.0.884 2025.06.30 f7e5f F F 3807 3089 2025.07.01 02:42:01.200 2025.07.01 02:42:05.007 2025.06.30 23:57:52.281 2025.06.30 23:57:55.370
3 6.0.0.881 2025.06.27 7035d P P 7321 6788 2025.06.30 02:35:24.539 2025.06.30 02:35:31.860 2025.06.29 23:47:59.566 2025.06.29 23:48:06.354
4 6.0.0.877 2025.06.26 8e38f P P 7153 7481 2025.06.27 02:12:22.056 2025.06.27 02:12:29.209 2025.06.26 23:37:10.458 2025.06.26 23:37:17.939
5 6.0.0.876 2025.06.25 b1bec P P 7114 6636 2025.06.26 02:16:13.604 2025.06.26 02:16:20.718 2025.06.25 23:39:09.078 2025.06.25 23:39:15.714
6 6.0.0.863 2025.06.24 c3c20 P P 7143 6922 2025.06.25 02:16:27.636 2025.06.25 02:16:34.779 2025.06.24 23:38:53.885 2025.06.24 23:39:00.807
7 6.0.0.858 2025.06.23 8d6f7 P P 7193 6514 2025.06.24 02:16:32.193 2025.06.24 02:16:39.386 2025.06.23 23:38:46.788 2025.06.23 23:38:53.302
8 6.0.0.849 2025.06.20 7b79c P P 7272 5920 2025.06.21 02:28:17.601 2025.06.21 02:28:24.873 2025.06.20 23:48:51.269 2025.06.20 23:48:57.189
9 6.0.0.848 2025.06.19 c483c P P 7090 6436 2025.06.20 02:24:40.106 2025.06.20 02:24:47.196 2025.06.19 23:45:08.870 2025.06.19 23:45:15.306
10 6.0.0.845 2025.06.18 22b12 P P 7189 6565 2025.06.19 02:33:24.106 2025.06.19 02:33:31.295 2025.06.18 23:49:17.082 2025.06.18 23:49:23.647
11 6.0.0.843 2025.06.16 995f4 P P 7171 5903 2025.06.18 02:31:48.853 2025.06.18 02:31:56.024 2025.06.17 23:50:31.106 2025.06.17 23:50:37.009
12 6.0.0.840 2025.06.14 29bca P P 7304 6458 2025.06.16 02:23:31.732 2025.06.16 02:23:39.036 2025.06.15 23:42:37.718 2025.06.15 23:42:44.176
13 6.0.0.838 2025.06.13 0e28a P P 7263 5917 2025.06.14 02:37:48.940 2025.06.14 02:37:56.203 2025.06.13 23:51:22.162 2025.06.13 23:51:28.079
14 6.0.0.835 2025.06.12 2cf29 P P 7076 6696 2025.06.13 02:36:12.718 2025.06.13 02:36:19.794 2025.06.12 23:54:03.078 2025.06.12 23:54:09.774
15 6.0.0.834 2025.06.11 e889f P P 7158 5928 2025.06.12 02:32:20.284 2025.06.12 02:32:27.442 2025.06.11 23:50:35.322 2025.06.11 23:50:41.250
16 6.0.0.800 2025.06.10 1f226 P P 7272 6872 2025.06.11 01:04:06.466 2025.06.11 01:04:13.738 2025.06.10 22:52:29.885 2025.06.10 22:52:36.757
17 6.0.0.799 2025.06.07 be644 P P 8373 7178 2025.06.10 01:06:32.323 2025.06.10 01:06:40.696 2025.06.09 22:51:53.250 2025.06.09 22:52:00.428
18 6.0.0.797 2025.06.06 303e8 P P 7384 6908 2025.06.07 01:10:44.995 2025.06.07 01:10:52.379 2025.06.06 22:51:46.406 2025.06.06 22:51:53.314
19 6.0.0.795 2025.05.29 7a71a P P 7304 6781 2025.06.06 01:04:53.958 2025.06.06 01:05:01.262 2025.06.05 22:50:05.308 2025.06.05 22:50:12.089
20 6.0.0.792 2025.05.28 b4327 P P 7367 6841 2025.05.29 01:20:12.717 2025.05.29 01:20:20.084 2025.05.28 22:54:27.454 2025.05.28 22:54:34.295
21 6.0.0.791 2025.05.27 02db8 P P 7360 6938 2025.05.28 01:18:01.468 2025.05.28 01:18:08.828 2025.05.27 22:53:36.949 2025.05.27 22:53:43.887
22 6.0.0.789 2025.05.21 64051 P P 7187 6943 2025.05.25 01:10:04.047 2025.05.25 01:10:11.234 2025.05.24 22:52:12.574 2025.05.24 22:52:19.517
23 6.0.0.787 2025.05.20 230ad P P 7331 6936 2025.05.21 01:07:12.224 2025.05.21 01:07:19.555 2025.05.20 22:50:02.399 2025.05.20 22:50:09.335
24 6.0.0.783 2025.05.12 37320 P P 7436 6440 2025.05.19 12:38:28.665 2025.05.19 12:38:36.101 2025.05.19 10:37:49.793 2025.05.19 10:37:56.233
25 6.0.0.779 2025.05.11 136fa P P 7476 6890 2025.05.12 01:02:29.523 2025.05.12 01:02:36.999 2025.05.11 22:48:41.749 2025.05.11 22:48:48.639
26 6.0.0.778 2025.05.07 d735e P P 7352 6591 2025.05.08 01:03:08.351 2025.05.08 01:03:15.703 2025.05.07 22:47:33.071 2025.05.07 22:47:39.662
27 6.0.0.776 2025.05.06 007cd P P 7302 6800 2025.05.07 00:59:00.228 2025.05.07 00:59:07.530 2025.05.06 22:47:54.006 2025.05.06 22:48:00.806
28 6.0.0.770 2025.05.05 82c4a P P 7317 6911 2025.05.06 00:57:09.850 2025.05.06 00:57:17.167 2025.05.05 22:46:41.803 2025.05.05 22:46:48.714
29 6.0.0.767 2025.05.01 cdd29 P P 7343 6811 2025.05.02 00:51:29.907 2025.05.02 00:51:37.250 2025.05.01 22:45:33.547 2025.05.01 22:45:40.358
30 6.0.0.762 2025.04.30 5cb15 P P 7361 6836 2025.05.01 00:49:54.763 2025.05.01 00:50:02.124 2025.04.30 22:43:58.862 2025.04.30 22:44:05.698
31 6.0.0.755 2025.04.29 739c6 P P 7305 6662 2025.04.30 00:54:06.685 2025.04.30 00:54:13.990 2025.04.29 22:45:40.486 2025.04.29 22:45:47.148
32 6.0.0.753 2025.04.27 29ab3 P P 7265 6710 2025.04.28 00:56:11.502 2025.04.28 00:56:18.767 2025.04.27 22:44:37.280 2025.04.27 22:44:43.990
33 6.0.0.745 2025.04.21 78ad8 P P 7257 6726 2025.04.26 00:51:15.198 2025.04.26 00:51:22.455 2025.04.25 22:45:54.883 2025.04.25 22:46:01.609
34 6.0.0.744 2025.04.19 e883a P P 7343 6851 2025.04.20 00:53:44.683 2025.04.20 00:53:52.026 2025.04.19 22:46:39.198 2025.04.19 22:46:46.049
35 6.0.0.742 2025.04.17 abc3b P P 7505 6701 2025.04.19 00:56:13.412 2025.04.19 00:56:20.917 2025.04.18 22:46:41.654 2025.04.18 22:46:48.355
36 6.0.0.737 2025.04.16 fe52b P P 7422 6912 2025.04.17 00:52:18.219 2025.04.17 00:52:25.641 2025.04.16 22:46:54.386 2025.04.16 22:47:01.298
37 6.0.0.736 2025.04.14 3e6be P P 7154 6058 2025.04.15 00:27:42.286 2025.04.15 00:27:49.440 2025.04.14 22:35:55.821 2025.04.14 22:36:01.879
38 6.0.0.735 2025.04.13 6635c P P 7321 5981 2025.04.14 00:34:13.897 2025.04.14 00:34:21.218 2025.04.13 22:37:07.560 2025.04.13 22:37:13.541
39 6.0.0.734 2025.04.12 12f3f P P 7231 5959 2025.04.13 00:31:29.354 2025.04.13 00:31:36.585 2025.04.12 22:36:15.527 2025.04.12 22:36:21.486
40 6.0.0.730 2025.04.11 240b8 P P 7331 5974 2025.04.12 00:34:17.987 2025.04.12 00:34:25.318 2025.04.11 22:36:32.382 2025.04.11 22:36:38.356
41 6.0.0.726 2025.04.10 d79c6 P P 7393 5979 2025.04.11 00:34:23.067 2025.04.11 00:34:30.460 2025.04.10 22:36:33.919 2025.04.10 22:36:39.898
42 6.0.0.725 2025.04.09 a2b05 P P 7229 6759 2025.04.10 00:34:10.631 2025.04.10 00:34:17.860 2025.04.09 22:36:42.238 2025.04.09 22:36:48.997
43 6.0.0.722 2025.04.08 a8b86 P P 7285 7132 2025.04.09 00:48:46.744 2025.04.09 00:48:54.029 2025.04.08 22:44:37.557 2025.04.08 22:44:44.689
44 6.0.0.719 2025.04.06 90fd9 P P 7397 6328 2025.04.07 00:48:20.990 2025.04.07 00:48:28.387 2025.04.06 22:42:26.450 2025.04.06 22:42:32.778
45 6.0.0.717 2025.04.04 53d70 P P 7420 6839 2025.04.05 00:43:50.732 2025.04.05 00:43:58.152 2025.04.04 22:41:29.633 2025.04.04 22:41:36.472
46 6.0.0.716 2025.04.03 fc636 P P 7393 6955 2025.04.04 00:44:40.548 2025.04.04 00:44:47.941 2025.04.03 22:43:28.172 2025.04.03 22:43:35.127
47 6.0.0.715 2025.04.02 907ed P P 7433 6937 2025.04.03 00:47:34.310 2025.04.03 00:47:41.743 2025.04.02 22:43:27.129 2025.04.02 22:43:34.066
48 6.0.0.710 2025.04.01 40651 P P 7373 7561 2025.04.02 00:44:41.039 2025.04.02 00:44:48.412 2025.04.01 22:42:13.366 2025.04.01 22:42:20.927
49 6.0.0.708 2025.03.31 cb069 P P 7294 7192 2025.04.01 00:33:28.396 2025.04.01 00:33:35.690 2025.03.31 22:37:23.638 2025.03.31 22:37:30.830
50 6.0.0.707 2025.03.28 4bd4f P P 7278 6644 2025.03.31 00:36:53.637 2025.03.31 00:37:00.915 2025.03.30 22:37:24.474 2025.03.30 22:37:31.118
51 6.0.0.698 2025.03.26 d72a7 P P 9223 7335 2025.03.28 00:56:01.643 2025.03.28 00:56:10.866 2025.03.27 22:45:28.167 2025.03.27 22:45:35.502
52 6.0.0.693 2025.03.24 0b559 P P 7198 6912 2025.03.25 00:46:06.788 2025.03.25 00:46:13.986 2025.03.24 22:40:42.011 2025.03.24 22:40:48.923
53 6.0.0.687 2025.03.22 730aa P P 7500 6991 2025.03.24 00:58:13.575 2025.03.24 00:58:21.075 2025.03.23 22:48:26.651 2025.03.23 22:48:33.642
54 6.0.0.686 2025.03.20 71bf6 P P 7370 7075 2025.03.21 01:02:23.388 2025.03.21 01:02:30.758 2025.03.20 22:52:05.775 2025.03.20 22:52:12.850
55 6.0.0.685 2025.03.19 a8577 P P 8717 7089 2025.03.20 01:11:25.867 2025.03.20 01:11:34.584 2025.03.19 22:49:45.058 2025.03.19 22:49:52.147
56 6.0.0.680 2025.03.18 90d29 P P 7550 6624 2025.03.19 11:24:23.589 2025.03.19 11:24:31.139 2025.03.19 09:33:42.193 2025.03.19 09:33:48.817
57 6.0.0.677 2025.03.16 c0a60 P P 7479 7975 2025.03.17 00:50:57.071 2025.03.17 00:51:04.550 2025.03.16 22:43:52.014 2025.03.16 22:43:59.989
58 6.0.0.676 2025.03.15 3034f P P 7589 6645 2025.03.16 16:23:52.703 2025.03.16 16:24:00.292 2025.03.16 14:35:02.792 2025.03.16 14:35:09.437
59 6.0.0.673 2025.03.13 40f5b P P 9814 7311 2025.03.14 00:47:37.882 2025.03.14 00:47:47.696 2025.03.13 22:43:12.283 2025.03.13 22:43:19.594
60 6.0.0.671 2025.03.12 a4fff P P 7504 6860 2025.03.13 00:50:56.349 2025.03.13 00:51:03.853 2025.03.12 22:46:14.062 2025.03.12 22:46:20.922
61 6.0.0.663 2025.03.11 daad2 P P 7509 7048 2025.03.12 00:51:38.399 2025.03.12 00:51:45.908 2025.03.11 22:45:07.790 2025.03.11 22:45:14.838
62 6.0.0.661 2025.03.07 b9869 P P 7298 6895 2025.03.11 00:26:37.653 2025.03.11 00:26:44.951 2025.03.10 22:35:14.799 2025.03.10 22:35:21.694
63 6.0.0.660 2025.03.04 a6700 P P 7576 5998 2025.03.07 00:37:04.106 2025.03.07 00:37:11.682 2025.03.06 22:40:17.314 2025.03.06 22:40:23.312
64 6.0.0.658 2025.03.03 f15f8 P P 7296 6909 2025.03.04 00:30:22.889 2025.03.04 00:30:30.185 2025.03.03 22:35:57.053 2025.03.03 22:36:03.962
65 6.0.0.656 2025.02.27 25fb4 P P 7492 7104 2025.03.03 01:04:42.525 2025.03.03 01:04:50.017 2025.03.02 22:47:57.206 2025.03.02 22:48:04.310
66 6.0.0.655 2025.02.25 6e3e0 P P 7269 6811 2025.02.27 00:34:28.597 2025.02.27 00:34:35.866 2025.02.26 22:37:18.331 2025.02.26 22:37:25.142
67 6.0.0.654 2025.02.24 b7141 P P 7492 6093 2025.02.25 00:37:43.744 2025.02.25 00:37:51.236 2025.02.24 22:39:06.168 2025.02.24 22:39:12.261
68 6.0.0.652 2025.02.22 22662 P P 7629 6528 2025.02.24 07:57:45.900 2025.02.24 07:57:53.529 2025.02.24 00:52:06.249 2025.02.24 00:52:12.777
69 6.0.0.647 2025.02.21 9fccb P P 7383 6821 2025.02.22 00:39:58.725 2025.02.22 00:40:06.108 2025.02.21 22:41:14.309 2025.02.21 22:41:21.130
70 6.0.0.640 2025.02.19 9b8ac P P 9333 6932 2025.02.20 00:34:30.173 2025.02.20 00:34:39.506 2025.02.19 22:37:25.867 2025.02.19 22:37:32.799
71 6.0.0.639 2025.02.18 201a4 P P 7597 6524 2025.02.19 00:28:50.859 2025.02.19 00:28:58.456 2025.02.18 22:35:27.727 2025.02.18 22:35:34.251
72 6.0.0.637 2025.02.12 6d0f5 P P 9100 6084 2025.02.14 00:47:40.522 2025.02.14 00:47:49.622 2025.02.13 22:43:28.275 2025.02.13 22:43:34.359
73 6.0.0.636 2025.02.11 0424f P P 7026 6079 2025.02.12 00:43:10.904 2025.02.12 00:43:17.930 2025.02.11 22:42:38.815 2025.02.11 22:42:44.894
74 6.0.0.635 2025.02.10 f640f P P 6952 7009 2025.02.11 00:42:03.802 2025.02.11 00:42:10.754 2025.02.10 22:42:25.050 2025.02.10 22:42:32.059
75 6.0.0.629 2025.02.07 194f9 P P 7523 6167 2025.02.08 00:42:02.609 2025.02.08 00:42:10.132 2025.02.07 22:41:30.818 2025.02.07 22:41:36.985
76 6.0.0.628 2025.02.06 859d5 P P 7405 6707 2025.02.07 01:00:42.326 2025.02.07 01:00:49.731 2025.02.06 22:47:59.936 2025.02.06 22:48:06.643
77 6.0.0.621 2025.02.05 34fe7 P P 8078 7324 2025.02.06 00:55:42.622 2025.02.06 00:55:50.700 2025.02.05 22:48:40.703 2025.02.05 22:48:48.027
78 6.0.0.609 2025.02.04 76d57 P P 7581 6916 2025.02.05 00:50:26.484 2025.02.05 00:50:34.065 2025.02.04 22:44:20.890 2025.02.04 22:44:27.806
79 6.0.0.607 2025.02.03 1985b P P 7475 7028 2025.02.04 00:48:01.968 2025.02.04 00:48:09.443 2025.02.03 22:45:18.918 2025.02.03 22:45:25.946
80 6.0.0.601 2025.02.01 6af07 P P 7679 6069 2025.02.02 00:37:49.787 2025.02.02 00:37:57.466 2025.02.01 22:40:56.668 2025.02.01 22:41:02.737
81 6.0.0.600 2025.01.27 188de P P 8244 6097 2025.01.28 00:47:11.884 2025.01.28 00:47:20.128 2025.01.27 22:43:20.346 2025.01.27 22:43:26.443
82 6.0.0.599 2025.01.25 ba588 P P 8141 6159 2025.01.26 00:45:44.502 2025.01.26 00:45:52.643 2025.01.25 22:44:06.894 2025.01.25 22:44:13.053
83 6.0.0.598 2025.01.23 ddbc3 P P 7104 6049 2025.01.25 00:46:59.604 2025.01.25 00:47:06.708 2025.01.24 22:43:03.797 2025.01.24 22:43:09.846
84 6.0.0.595 2025.01.22 e62f3 P P 8541 6640 2025.01.23 00:38:54.569 2025.01.23 00:39:03.110 2025.01.22 22:38:07.326 2025.01.22 22:38:13.966
85 6.0.0.594 2025.01.21 47fb6 P P 8240 6697 2025.01.22 00:32:23.170 2025.01.22 00:32:31.410 2025.01.21 22:37:58.014 2025.01.21 22:38:04.711
86 6.0.0.590 2025.01.20 9dc1e P P 8898 6778 2025.01.21 00:40:35.289 2025.01.21 00:40:44.187 2025.01.20 22:42:39.159 2025.01.20 22:42:45.937
87 6.0.0.588 2025.01.19 b1c4e P P 7307 6619 2025.01.20 00:38:56.660 2025.01.20 00:39:03.967 2025.01.19 22:39:59.327 2025.01.19 22:40:05.946
88 6.0.0.587 2025.01.18 63e6e P P 7727 6205 2025.01.19 00:42:59.575 2025.01.19 00:43:07.302 2025.01.18 22:41:57.305 2025.01.18 22:42:03.510
89 6.0.0.585 2025.01.16 2d6bb P P 7431 7059 2025.01.18 00:35:53.851 2025.01.18 00:36:01.282 2025.01.17 22:38:31.719 2025.01.17 22:38:38.778
90 6.0.0.584 2025.01.15 a0aa2 P P 7029 6114 2025.01.16 00:40:43.989 2025.01.16 00:40:51.018 2025.01.15 22:41:36.503 2025.01.15 22:41:42.617
91 6.0.0.581 2025.01.14 21e9e P P 7529 6096 2025.01.15 00:41:06.887 2025.01.15 00:41:14.416 2025.01.14 22:40:30.702 2025.01.14 22:40:36.798
92 6.0.0.577 2025.01.13 7e293 P P 7422 6640 2025.01.14 00:43:20.759 2025.01.14 00:43:28.181 2025.01.13 22:41:05.171 2025.01.13 22:41:11.811
93 6.0.0.576 2025.01.12 05898 P P 7820 7229 2025.01.13 00:37:09.918 2025.01.13 00:37:17.738 2025.01.12 22:38:50.810 2025.01.12 22:38:58.039
94 6.0.0.573 2025.01.10 c20f3 P P 7053 6095 2025.01.11 00:39:17.065 2025.01.11 00:39:24.118 2025.01.10 22:39:51.433 2025.01.10 22:39:57.528
95 6.0.0.571 2024.12.31 81bba P P 8019 6816 2025.01.01 00:12:07.230 2025.01.01 00:12:15.249 2024.12.31 22:18:21.763 2024.12.31 22:18:28.579
96 6.0.0.570 2024.12.30 c3c8d P P 8098 6755 2024.12.31 00:12:50.279 2024.12.31 00:12:58.377 2024.12.30 22:18:14.050 2024.12.30 22:18:20.805
97 6.0.0.565 2024.12.28 5fc59 P P 6410 5823 2024.12.30 12:45:48.400 2024.12.30 12:45:54.810 2024.12.30 11:25:57.627 2024.12.30 11:26:03.450
98 6.0.0.564 2024.12.26 12514 P P 7803 6983 2024.12.27 00:14:01.003 2024.12.27 00:14:08.806 2024.12.26 22:18:23.280 2024.12.26 22:18:30.263
99 6.0.0.560 2024.12.25 fa83e P P 7349 6653 2024.12.26 00:06:31.460 2024.12.26 00:06:38.809 2024.12.25 22:18:05.886 2024.12.25 22:18:12.539
100 6.0.0.559 2024.12.23 cc800 P P 7619 6895 2024.12.25 00:07:37.155 2024.12.25 00:07:44.774 2024.12.24 22:18:56.727 2024.12.24 22:19:03.622
101 6.0.0.556 2024.12.22 a0404 P P 7445 6889 2024.12.23 00:13:38.407 2024.12.23 00:13:45.852 2024.12.22 22:18:09.787 2024.12.22 22:18:16.676
102 6.0.0.555 2024.12.19 6990a P P 6729 5789 2024.12.21 13:21:15.134 2024.12.21 13:21:21.863 2024.12.21 12:01:28.996 2024.12.21 12:01:34.785
103 6.0.0.553 2024.12.17 d1f8a P P 6572 6825 2024.12.18 00:08:28.874 2024.12.18 00:08:35.446 2024.12.17 22:19:05.527 2024.12.17 22:19:12.352
104 6.0.0.552 2024.12.11 85e25 P P 7598 6912 2024.12.16 00:12:43.690 2024.12.16 00:12:51.288 2024.12.15 22:18:40.947 2024.12.15 22:18:47.859
105 6.0.0.550 2024.12.10 b37ac P P 8307 6464 2024.12.11 00:07:01.607 2024.12.11 00:07:09.914 2024.12.10 22:20:39.603 2024.12.10 22:20:46.067
106 6.0.0.548 2024.12.08 2cc77 P P 6854 6821 2024.12.09 00:01:55.395 2024.12.09 00:02:02.249 2024.12.08 22:15:39.571 2024.12.08 22:15:46.392
107 6.0.0.544 2024.12.05 96943 P P 8088 6830 2024.12.06 00:05:19.036 2024.12.06 00:05:27.124 2024.12.05 22:20:28.776 2024.12.05 22:20:35.606
108 6.0.0.543 2024.12.03 30b77 P P 6808 7048 2024.12.04 00:05:05.423 2024.12.04 00:05:12.231 2024.12.03 22:18:37.067 2024.12.03 22:18:44.115
109 6.0.0.540 2024.12.02 4a1f4 P P 6900 6018 2024.12.03 00:01:23.543 2024.12.03 00:01:30.443 2024.12.02 22:15:43.024 2024.12.02 22:15:49.042
110 6.0.0.539 2024.11.28 1f283 P P 7768 6945 2024.11.30 00:14:23.336 2024.11.30 00:14:31.104 2024.11.29 22:18:00.062 2024.11.29 22:18:07.007
111 6.0.0.535 2024.11.26 77b95 P P 7533 6483 2024.11.26 23:57:31.947 2024.11.26 23:57:39.480 2024.11.26 22:14:57.615 2024.11.26 22:15:04.098
112 6.0.0.534 2024.11.25 e9584 P P 7528 6890 2024.11.25 23:58:52.487 2024.11.25 23:59:00.015 2024.11.25 22:15:53.667 2024.11.25 22:16:00.557
113 6.0.0.533 2024.11.17 933ac P P 6469 6128 2024.11.22 10:01:37.823 2024.11.22 10:01:44.292 2024.11.22 08:44:14.662 2024.11.22 08:44:20.790
114 6.0.0.532 2024.11.16 9e263 F F 6710 6144 2024.11.16 23:48:40.728 2024.11.16 23:48:47.438 2024.11.16 22:14:18.898 2024.11.16 22:14:25.042
115 6.0.0.530 2024.11.15 49804 F F 6607 5732 2024.11.16 01:55:41.023 2024.11.16 01:55:47.630 2024.11.16 00:14:53.048 2024.11.16 00:14:58.780
116 6.0.0.528 2024.11.14 9625b F F 6819 6403 2024.11.15 01:59:17.754 2024.11.15 01:59:24.573 2024.11.15 00:15:46.302 2024.11.15 00:15:52.705
117 6.0.0.526 2024.11.12 65b80 P P 8364 6208 2024.11.14 01:58:58.535 2024.11.14 01:59:06.899 2024.11.14 00:15:40.272 2024.11.14 00:15:46.480
118 6.0.0.523 2024.11.08 8ca23 P P 7248 5697 2024.11.11 01:55:14.662 2024.11.11 01:55:21.910 2024.11.11 00:14:10.550 2024.11.11 00:14:16.247
119 6.0.0.520 2024.11.07 4eefa F F 3640 3885 2024.11.08 01:50:43.598 2024.11.08 01:50:47.238 2024.11.08 00:12:45.369 2024.11.08 00:12:49.254
120 6.0.0.516 2024.11.04 b0c36 P P 6550 5641 2024.11.05 01:50:51.040 2024.11.05 01:50:57.590 2024.11.05 00:13:21.890 2024.11.05 00:13:27.531
121 6.0.0.515 2024.10.30 d53f3 P P 7800 5729 2024.11.04 01:53:18.518 2024.11.04 01:53:26.318 2024.11.04 00:13:53.289 2024.11.04 00:13:59.018
122 6.0.0.512 2024.10.29 833ef P P 6880 6440 2024.10.30 01:56:36.014 2024.10.30 01:56:42.894 2024.10.30 00:15:25.677 2024.10.30 00:15:32.117
123 6.0.0.511 2024.10.26 c4bc9 P P 6692 6337 2024.10.29 01:54:57.550 2024.10.29 01:55:04.242 2024.10.29 00:15:12.348 2024.10.29 00:15:18.685
124 6.0.0.509 2024.10.25 3aedb P P 7870 6399 2024.10.26 02:06:30.916 2024.10.26 02:06:38.786 2024.10.26 00:19:20.101 2024.10.26 00:19:26.500
125 6.0.0.508 2024.10.24 a8f5b P P 6867 6414 2024.10.25 02:00:13.285 2024.10.25 02:00:20.152 2024.10.25 00:16:09.525 2024.10.25 00:16:15.939
126 6.0.0.502 2024.10.22 6bfd7 P P 6584 6460 2024.10.23 02:00:11.396 2024.10.23 02:00:17.980 2024.10.23 00:15:57.765 2024.10.23 00:16:04.225
127 6.0.0.500 2024.10.21 be565 P P 7751 6050 2024.10.22 18:04:43.083 2024.10.22 18:04:50.834 2024.10.22 16:45:15.082 2024.10.22 16:45:21.132
128 6.0.0.499 2024.10.19 6214b P P 7388 6431 2024.10.20 01:59:44.889 2024.10.20 01:59:52.277 2024.10.20 00:16:53.894 2024.10.20 00:17:00.325
129 6.0.0.498 2024.10.18 591a7 P P 7853 6321 2024.10.19 01:58:14.437 2024.10.19 01:58:22.290 2024.10.19 00:15:24.717 2024.10.19 00:15:31.038
130 6.0.0.494 2024.10.17 cf5a4 P P 6918 6455 2024.10.18 01:59:07.142 2024.10.18 01:59:14.060 2024.10.18 00:16:36.088 2024.10.18 00:16:42.543
131 6.0.0.491 2024.10.14 dc5fb P P 7962 5944 2024.10.15 01:55:28.019 2024.10.15 01:55:35.981 2024.10.15 00:14:16.519 2024.10.15 00:14:22.463
132 6.0.0.489 2024.10.11 2ba59 P P 8380 6257 2024.10.12 02:03:29.273 2024.10.12 02:03:37.653 2024.10.12 00:16:52.380 2024.10.12 00:16:58.637
133 6.0.0.488 2024.10.09 1c93e P P 6846 6481 2024.10.10 02:12:19.259 2024.10.10 02:12:26.105 2024.10.10 00:21:27.216 2024.10.10 00:21:33.697
134 6.0.0.487 2024.10.06 065a3 P P 6928 6744 2024.10.07 02:11:22.722 2024.10.07 02:11:29.650 2024.10.07 00:21:01.885 2024.10.07 00:21:08.629
135 6.0.0.485 2024.10.04 e95c1 P P 8136 6539 2024.10.05 02:11:37.977 2024.10.05 02:11:46.113 2024.10.05 00:21:58.724 2024.10.05 00:22:05.263
136 6.0.0.483 2024.10.02 5e5ae P P 6563 6433 2024.10.03 02:07:28.009 2024.10.03 02:07:34.572 2024.10.03 00:20:22.594 2024.10.03 00:20:29.027
137 6.0.0.478 2024.09.30 b5010 P P 7015 6523 2024.10.01 02:02:03.294 2024.10.01 02:02:10.309 2024.10.01 00:19:13.996 2024.10.01 00:19:20.519
138 6.0.0.474 2024.09.26 e4efb P P 6984 6335 2024.09.30 02:02:14.607 2024.09.30 02:02:21.591 2024.09.30 00:16:48.800 2024.09.30 00:16:55.135
139 6.0.0.471 2024.09.24 01b51 P P 7007 6423 2024.09.26 00:07:03.324 2024.09.26 00:07:10.331 2024.09.25 22:18:18.277 2024.09.25 22:18:24.700
140 6.0.0.470 2024.09.23 77cc0 P P 8381 6591 2024.09.24 00:04:47.100 2024.09.24 00:04:55.481 2024.09.23 22:18:15.994 2024.09.23 22:18:22.585
141 6.0.0.467 2024.09.21 ea0b8 P P 6807 6443 2024.09.23 00:02:56.803 2024.09.23 00:03:03.610 2024.09.22 22:17:10.574 2024.09.22 22:17:17.017
142 6.0.0.466 2024.09.20 32dc6 P P 6558 6360 2024.09.21 00:01:12.621 2024.09.21 00:01:19.179 2024.09.20 22:16:34.589 2024.09.20 22:16:40.949
143 6.0.0.461 2024.09.17 2c895 P P 7636 6364 2024.09.18 00:40:11.173 2024.09.18 00:40:18.809 2024.09.17 22:40:43.910 2024.09.17 22:40:50.274
144 6.0.0.460 2024.09.11 3c253 P P 7924 6456 2024.09.17 00:40:48.243 2024.09.17 00:40:56.167 2024.09.16 22:41:47.938 2024.09.16 22:41:54.394
145 6.0.0.457 2024.09.09 fdc6f P P 7907 7041 2024.09.10 01:06:35.622 2024.09.10 01:06:43.529 2024.09.09 22:52:33.241 2024.09.09 22:52:40.282
146 6.0.0.455 2024.09.07 500d8 P P 7586 6802 2024.09.08 01:01:46.109 2024.09.08 01:01:53.695 2024.09.07 22:50:33.704 2024.09.07 22:50:40.506
147 6.0.0.454 2024.09.05 4d70f P P 8816 6616 2024.09.06 00:44:03.797 2024.09.06 00:44:12.613 2024.09.05 22:43:30.433 2024.09.05 22:43:37.049
148 6.0.0.452 2024.09.04 9ff9c P P 9307 6491 2024.09.05 00:41:24.137 2024.09.05 00:41:33.444 2024.09.04 22:42:14.689 2024.09.04 22:42:21.180
149 6.0.0.450 2024.09.02 27124 P P 9037 6389 2024.09.04 01:56:01.784 2024.09.04 01:56:10.821 2024.09.03 23:16:52.296 2024.09.03 23:16:58.685
150 6.0.0.447 2024.09.01 056ec P P 7804 6457 2024.09.02 01:13:09.764 2024.09.02 01:13:17.568 2024.09.01 22:49:26.362 2024.09.01 22:49:32.819
151 6.0.0.446 2024.08.30 fe1b2 P P 10914 7826 2024.09.01 01:11:06.441 2024.09.01 01:11:17.355 2024.08.31 22:57:10.747 2024.08.31 22:57:18.573
152 6.0.0.444 2024.08.28 785d4 P P 7310 8628 2024.08.30 01:27:30.594 2024.08.30 01:27:37.904 2024.08.29 23:09:23.860 2024.08.29 23:09:32.488
153 6.0.0.442 2024.08.21 4a68f P P 9070 6244 2024.08.28 03:38:50.716 2024.08.28 03:38:59.786 2024.08.28 00:05:23.260 2024.08.28 00:05:29.504
154 6.0.0.441 2024.08.20 75042 P P 9952 6490 2024.08.21 00:55:22.285 2024.08.21 00:55:32.237 2024.08.20 22:46:28.342 2024.08.20 22:46:34.832
155 6.0.0.438 2024.08.16 088b5 P P 7437 6000 2024.08.19 00:04:14.152 2024.08.19 00:04:21.589 2024.08.18 22:22:52.037 2024.08.18 22:22:58.037
156 6.0.0.437 2024.08.14 3c88b P P 6648 6154 2024.08.16 00:01:01.901 2024.08.16 00:01:08.549 2024.08.15 22:21:58.762 2024.08.15 22:22:04.916
157 6.0.0.432 2024.08.11 e82ac P P 6761 6505 2024.08.13 00:00:17.657 2024.08.13 00:00:24.418 2024.08.12 22:20:40.951 2024.08.12 22:20:47.456
158 6.0.0.431 2024.08.09 de5a7 P P 6938 6403 2024.08.10 00:00:25.137 2024.08.10 00:00:32.075 2024.08.09 22:21:08.093 2024.08.09 22:21:14.496
159 6.0.0.428 2024.08.08 9191b P P 6672 6590 2024.08.09 00:00:15.589 2024.08.09 00:00:22.261 2024.08.08 22:20:25.655 2024.08.08 22:20:32.245
160 6.0.0.423 2024.08.07 33b41 P P 7367 6307 2024.08.08 09:48:15.160 2024.08.08 09:48:22.527 2024.08.08 08:26:51.850 2024.08.08 08:26:58.157
161 6.0.0.421 2024.08.06 ed60d P P 6723 5672 2024.08.06 23:42:25.721 2024.08.06 23:42:32.444 2024.08.06 22:13:19.220 2024.08.06 22:13:24.892
162 6.0.0.419 2024.08.05 3505a P P 6642 6167 2024.08.05 23:44:30.180 2024.08.05 23:44:36.822 2024.08.05 22:13:17.057 2024.08.05 22:13:23.224
163 6.0.0.409 2024.08.02 ec18f P P 7001 5877 2024.08.04 23:47:59.962 2024.08.04 23:48:06.963 2024.08.04 22:13:59.900 2024.08.04 22:14:05.777
164 6.0.0.406 2024.08.01 b20be P P 7094 5847 2024.08.01 23:46:37.869 2024.08.01 23:46:44.963 2024.08.01 22:13:18.097 2024.08.01 22:13:23.944
165 6.0.0.405 2024.07.31 a62ac P P 6754 5905 2024.07.31 23:45:36.936 2024.07.31 23:45:43.690 2024.07.31 22:13:04.045 2024.07.31 22:13:09.950
166 6.0.0.403 2024.07.29 30f03 P P 8156 6166 2024.07.29 23:45:15.857 2024.07.29 23:45:24.013 2024.07.29 22:12:51.526 2024.07.29 22:12:57.692
167 6.0.0.401 2024.07.26 24e41 P P 8207 6275 2024.07.26 23:42:09.262 2024.07.26 23:42:17.469 2024.07.26 22:12:51.100 2024.07.26 22:12:57.375
168 6.0.0.400 2024.07.24 5bb78 P P 8310 5642 2024.07.24 23:42:00.465 2024.07.24 23:42:08.775 2024.07.24 22:13:01.827 2024.07.24 22:13:07.469
169 6.0.0.398 2024.07.23 85b18 P P 6740 6312 2024.07.23 23:47:40.401 2024.07.23 23:47:47.141 2024.07.23 22:18:52.041 2024.07.23 22:18:58.353
170 6.0.0.397 2024.07.22 c734c P P 8423 6269 2024.07.22 23:41:48.818 2024.07.22 23:41:57.241 2024.07.22 22:12:57.762 2024.07.22 22:13:04.031
171 6.0.0.396 2024.07.13 cf952 P P 7760 6172 2024.07.21 23:43:13.121 2024.07.21 23:43:20.881 2024.07.21 22:12:51.801 2024.07.21 22:12:57.973
172 6.0.0.395 2024.07.10 845f4 P P 6749 5907 2024.07.12 23:44:04.469 2024.07.12 23:44:11.218 2024.07.12 22:12:00.957 2024.07.12 22:12:06.864
173 6.0.0.392 2024.07.09 ea301 P P 8025 6262 2024.07.09 23:39:20.382 2024.07.09 23:39:28.407 2024.07.09 22:11:14.645 2024.07.09 22:11:20.907
174 6.0.0.391 2024.07.08 7d50c P P 6740 6195 2024.07.08 23:40:29.498 2024.07.08 23:40:36.238 2024.07.08 22:12:13.546 2024.07.08 22:12:19.741
175 6.0.0.389 2024.07.05 cc71c P P 6773 6021 2024.07.05 23:44:43.333 2024.07.05 23:44:50.106 2024.07.05 22:12:04.461 2024.07.05 22:12:10.482
176 6.0.0.388 2024.06.30 e5700 P P 6777 5712 2024.06.30 23:40:28.263 2024.06.30 23:40:35.040 2024.06.30 22:12:28.065 2024.06.30 22:12:33.777
177 6.0.0.387 2024.06.27 7c28a P P 6701 6119 2024.06.27 23:39:30.502 2024.06.27 23:39:37.203 2024.06.27 22:12:10.265 2024.06.27 22:12:16.384
178 6.0.0.386 2024.06.23 7c57f P P 6662 6165 2024.06.23 23:36:47.191 2024.06.23 23:36:53.853 2024.06.23 22:10:51.744 2024.06.23 22:10:57.909
179 6.0.0.384 2024.06.21 24d99 P P 6672 6254 2024.06.21 23:41:25.168 2024.06.21 23:41:31.840 2024.06.21 22:12:23.771 2024.06.21 22:12:30.025
180 6.0.0.374 2024.06.13 0097d P P 6778 6446 2024.06.20 23:39:23.536 2024.06.20 23:39:30.314 2024.06.20 22:11:37.963 2024.06.20 22:11:44.409
181 6.0.0.373 2024.06.09 363f0 P P 7045 6199 2024.06.13 13:48:02.297 2024.06.13 13:48:09.342 2024.06.13 12:35:01.627 2024.06.13 12:35:07.826
182 6.0.0.371 2024.06.08 f7130 P P 6966 5917 2024.06.11 22:34:26.964 2024.06.11 22:34:33.930 2024.06.11 21:28:09.893 2024.06.11 21:28:15.810
183 6.0.0.366 2024.05.30 ab2c9 P P 9759 6233 2024.06.12 09:49:55.867 2024.06.12 09:50:05.626 2024.06.12 08:02:31.952 2024.06.12 08:02:38.185
184 6.0.0.363 2024.05.27 06703 P P 6950 5871 2024.06.12 14:41:10.785 2024.06.12 14:41:17.735 2024.06.12 13:31:15.577 2024.06.12 13:31:21.448
185 6.0.0.359 2024.05.23 9cb11 P P 6792 5838 2024.06.12 12:32:52.545 2024.06.12 12:32:59.337 2024.06.12 11:23:43.460 2024.06.12 11:23:49.298
186 6.0.0.358 2024.05.21 995dd P P 6974 5879 2024.06.12 17:16:01.725 2024.06.12 17:16:08.699 2024.06.12 16:08:35.113 2024.06.12 16:08:40.992
187 6.0.0.357 2024.05.18 bf6c4 P P 7221 5953 2024.06.12 21:52:27.651 2024.06.12 21:52:34.872 2024.06.12 20:44:26.696 2024.06.12 20:44:32.649
188 6.0.0.356 2024.05.17 eab06 P P 7051 5841 2024.06.13 05:58:54.613 2024.06.13 05:59:01.664 2024.06.13 04:51:08.624 2024.06.13 04:51:14.465
189 6.0.0.355 2024.05.16 8dd6e P P 6992 5929 2024.06.13 08:06:45.623 2024.06.13 08:06:52.615 2024.06.13 06:58:42.758 2024.06.13 06:58:48.687
190 6.0.0.354 2024.05.15 d3adc P P 7345 6249 2024.06.13 11:12:33.387 2024.06.13 11:12:40.732 2024.06.13 10:00:13.484 2024.06.13 10:00:19.733
191 6.0.0.351 2024.05.14 2e3e0 P P 7123 6172 2024.06.13 16:26:15.995 2024.06.13 16:26:23.118 2024.06.13 15:13:30.091 2024.06.13 15:13:36.263

Elapsed time, ms. Chart for last 150 runs:

Last commits information (all timestamps in UTC):