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: 4
    checked_mode: table, STDLOG: ID
    checked_mode: table, STDLOG:
    checked_mode: table, STDLOG: -5
    checked_mode: table, STDLOG: -2
    checked_mode: table, STDLOG: -1
    checked_mode: table, STDLOG: 3
    checked_mode: table, STDLOG: 4
    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: 2 UPD 1
  + checked_mode: table, STDLOG: 2UPD 1
  - checked_mode: table, STDLOG: 2 UPD 2
  + checked_mode: table, STDLOG: 2UPD 2
  - checked_mode: table, STDLOG: 1 UPD 2
  + checked_mode: table, STDLOG: 1UPD 2
  - checked_mode: table, STDLOG: 2 UPD 3
  + checked_mode: table, STDLOG: 2UPD 3
  - checked_mode: table, STDLOG: 1 UPD 3
  + checked_mode: table, STDLOG: 1UPD 3
  - checked_mode: table, STDLOG: 2 UPD 4
  + checked_mode: table, STDLOG: 2UPD 4
  - checked_mode: table, STDLOG: 1 UPD 4
  + checked_mode: table, STDLOG: 1UPD 4
  - checked_mode: table, STDLOG: -3 UPD 4
  + checked_mode: table, STDLOG: -3UPD 4
  - checked_mode: table, STDLOG: -4 UPD 4
  + checked_mode: table, STDLOG: -4UPD 4
    checked_mode: table, STDLOG: Records affected: 9

LOG DETAILS:

2025-07-02 06:08:00.530
2025-07-02 06:08:00.537 act = <firebird.qa.plugin.Action object at [hex]>
2025-07-02 06:08:00.543 fn_worker_sql = PosixPath('/var/tmp/qa_2024/test_12488/tmp_worker.sql')
2025-07-02 06:08:00.550 fn_worker_log = PosixPath('/var/tmp/qa_2024/test_12488/tmp_worker.log')
2025-07-02 06:08:00.556 fn_worker_err = PosixPath('/var/tmp/qa_2024/test_12488/tmp_worker.err')
2025-07-02 06:08:00.562 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-07-02 06:08:00.568
2025-07-02 06:08:00.574 @pytest.mark.trace
2025-07-02 06:08:00.585 @pytest.mark.version('>=4.0')
2025-07-02 06:08:00.595 def test_1(act: Action, fn_worker_sql: Path, fn_worker_log: Path, fn_worker_err: Path, capsys):
2025-07-02 06:08:00.607 sql_init = (act.files_dir / 'read-consist-sttm-restart-DDL.sql').read_text()
2025-07-02 06:08:00.619
2025-07-02 06:08:00.632 for checked_mode in('table', 'view'):
2025-07-02 06:08:00.643 target_obj = 'test' if checked_mode == 'table' else 'v_test'
2025-07-02 06:08:00.652
2025-07-02 06:08:00.658 SQL_TO_BE_RESTARTED = f"update /* {SQL_TAG_THAT_WE_WAITING_FOR} */ {target_obj} set id = -id where id <= 2 order by id DESC rows 4"
2025-07-02 06:08:00.664
2025-07-02 06:08:00.674 sql_addi = f'''
2025-07-02 06:08:00.684 set term ^;
2025-07-02 06:08:00.696 execute block as
2025-07-02 06:08:00.704 begin
2025-07-02 06:08:00.712 rdb$set_context('USER_SESSION', 'WHO', 'INIT_DATA');
2025-07-02 06:08:00.719 end
2025-07-02 06:08:00.732 ^
2025-07-02 06:08:00.744 set term ;^
2025-07-02 06:08:00.752 insert into {target_obj}(id, x)
2025-07-02 06:08:00.759 select row_number()over(),row_number()over()
2025-07-02 06:08:00.766 from rdb$types rows 5;
2025-07-02 06:08:00.772 commit;
2025-07-02 06:08:00.778 '''
2025-07-02 06:08:00.784
2025-07-02 06:08:00.791 act.isql(switches=['-q'], input = ''.join( (sql_init, sql_addi) ))
2025-07-02 06:08:00.797 # ::: NOTE ::: We have to immediately quit if any error raised in prepare phase.
2025-07-02 06:08:00.803 # See also letter from dimitr, 01-feb-2022 14:46
2025-07-02 06:08:00.810 assert act.stderr == ''
2025-07-02 06:08:00.815 act.reset()
2025-07-02 06:08:00.823
2025-07-02 06:08:00.834 trace_cfg_items = [
2025-07-02 06:08:00.845 'time_threshold = 0',
2025-07-02 06:08:00.853 'log_errors = true',
2025-07-02 06:08:00.860 'log_statement_start = true',
2025-07-02 06:08:00.867 'log_statement_finish = true',
2025-07-02 06:08:00.876 ]
2025-07-02 06:08:00.885
2025-07-02 06:08:00.892 with act.trace(db_events = trace_cfg_items, encoding=locale.getpreferredencoding()):
2025-07-02 06:08:00.906
2025-07-02 06:08:00.916 with act.db.connect() as con_lock_1, act.db.connect() as con_lock_2, act.db.connect() as con_monitoring:
2025-07-02 06:08:00.925
2025-07-02 06:08:00.933 tpb_monitoring = tpb(isolation=Isolation.READ_COMMITTED_RECORD_VERSION, lock_timeout=0)
2025-07-02 06:08:00.938 tx_monitoring = con_monitoring.transaction_manager(tpb_monitoring)
2025-07-02 06:08:00.944 cur_monitoring = tx_monitoring.cursor()
2025-07-02 06:08:00.950
2025-07-02 06:08:00.955 for i,c in enumerate((con_lock_1,con_lock_2)):
2025-07-02 06:08:00.961 sttm = f"execute block as begin rdb$set_context('USER_SESSION', 'WHO', 'LOCKER #{i+1}'); end"
2025-07-02 06:08:00.966 c.execute_immediate(sttm)
2025-07-02 06:08:00.971
2025-07-02 06:08:00.976
2025-07-02 06:08:00.982 #########################
2025-07-02 06:08:00.987 ###  L O C K E R - 1  ###
2025-07-02 06:08:00.993 #########################
2025-07-02 06:08:00.999
2025-07-02 06:08:01.011 con_lock_1.execute_immediate( f'update {target_obj} set id=id where id=1' )
2025-07-02 06:08:01.023
2025-07-02 06:08:01.035 worker_sql = f'''
2025-07-02 06:08:01.044 set list on;
2025-07-02 06:08:01.052 set autoddl off;
2025-07-02 06:08:01.059 set term ^;
2025-07-02 06:08:01.066 execute block returns (whoami varchar(30)) as
2025-07-02 06:08:01.073 begin
2025-07-02 06:08:01.080 whoami = 'WORKER'; -- , ATT#' || current_connection;
2025-07-02 06:08:01.092 rdb$set_context('USER_SESSION','WHO', whoami);
2025-07-02 06:08:01.104 -- suspend;
2025-07-02 06:08:01.113 end
2025-07-02 06:08:01.120 ^
2025-07-02 06:08:01.127 set term ;^
2025-07-02 06:08:01.133 commit;
2025-07-02 06:08:01.139 SET KEEP_TRAN_PARAMS ON;
2025-07-02 06:08:01.145 set transaction read committed read consistency;
2025-07-02 06:08:01.153 --select current_connection, current_transaction from rdb$database;
2025-07-02 06:08:01.165 set list off;
2025-07-02 06:08:01.180 set wng off;
2025-07-02 06:08:01.194
2025-07-02 06:08:01.205 --set plan on;
2025-07-02 06:08:01.214 set count on;
2025-07-02 06:08:01.225
2025-07-02 06:08:01.234 -- this must hang because of locker-1:
2025-07-02 06:08:01.242 {SQL_TO_BE_RESTARTED};
2025-07-02 06:08:01.255
2025-07-02 06:08:01.265 -- check results:
2025-07-02 06:08:01.275 -- ###############
2025-07-02 06:08:01.285 select id from {target_obj} order by id; -- one record must remain, with ID = -5
2025-07-02 06:08:01.295
2025-07-02 06:08:01.308 select v.old_id, v.op, v.snap_no_rank -- snap_no_rank must have four unique values: 1,2,3 and 4.
2025-07-02 06:08:01.319 from v_worker_log v
2025-07-02 06:08:01.328 where v.op = 'upd';
2025-07-02 06:08:01.335
2025-07-02 06:08:01.343 --set width who 10;
2025-07-02 06:08:01.353 -- DO NOT check this! Values can differ here from one run to another!
2025-07-02 06:08:01.361 -- select id, trn, who, old_id, new_id, op, rec_vers, global_cn, snap_no from tlog_done order by id;
2025-07-02 06:08:01.373 rollback;
2025-07-02 06:08:01.384
2025-07-02 06:08:01.394 '''
2025-07-02 06:08:01.402
2025-07-02 06:08:01.410 fn_worker_sql.write_text(worker_sql)
2025-07-02 06:08:01.421
2025-07-02 06:08:01.431 with fn_worker_log.open(mode='w') as hang_out, fn_worker_err.open(mode='w') as hang_err:
2025-07-02 06:08:01.439
2025-07-02 06:08:01.448 ############################################################################
2025-07-02 06:08:01.462 ###  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-02 06:08:01.475 ############################################################################
2025-07-02 06:08:01.484 p_worker = subprocess.Popen([act.vars['isql'], '-i', str(fn_worker_sql),
2025-07-02 06:08:01.490 '-user', act.db.user,
2025-07-02 06:08:01.496 '-password', act.db.password,
2025-07-02 06:08:01.502 '-pag', '999999',
2025-07-02 06:08:01.507 act.db.dsn
2025-07-02 06:08:01.513 ],
2025-07-02 06:08:01.518 stdout = hang_out,
2025-07-02 06:08:01.523 stderr = hang_err
2025-07-02 06:08:01.528 )
2025-07-02 06:08:01.533
2025-07-02 06:08:01.539 # NB: when ISQL will establish attach, first record that it must lock is ID = 2 -- see above SQL_TO_BE_RESTARTED
2025-07-02 06:08:01.546 # We must to ensure that this (worker) attachment has been really created and LOCKS this record:
2025-07-02 06:08:01.558 #
2025-07-02 06:08:01.569 wait_for_record_become_locked(tx_monitoring, cur_monitoring, f'update {target_obj} set id=id where id=2', SQL_TAG_THAT_WE_WAITING_FOR)
2025-07-02 06:08:01.577
2025-07-02 06:08:01.583 #########################
2025-07-02 06:08:01.593 ###  L O C K E R - 2  ###
2025-07-02 06:08:01.600 #########################
2025-07-02 06:08:01.606
2025-07-02 06:08:01.615 # Change ID so that it **will* be included in the set of rows that must be affected by session-worker:
2025-07-02 06:08:01.627 con_lock_2.execute_immediate( f'update {target_obj} set id = -5 where abs(id) = 5;' )
2025-07-02 06:08:01.635 con_lock_2.commit()
2025-07-02 06:08:01.642 con_lock_2.execute_immediate( f'update {target_obj} set id = id where abs(id) = 5;' )
2025-07-02 06:08:01.648
2025-07-02 06:08:01.654 #########################
2025-07-02 06:08:01.661 ###  L O C K E R - 1  ###
2025-07-02 06:08:01.668 #########################
2025-07-02 06:08:01.683
2025-07-02 06:08:01.697 con_lock_1.commit() # releases record with ID=1 ==> now it can be locked by worker.
2025-07-02 06:08:01.706
2025-07-02 06:08:01.714 # We have to WAIT HERE until worker will actually 'catch' just released record with ID = 1.
2025-07-02 06:08:01.726 #
2025-07-02 06:08:01.737 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-02 06:08:01.749
2025-07-02 06:08:01.761 # If we come here then it means that record with ID = 1 for sure is locked by WORKER.
2025-07-02 06:08:01.774
2025-07-02 06:08:01.785 # Change ID so that it **will* be included in the set of rows that must be affected by session-worker:
2025-07-02 06:08:01.792 con_lock_1.execute_immediate( f'update {target_obj} set id = -4 where abs(id) = 4;' )
2025-07-02 06:08:01.798 con_lock_1.commit()
2025-07-02 06:08:01.805 con_lock_1.execute_immediate( f'update {target_obj} set id = id where abs(id) = 4;' )
2025-07-02 06:08:01.811
2025-07-02 06:08:01.817
2025-07-02 06:08:01.823 #########################
2025-07-02 06:08:01.830 ###  L O C K E R - 2  ###
2025-07-02 06:08:01.838 #########################
2025-07-02 06:08:01.848
2025-07-02 06:08:01.857 con_lock_2.commit() # releases record with ID = -5, but session-worker is waiting for record with ID = -4 (that was changed by locker-1).
2025-07-02 06:08:01.864
2025-07-02 06:08:01.872 # We have to WAIT HERE until worker will actually 'catch' just released record with ID = -5:
2025-07-02 06:08:01.879 #
2025-07-02 06:08:01.885 wait_for_record_become_locked(tx_monitoring, cur_monitoring, f'update {target_obj} set id=id where id = -5', SQL_TAG_THAT_WE_WAITING_FOR)
2025-07-02 06:08:01.892
2025-07-02 06:08:01.900 # If we come here then it means that record with ID = -5 for sure is locked by WORKER.
2025-07-02 06:08:01.906
2025-07-02 06:08:01.913 con_lock_2.execute_immediate( f'update {target_obj} set id = -3 where abs(id) = 3;' )
2025-07-02 06:08:01.920 con_lock_2.commit()
2025-07-02 06:08:01.926 con_lock_2.execute_immediate( f'update {target_obj} set id = id where abs(id) = 3;' )
2025-07-02 06:08:01.935
2025-07-02 06:08:01.946 #########################
2025-07-02 06:08:01.953 ###  L O C K E R - 1  ###
2025-07-02 06:08:01.961 #########################
2025-07-02 06:08:01.973
2025-07-02 06:08:01.983 con_lock_1.commit() # This releases row with ID=-4 but session-worker is waiting for ID = - 3 (changed by locker-2).
2025-07-02 06:08:01.990
2025-07-02 06:08:01.997 # We have to WAIT HERE until worker will actually 'catch' just released record with ID = -4:
2025-07-02 06:08:02.004 #
2025-07-02 06:08:02.011 wait_for_record_become_locked(tx_monitoring, cur_monitoring, f'update {target_obj} set id=id where id = -4', SQL_TAG_THAT_WE_WAITING_FOR)
2025-07-02 06:08:02.018
2025-07-02 06:08:02.031 # If we come here then it means that record with ID = -4 for sure is locked by WORKER.
2025-07-02 06:08:02.040
2025-07-02 06:08:02.046 con_lock_2.commit() # This releases row with ID=-3. No more locked rows so session-worker can finish its mission.
2025-07-02 06:08:02.053
2025-07-02 06:08:02.064 # Here we wait for ISQL complete its mission:
2025-07-02 06:08:02.078 p_worker.wait()
2025-07-02 06:08:02.088
2025-07-02 06:08:02.096 #< with act.db.connect()
2025-07-02 06:08:02.103
2025-07-02 06:08:02.109 for g in (fn_worker_log, fn_worker_err):
2025-07-02 06:08:02.121 with g.open() as f:
2025-07-02 06:08:02.130 for line in f:
2025-07-02 06:08:02.137 if line.split():
2025-07-02 06:08:02.144 if g == fn_worker_log:
2025-07-02 06:08:02.151 print(f'checked_mode: {checked_mode}, STDLOG: {line}')
2025-07-02 06:08:02.159 else:
2025-07-02 06:08:02.167 print(f'UNEXPECTED STDERR {line}')
2025-07-02 06:08:02.174
2025-07-02 06:08:02.188 expected_stdout_worker = f"""
2025-07-02 06:08:02.197 checked_mode: {checked_mode}, STDLOG: Records affected: 4
2025-07-02 06:08:02.205
2025-07-02 06:08:02.213 checked_mode: {checked_mode}, STDLOG:      ID
2025-07-02 06:08:02.220 checked_mode: {checked_mode}, STDLOG: =======
2025-07-02 06:08:02.228 checked_mode: {checked_mode}, STDLOG:      -5
2025-07-02 06:08:02.236 checked_mode: {checked_mode}, STDLOG:      -2
2025-07-02 06:08:02.244 checked_mode: {checked_mode}, STDLOG:      -1
2025-07-02 06:08:02.251 checked_mode: {checked_mode}, STDLOG:       3
2025-07-02 06:08:02.259 checked_mode: {checked_mode}, STDLOG:       4
2025-07-02 06:08:02.267 checked_mode: {checked_mode}, STDLOG: Records affected: 5
2025-07-02 06:08:02.274
2025-07-02 06:08:02.286 checked_mode: {checked_mode}, STDLOG:  OLD_ID OP              SNAP_NO_RANK
2025-07-02 06:08:02.297 checked_mode: {checked_mode}, STDLOG: ======= ====== =====================
2025-07-02 06:08:02.305 checked_mode: {checked_mode}, STDLOG:       2 UPD                        1
2025-07-02 06:08:02.311 checked_mode: {checked_mode}, STDLOG:       2 UPD                        2
2025-07-02 06:08:02.316 checked_mode: {checked_mode}, STDLOG:       1 UPD                        2
2025-07-02 06:08:02.322 checked_mode: {checked_mode}, STDLOG:       2 UPD                        3
2025-07-02 06:08:02.328 checked_mode: {checked_mode}, STDLOG:       1 UPD                        3
2025-07-02 06:08:02.334 checked_mode: {checked_mode}, STDLOG:       2 UPD                        4
2025-07-02 06:08:02.340 checked_mode: {checked_mode}, STDLOG:       1 UPD                        4
2025-07-02 06:08:02.345 checked_mode: {checked_mode}, STDLOG:      -3 UPD                        4
2025-07-02 06:08:02.350 checked_mode: {checked_mode}, STDLOG:      -4 UPD                        4
2025-07-02 06:08:02.355 checked_mode: {checked_mode}, STDLOG: Records affected: 9
2025-07-02 06:08:02.360 """
2025-07-02 06:08:02.366 act.expected_stdout = expected_stdout_worker
2025-07-02 06:08:02.373 act.stdout = capsys.readouterr().out
2025-07-02 06:08:02.380 >               assert act.clean_stdout == act.clean_expected_stdout
2025-07-02 06:08:02.387 E               assert
2025-07-02 06:08:02.395 E                   checked_mode: table, STDLOG: Records affected: 4
2025-07-02 06:08:02.404 E                   checked_mode: table, STDLOG: ID
2025-07-02 06:08:02.412 E                   checked_mode: table, STDLOG:
2025-07-02 06:08:02.420 E                   checked_mode: table, STDLOG: -5
2025-07-02 06:08:02.428 E                   checked_mode: table, STDLOG: -2
2025-07-02 06:08:02.436 E                   checked_mode: table, STDLOG: -1
2025-07-02 06:08:02.444 E                   checked_mode: table, STDLOG: 3
2025-07-02 06:08:02.452 E                   checked_mode: table, STDLOG: 4
2025-07-02 06:08:02.460 E                   checked_mode: table, STDLOG: Records affected: 5
2025-07-02 06:08:02.468 E                   checked_mode: table, STDLOG: OLD_ID OP SNAP_NO_RANK
2025-07-02 06:08:02.476 E                   checked_mode: table, STDLOG:
2025-07-02 06:08:02.488 E                 - checked_mode: table, STDLOG: 2 UPD 1
2025-07-02 06:08:02.509 E                 + checked_mode: table, STDLOG: 2UPD 1
2025-07-02 06:08:02.516 E                 - checked_mode: table, STDLOG: 2 UPD 2
2025-07-02 06:08:02.528 E                 + checked_mode: table, STDLOG: 2UPD 2
2025-07-02 06:08:02.536 E                 - checked_mode: table, STDLOG: 1 UPD 2
2025-07-02 06:08:02.555 E                 + checked_mode: table, STDLOG: 1UPD 2
2025-07-02 06:08:02.563 E                 - checked_mode: table, STDLOG: 2 UPD 3
2025-07-02 06:08:02.579 E                 + checked_mode: table, STDLOG: 2UPD 3
2025-07-02 06:08:02.589 E                 - checked_mode: table, STDLOG: 1 UPD 3
2025-07-02 06:08:02.604 E                 + checked_mode: table, STDLOG: 1UPD 3
2025-07-02 06:08:02.612 E                 - checked_mode: table, STDLOG: 2 UPD 4
2025-07-02 06:08:02.628 E                 + checked_mode: table, STDLOG: 2UPD 4
2025-07-02 06:08:02.636 E                 - checked_mode: table, STDLOG: 1 UPD 4
2025-07-02 06:08:02.653 E                 + checked_mode: table, STDLOG: 1UPD 4
2025-07-02 06:08:02.661 E                 - checked_mode: table, STDLOG: -3 UPD 4
2025-07-02 06:08:02.687 E                 + checked_mode: table, STDLOG: -3UPD 4
2025-07-02 06:08:02.696 E                 - checked_mode: table, STDLOG: -4 UPD 4
2025-07-02 06:08:02.711 E                 + checked_mode: table, STDLOG: -4UPD 4
2025-07-02 06:08:02.719 E                   checked_mode: table, STDLOG: Records affected: 9
2025-07-02 06:08:02.727
2025-07-02 06:08:02.739 tests/functional/transactions/test_read_consist_sttm_restart_on_update_04.py:442: AssertionError
2025-07-02 06:08:02.752 ---------------------------- Captured stdout setup -----------------------------
2025-07-02 06:08:02.761 Creating db: localhost:/var/tmp/qa_2024/test_12488/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_12488/tmp_worker.sql')
fn_worker_log = PosixPath('/var/tmp/qa_2024/test_12488/tmp_worker.log')
fn_worker_err = PosixPath('/var/tmp/qa_2024/test_12488/tmp_worker.err')
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>

    @pytest.mark.trace
    @pytest.mark.version('>=4.0')
    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"update /* {SQL_TAG_THAT_WE_WAITING_FOR} */ {target_obj} set id = -id where id <= 2 order by id DESC rows 4"
    
            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 5;
                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=1' )
    
                    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;
                        --select current_connection, current_transaction from rdb$database;
                        set list off;
                        set wng off;
    
                        --set plan on;
                        set count on;
    
                        -- this must hang because of locker-1:
                        {SQL_TO_BE_RESTARTED};
    
                        -- check results:
                        -- ###############
                        select id from {target_obj} order by id; -- one record must remain, with ID = -5
    
                        select v.old_id, v.op, v.snap_no_rank -- snap_no_rank must have four unique values: 1,2,3 and 4.
                        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', '999999',
                                                       act.db.dsn
                                                    ],
                                                      stdout = hang_out,
                                                      stderr = hang_err
                                                   )
    
                        # NB: when ISQL will establish attach, first record that it must lock is ID = 2 -- 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=2', SQL_TAG_THAT_WE_WAITING_FOR)
    
                        #########################
                        ###  L O C K E R - 2  ###
                        #########################
    
                        # Change ID so that it **will* be included in the set of rows that must be affected by session-worker:
                        con_lock_2.execute_immediate( f'update {target_obj} set id = -5 where abs(id) = 5;' )
                        con_lock_2.commit()
                        con_lock_2.execute_immediate( f'update {target_obj} set id = id where abs(id) = 5;' )
    
                        #########################
                        ###  L O C K E R - 1  ###
                        #########################
    
                        con_lock_1.commit() # releases record with ID=1 ==> now it can be locked by worker.
    
                        # We have to WAIT HERE until worker will actually 'catch' just released record with ID = 1.
                        #
                        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)
    
                        # If we come here then it means that record with ID = 1 for sure is locked by WORKER.
    
                        # Change ID so that it **will* be included in the set of rows that must be affected by session-worker:
                        con_lock_1.execute_immediate( f'update {target_obj} set id = -4 where abs(id) = 4;' )
                        con_lock_1.commit()
                        con_lock_1.execute_immediate( f'update {target_obj} set id = id where abs(id) = 4;' )
    
    
                        #########################
                        ###  L O C K E R - 2  ###
                        #########################
    
                        con_lock_2.commit() # releases record with ID = -5, but session-worker is waiting for record with ID = -4 (that was changed by locker-1).
    
                        # We have to WAIT HERE until worker will actually 'catch' just released record with ID = -5:
                        #
                        wait_for_record_become_locked(tx_monitoring, cur_monitoring, f'update {target_obj} set id=id where id = -5', SQL_TAG_THAT_WE_WAITING_FOR)
    
                        # If we come here then it means that record with ID = -5 for sure is locked by WORKER.
    
                        con_lock_2.execute_immediate( f'update {target_obj} set id = -3 where abs(id) = 3;' )
                        con_lock_2.commit()
                        con_lock_2.execute_immediate( f'update {target_obj} set id = id where abs(id) = 3;' )
    
                        #########################
                        ###  L O C K E R - 1  ###
                        #########################
    
                        con_lock_1.commit() # This releases row with ID=-4 but session-worker is waiting for ID = - 3 (changed by locker-2).
    
                        # We have to WAIT HERE until worker will actually 'catch' just released record with ID = -4:
                        #
                        wait_for_record_become_locked(tx_monitoring, cur_monitoring, f'update {target_obj} set id=id where id = -4', SQL_TAG_THAT_WE_WAITING_FOR)
    
                        # If we come here then it means that record with ID = -4 for sure is locked by WORKER.
    
                        con_lock_2.commit() # This releases row with ID=-3. No more locked rows so session-worker can finish its mission.
    
                        # 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: 4
    
                    checked_mode: {checked_mode}, STDLOG:      ID
                    checked_mode: {checked_mode}, STDLOG: =======
                    checked_mode: {checked_mode}, STDLOG:      -5
                    checked_mode: {checked_mode}, STDLOG:      -2
                    checked_mode: {checked_mode}, STDLOG:      -1
                    checked_mode: {checked_mode}, STDLOG:       3
                    checked_mode: {checked_mode}, STDLOG:       4
                    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:       2 UPD                        1
                    checked_mode: {checked_mode}, STDLOG:       2 UPD                        2
                    checked_mode: {checked_mode}, STDLOG:       1 UPD                        2
                    checked_mode: {checked_mode}, STDLOG:       2 UPD                        3
                    checked_mode: {checked_mode}, STDLOG:       1 UPD                        3
                    checked_mode: {checked_mode}, STDLOG:       2 UPD                        4
                    checked_mode: {checked_mode}, STDLOG:       1 UPD                        4
                    checked_mode: {checked_mode}, STDLOG:      -3 UPD                        4
                    checked_mode: {checked_mode}, STDLOG:      -4 UPD                        4
                    checked_mode: {checked_mode}, STDLOG: Records affected: 9
                """
                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: 4
E                   checked_mode: table, STDLOG: ID
E                   checked_mode: table, STDLOG:
E                   checked_mode: table, STDLOG: -5
E                   checked_mode: table, STDLOG: -2
E                   checked_mode: table, STDLOG: -1
E                   checked_mode: table, STDLOG: 3
E                   checked_mode: table, STDLOG: 4
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: 2 UPD 1
E                 + checked_mode: table, STDLOG: 2UPD 1
E                 - checked_mode: table, STDLOG: 2 UPD 2
E                 + checked_mode: table, STDLOG: 2UPD 2
E                 - checked_mode: table, STDLOG: 1 UPD 2
E                 + checked_mode: table, STDLOG: 1UPD 2
E                 - checked_mode: table, STDLOG: 2 UPD 3
E                 + checked_mode: table, STDLOG: 2UPD 3
E                 - checked_mode: table, STDLOG: 1 UPD 3
E                 + checked_mode: table, STDLOG: 1UPD 3
E                 - checked_mode: table, STDLOG: 2 UPD 4
E                 + checked_mode: table, STDLOG: 2UPD 4
E                 - checked_mode: table, STDLOG: 1 UPD 4
E                 + checked_mode: table, STDLOG: 1UPD 4
E                 - checked_mode: table, STDLOG: -3 UPD 4
E                 + checked_mode: table, STDLOG: -3UPD 4
E                 - checked_mode: table, STDLOG: -4 UPD 4
E                 + checked_mode: table, STDLOG: -4UPD 4
E                   checked_mode: table, STDLOG: Records affected: 9

tests/functional/transactions/test_read_consist_sttm_restart_on_update_04.py:442: 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 3911 3327 2025.07.02 02:43:43.082 2025.07.02 02:43:46.993 2025.07.01 23:49:54.530 2025.07.01 23:49:57.857
2 6.0.0.884 2025.06.30 f7e5f F F 3834 3084 2025.07.01 02:42:28.139 2025.07.01 02:42:31.973 2025.06.30 23:58:14.034 2025.06.30 23:58:17.118
3 6.0.0.881 2025.06.27 7035d P P 7252 6701 2025.06.30 02:36:17.278 2025.06.30 02:36:24.530 2025.06.29 23:48:47.029 2025.06.29 23:48:53.730
4 6.0.0.877 2025.06.26 8e38f P P 7185 6701 2025.06.27 02:13:12.755 2025.06.27 02:13:19.940 2025.06.26 23:37:58.805 2025.06.26 23:38:05.506
5 6.0.0.876 2025.06.25 b1bec P P 7051 5904 2025.06.26 02:17:04.338 2025.06.26 02:17:11.389 2025.06.25 23:39:53.882 2025.06.25 23:39:59.786
6 6.0.0.863 2025.06.24 c3c20 P P 7116 5968 2025.06.25 02:17:19.368 2025.06.25 02:17:26.484 2025.06.24 23:39:36.735 2025.06.24 23:39:42.703
7 6.0.0.858 2025.06.23 8d6f7 P P 7130 5944 2025.06.24 02:17:23.226 2025.06.24 02:17:30.356 2025.06.23 23:39:29.256 2025.06.23 23:39:35.200
8 6.0.0.849 2025.06.20 7b79c P P 7378 5927 2025.06.21 02:29:08.920 2025.06.21 02:29:16.298 2025.06.20 23:49:33.126 2025.06.20 23:49:39.053
9 6.0.0.848 2025.06.19 c483c P P 7183 5928 2025.06.20 02:25:30.949 2025.06.20 02:25:38.132 2025.06.19 23:45:51.538 2025.06.19 23:45:57.466
10 6.0.0.845 2025.06.18 22b12 P P 7238 6047 2025.06.19 02:34:15.014 2025.06.19 02:34:22.252 2025.06.18 23:50:02.110 2025.06.18 23:50:08.157
11 6.0.0.843 2025.06.16 995f4 P P 8316 6028 2025.06.18 02:32:40.494 2025.06.18 02:32:48.810 2025.06.17 23:51:13.466 2025.06.17 23:51:19.494
12 6.0.0.840 2025.06.14 29bca P P 7160 5966 2025.06.16 02:24:22.687 2025.06.16 02:24:29.847 2025.06.15 23:43:22.493 2025.06.15 23:43:28.459
13 6.0.0.838 2025.06.13 0e28a P P 7380 6105 2025.06.14 02:38:41.409 2025.06.14 02:38:48.789 2025.06.13 23:52:04.115 2025.06.13 23:52:10.220
14 6.0.0.835 2025.06.12 2cf29 P P 7234 6881 2025.06.13 02:37:03.365 2025.06.13 02:37:10.599 2025.06.12 23:54:50.526 2025.06.12 23:54:57.407
15 6.0.0.834 2025.06.11 e889f P P 7476 5947 2025.06.12 02:33:11.710 2025.06.12 02:33:19.186 2025.06.11 23:51:18.298 2025.06.11 23:51:24.245
16 6.0.0.800 2025.06.10 1f226 P P 7354 6556 2025.06.11 01:04:58.081 2025.06.11 01:05:05.435 2025.06.10 22:53:17.349 2025.06.10 22:53:23.905
17 6.0.0.799 2025.06.07 be644 P P 7371 6593 2025.06.10 01:07:26.260 2025.06.10 01:07:33.631 2025.06.09 22:52:41.229 2025.06.09 22:52:47.822
18 6.0.0.797 2025.06.06 303e8 P P 7462 6995 2025.06.07 01:11:38.957 2025.06.07 01:11:46.419 2025.06.06 22:52:35.887 2025.06.06 22:52:42.882
19 6.0.0.795 2025.05.29 7a71a P P 7286 6765 2025.06.06 01:05:45.795 2025.06.06 01:05:53.081 2025.06.05 22:50:53.458 2025.06.05 22:51:00.223
20 6.0.0.792 2025.05.28 b4327 P P 7312 7108 2025.05.29 01:21:05.605 2025.05.29 01:21:12.917 2025.05.28 22:55:16.539 2025.05.28 22:55:23.647
21 6.0.0.791 2025.05.27 02db8 P P 7314 6999 2025.05.28 01:18:53.733 2025.05.28 01:19:01.047 2025.05.27 22:54:26.754 2025.05.27 22:54:33.753
22 6.0.0.789 2025.05.21 64051 P P 7339 7016 2025.05.25 01:10:56.307 2025.05.25 01:11:03.646 2025.05.24 22:53:02.302 2025.05.24 22:53:09.318
23 6.0.0.787 2025.05.20 230ad P P 7459 6744 2025.05.21 01:08:04.499 2025.05.21 01:08:11.958 2025.05.20 22:50:51.234 2025.05.20 22:50:57.978
24 6.0.0.783 2025.05.12 37320 P P 7644 6555 2025.05.19 12:39:21.427 2025.05.19 12:39:29.071 2025.05.19 10:38:35.604 2025.05.19 10:38:42.159
25 6.0.0.779 2025.05.11 136fa P P 7439 7222 2025.05.12 01:03:24.019 2025.05.12 01:03:31.458 2025.05.11 22:49:30.337 2025.05.11 22:49:37.559
26 6.0.0.778 2025.05.07 d735e P P 7357 6963 2025.05.08 01:04:01.481 2025.05.08 01:04:08.838 2025.05.07 22:48:20.815 2025.05.07 22:48:27.778
27 6.0.0.776 2025.05.06 007cd P P 7416 6957 2025.05.07 00:59:53.138 2025.05.07 01:00:00.554 2025.05.06 22:48:42.606 2025.05.06 22:48:49.563
28 6.0.0.770 2025.05.05 82c4a P P 7315 7111 2025.05.06 00:58:01.765 2025.05.06 00:58:09.080 2025.05.05 22:47:30.570 2025.05.05 22:47:37.681
29 6.0.0.767 2025.05.01 cdd29 P P 7477 6944 2025.05.02 00:52:22.074 2025.05.02 00:52:29.551 2025.05.01 22:46:22.687 2025.05.01 22:46:29.631
30 6.0.0.762 2025.04.30 5cb15 P P 7456 6898 2025.05.01 00:50:48.382 2025.05.01 00:50:55.838 2025.04.30 22:44:47.454 2025.04.30 22:44:54.352
31 6.0.0.755 2025.04.29 739c6 P P 7272 6737 2025.04.30 00:54:59.647 2025.04.30 00:55:06.919 2025.04.29 22:46:29.030 2025.04.29 22:46:35.767
32 6.0.0.753 2025.04.27 29ab3 P P 7264 7038 2025.04.28 00:57:03.344 2025.04.28 00:57:10.608 2025.04.27 22:45:27.077 2025.04.27 22:45:34.115
33 6.0.0.745 2025.04.21 78ad8 P P 7461 7076 2025.04.26 00:52:08.064 2025.04.26 00:52:15.525 2025.04.25 22:46:44.215 2025.04.25 22:46:51.291
34 6.0.0.744 2025.04.19 e883a P P 7372 7233 2025.04.20 00:54:37.306 2025.04.20 00:54:44.678 2025.04.19 22:47:28.559 2025.04.19 22:47:35.792
35 6.0.0.742 2025.04.17 abc3b P P 7449 7028 2025.04.19 00:57:05.938 2025.04.19 00:57:13.387 2025.04.18 22:47:30.362 2025.04.18 22:47:37.390
36 6.0.0.737 2025.04.16 fe52b P P 7277 7140 2025.04.17 00:53:10.825 2025.04.17 00:53:18.102 2025.04.16 22:47:44.689 2025.04.16 22:47:51.829
37 6.0.0.736 2025.04.14 3e6be P P 7322 6424 2025.04.15 00:28:33.967 2025.04.15 00:28:41.289 2025.04.14 22:36:39.538 2025.04.14 22:36:45.962
38 6.0.0.735 2025.04.13 6635c P P 7315 6868 2025.04.14 00:35:05.962 2025.04.14 00:35:13.277 2025.04.13 22:37:54.322 2025.04.13 22:38:01.190
39 6.0.0.734 2025.04.12 12f3f P P 7261 6140 2025.04.13 00:32:21.355 2025.04.13 00:32:28.616 2025.04.12 22:37:00.774 2025.04.12 22:37:06.914
40 6.0.0.730 2025.04.11 240b8 P P 7365 6800 2025.04.12 00:35:10.238 2025.04.12 00:35:17.603 2025.04.11 22:37:16.226 2025.04.11 22:37:23.026
41 6.0.0.726 2025.04.10 d79c6 P P 7462 6148 2025.04.11 00:35:15.055 2025.04.11 00:35:22.517 2025.04.10 22:37:18.226 2025.04.10 22:37:24.374
42 6.0.0.725 2025.04.09 a2b05 P P 7237 6720 2025.04.10 00:35:02.302 2025.04.10 00:35:09.539 2025.04.09 22:37:28.382 2025.04.09 22:37:35.102
43 6.0.0.722 2025.04.08 a8b86 P P 7361 7050 2025.04.09 00:49:39.103 2025.04.09 00:49:46.464 2025.04.08 22:45:28.243 2025.04.08 22:45:35.293
44 6.0.0.719 2025.04.06 90fd9 P P 7297 6836 2025.04.07 00:49:12.882 2025.04.07 00:49:20.179 2025.04.06 22:43:15.262 2025.04.06 22:43:22.098
45 6.0.0.717 2025.04.04 53d70 P P 7393 7169 2025.04.05 00:44:43.214 2025.04.05 00:44:50.607 2025.04.04 22:42:18.091 2025.04.04 22:42:25.260
46 6.0.0.716 2025.04.03 fc636 P P 7550 7216 2025.04.04 00:45:33.202 2025.04.04 00:45:40.752 2025.04.03 22:44:18.958 2025.04.03 22:44:26.174
47 6.0.0.715 2025.04.02 907ed P P 7405 7104 2025.04.03 00:48:26.915 2025.04.03 00:48:34.320 2025.04.02 22:44:16.678 2025.04.02 22:44:23.782
48 6.0.0.710 2025.04.01 40651 P P 7550 6977 2025.04.02 00:45:33.455 2025.04.02 00:45:41.005 2025.04.01 22:43:03.382 2025.04.01 22:43:10.359
49 6.0.0.708 2025.03.31 cb069 P P 7308 6824 2025.04.01 00:34:20.817 2025.04.01 00:34:28.125 2025.03.31 22:38:08.983 2025.03.31 22:38:15.807
50 6.0.0.707 2025.03.28 4bd4f P P 7436 6769 2025.03.31 00:37:45.856 2025.03.31 00:37:53.292 2025.03.30 22:38:10.858 2025.03.30 22:38:17.627
51 6.0.0.698 2025.03.26 d72a7 P P 7347 6939 2025.03.28 00:56:57.409 2025.03.28 00:57:04.756 2025.03.27 22:46:17.923 2025.03.27 22:46:24.862
52 6.0.0.693 2025.03.24 0b559 P P 7151 6855 2025.03.25 00:46:58.242 2025.03.25 00:47:05.393 2025.03.24 22:41:30.326 2025.03.24 22:41:37.181
53 6.0.0.687 2025.03.22 730aa P P 7538 7026 2025.03.24 00:59:07.359 2025.03.24 00:59:14.897 2025.03.23 22:49:15.788 2025.03.23 22:49:22.814
54 6.0.0.686 2025.03.20 71bf6 P P 7498 7058 2025.03.21 01:03:16.648 2025.03.21 01:03:24.146 2025.03.20 22:52:56.234 2025.03.20 22:53:03.292
55 6.0.0.685 2025.03.19 a8577 P P 8646 7281 2025.03.20 01:12:27.947 2025.03.20 01:12:36.593 2025.03.19 22:50:36.215 2025.03.19 22:50:43.496
56 6.0.0.680 2025.03.18 90d29 P P 984 534 2025.03.19 11:25:16.703 2025.03.19 11:25:17.687 2025.03.19 09:34:28.461 2025.03.19 09:34:28.995
57 6.0.0.677 2025.03.16 c0a60 P P 922 729 2025.03.17 00:51:50.586 2025.03.17 00:51:51.508 2025.03.16 22:44:42.449 2025.03.16 22:44:43.178
58 6.0.0.676 2025.03.15 3034f P P 966 516 2025.03.16 16:24:46.127 2025.03.16 16:24:47.093 2025.03.16 14:35:49.402 2025.03.16 14:35:49.918
59 6.0.0.673 2025.03.13 40f5b P P 933 495 2025.03.14 00:48:32.203 2025.03.14 00:48:33.136 2025.03.13 22:44:02.279 2025.03.13 22:44:02.774
60 6.0.0.671 2025.03.12 a4fff P P 994 737 2025.03.13 00:51:50.368 2025.03.13 00:51:51.362 2025.03.12 22:47:03.167 2025.03.12 22:47:03.904
61 6.0.0.663 2025.03.11 daad2 P P 888 718 2025.03.12 00:52:31.370 2025.03.12 00:52:32.258 2025.03.11 22:45:57.240 2025.03.11 22:45:57.958
62 6.0.0.661 2025.03.07 b9869 P P 794 538 2025.03.11 00:27:29.638 2025.03.11 00:27:30.432 2025.03.10 22:35:59.081 2025.03.10 22:35:59.619
63 6.0.0.660 2025.03.04 a6700 P P 943 616 2025.03.07 00:37:57.515 2025.03.07 00:37:58.458 2025.03.06 22:41:03.634 2025.03.06 22:41:04.250
64 6.0.0.658 2025.03.03 f15f8 P P 879 401 2025.03.04 00:31:15.127 2025.03.04 00:31:16.006 2025.03.03 22:36:41.006 2025.03.03 22:36:41.407
65 6.0.0.656 2025.02.27 25fb4 P P 916 854 2025.03.03 01:05:35.773 2025.03.03 01:05:36.689 2025.03.02 22:48:46.991 2025.03.02 22:48:47.845
66 6.0.0.655 2025.02.25 6e3e0 P P 930 453 2025.02.27 00:35:22.662 2025.02.27 00:35:23.592 2025.02.26 22:38:06.304 2025.02.26 22:38:06.757
67 6.0.0.654 2025.02.24 b7141 P P 924 453 2025.02.25 00:38:37.353 2025.02.25 00:38:38.277 2025.02.24 22:39:48.734 2025.02.24 22:39:49.187
68 6.0.0.652 2025.02.22 22662 P P 915 638 2025.02.24 07:58:40.065 2025.02.24 07:58:40.980 2025.02.24 00:52:52.316 2025.02.24 00:52:52.954
69 6.0.0.647 2025.02.21 9fccb P P 845 708 2025.02.22 00:40:51.334 2025.02.22 00:40:52.179 2025.02.21 22:42:03.675 2025.02.21 22:42:04.383
70 6.0.0.640 2025.02.19 9b8ac P P 840 698 2025.02.20 00:35:33.565 2025.02.20 00:35:34.405 2025.02.19 22:38:13.489 2025.02.19 22:38:14.187
71 6.0.0.639 2025.02.18 201a4 P P 869 661 2025.02.19 00:29:44.262 2025.02.19 00:29:45.131 2025.02.18 22:36:15.418 2025.02.18 22:36:16.079
72 6.0.0.637 2025.02.12 6d0f5 P P 1406 675 2025.02.14 00:48:44.401 2025.02.14 00:48:45.807 2025.02.13 22:44:13.902 2025.02.13 22:44:14.577
73 6.0.0.636 2025.02.11 0424f P P 1420 788 2025.02.12 00:44:05.046 2025.02.12 00:44:06.466 2025.02.11 22:43:22.686 2025.02.11 22:43:23.474
74 6.0.0.635 2025.02.10 f640f P P 925 637 2025.02.11 00:42:55.869 2025.02.11 00:42:56.794 2025.02.10 22:43:12.856 2025.02.10 22:43:13.493
75 6.0.0.629 2025.02.07 194f9 P P 969 579 2025.02.08 00:42:56.181 2025.02.08 00:42:57.150 2025.02.07 22:42:15.292 2025.02.07 22:42:15.871
76 6.0.0.628 2025.02.06 859d5 P P 900 748 2025.02.07 01:01:34.849 2025.02.07 01:01:35.749 2025.02.06 22:48:50.749 2025.02.06 22:48:51.497
77 6.0.0.621 2025.02.05 34fe7 P P 826 685 2025.02.06 00:56:35.813 2025.02.06 00:56:36.639 2025.02.05 22:49:30.689 2025.02.05 22:49:31.374
78 6.0.0.609 2025.02.04 76d57 P P 933 716 2025.02.05 00:51:19.526 2025.02.05 00:51:20.459 2025.02.04 22:45:09.538 2025.02.04 22:45:10.254
79 6.0.0.607 2025.02.03 1985b P P 910 688 2025.02.04 00:48:54.469 2025.02.04 00:48:55.379 2025.02.03 22:46:07.966 2025.02.03 22:46:08.654
80 6.0.0.601 2025.02.01 6af07 P P 805 418 2025.02.02 00:38:45.318 2025.02.02 00:38:46.123 2025.02.01 22:41:40.787 2025.02.01 22:41:41.205
81 6.0.0.600 2025.01.27 188de P P 1299 705 2025.01.28 00:48:14.239 2025.01.28 00:48:15.538 2025.01.27 22:44:04.401 2025.01.27 22:44:05.106
82 6.0.0.599 2025.01.25 ba588 P P 971 552 2025.01.26 00:46:36.506 2025.01.26 00:46:37.477 2025.01.25 22:44:53.830 2025.01.25 22:44:54.382
83 6.0.0.598 2025.01.23 ddbc3 P P 905 522 2025.01.25 00:47:49.299 2025.01.25 00:47:50.204 2025.01.24 22:43:46.990 2025.01.24 22:43:47.512
84 6.0.0.595 2025.01.22 e62f3 P P 716 718 2025.01.23 00:39:45.407 2025.01.23 00:39:46.123 2025.01.22 22:38:54.135 2025.01.22 22:38:54.853
85 6.0.0.594 2025.01.21 47fb6 P P 1320 735 2025.01.22 00:33:23.198 2025.01.22 00:33:24.518 2025.01.21 22:38:46.517 2025.01.21 22:38:47.252
86 6.0.0.590 2025.01.20 9dc1e P P 1405 432 2025.01.21 00:41:36.905 2025.01.21 00:41:38.310 2025.01.20 22:43:24.673 2025.01.20 22:43:25.105
87 6.0.0.588 2025.01.19 b1c4e P P 1209 489 2025.01.20 00:39:59.701 2025.01.20 00:40:00.910 2025.01.19 22:40:44.947 2025.01.19 22:40:45.436
88 6.0.0.587 2025.01.18 63e6e P P 777 429 2025.01.19 00:43:53.962 2025.01.19 00:43:54.739 2025.01.18 22:42:40.570 2025.01.18 22:42:40.999
89 6.0.0.585 2025.01.16 2d6bb P P 967 440 2025.01.18 00:36:46.469 2025.01.18 00:36:47.436 2025.01.17 22:39:19.498 2025.01.17 22:39:19.938
90 6.0.0.584 2025.01.15 a0aa2 P P 898 437 2025.01.16 00:41:36.316 2025.01.16 00:41:37.214 2025.01.15 22:42:20.531 2025.01.15 22:42:20.968
91 6.0.0.581 2025.01.14 21e9e P P 775 470 2025.01.15 00:42:03.687 2025.01.15 00:42:04.462 2025.01.14 22:41:13.716 2025.01.14 22:41:14.186
92 6.0.0.577 2025.01.13 7e293 P P 887 473 2025.01.14 00:44:13.434 2025.01.14 00:44:14.321 2025.01.13 22:41:51.496 2025.01.13 22:41:51.969
93 6.0.0.576 2025.01.12 05898 P P 1257 444 2025.01.13 00:38:10.086 2025.01.13 00:38:11.343 2025.01.12 22:39:39.547 2025.01.12 22:39:39.991
94 6.0.0.573 2025.01.10 c20f3 P P 907 424 2025.01.11 00:40:09.125 2025.01.11 00:40:10.032 2025.01.10 22:40:34.258 2025.01.10 22:40:34.682
95 6.0.0.571 2024.12.31 81bba P P 903 644 2025.01.01 00:13:02.199 2025.01.01 00:13:03.102 2024.12.31 22:19:09.455 2024.12.31 22:19:10.099
96 6.0.0.570 2024.12.30 c3c8d P P 1128 615 2024.12.31 00:13:48.095 2024.12.31 00:13:49.223 2024.12.30 22:19:01.480 2024.12.30 22:19:02.095
97 6.0.0.565 2024.12.28 5fc59 P P 714 402 2024.12.30 12:46:37.889 2024.12.30 12:46:38.603 2024.12.30 11:26:40.256 2024.12.30 11:26:40.658
98 6.0.0.564 2024.12.26 12514 P P 1226 644 2024.12.27 00:14:57.891 2024.12.27 00:14:59.117 2024.12.26 22:19:11.586 2024.12.26 22:19:12.230
99 6.0.0.560 2024.12.25 fa83e P P 917 598 2024.12.26 00:07:21.226 2024.12.26 00:07:22.143 2024.12.25 22:18:53.389 2024.12.25 22:18:53.987
100 6.0.0.559 2024.12.23 cc800 P P 1187 645 2024.12.25 00:08:33.211 2024.12.25 00:08:34.398 2024.12.24 22:19:44.586 2024.12.24 22:19:45.231
101 6.0.0.556 2024.12.22 a0404 P P 691 527 2024.12.23 00:14:30.113 2024.12.23 00:14:30.804 2024.12.22 22:18:57.604 2024.12.22 22:18:58.131
102 6.0.0.555 2024.12.19 6990a P P 687 388 2024.12.21 13:22:04.755 2024.12.21 13:22:05.442 2024.12.21 12:02:10.937 2024.12.21 12:02:11.325
103 6.0.0.553 2024.12.17 d1f8a P P 657 634 2024.12.18 00:09:18.559 2024.12.18 00:09:19.216 2024.12.17 22:19:53.391 2024.12.17 22:19:54.025
104 6.0.0.552 2024.12.11 85e25 P P 647 545 2024.12.16 00:13:33.996 2024.12.16 00:13:34.643 2024.12.15 22:19:28.423 2024.12.15 22:19:28.968
105 6.0.0.550 2024.12.10 b37ac P P 1254 666 2024.12.11 00:08:01.016 2024.12.11 00:08:02.270 2024.12.10 22:21:25.283 2024.12.10 22:21:25.949
106 6.0.0.548 2024.12.08 2cc77 P P 650 598 2024.12.09 00:02:44.991 2024.12.09 00:02:45.641 2024.12.08 22:16:26.565 2024.12.08 22:16:27.163
107 6.0.0.544 2024.12.05 96943 P P 658 648 2024.12.06 00:06:14.276 2024.12.06 00:06:14.934 2024.12.05 22:21:14.379 2024.12.05 22:21:15.027
108 6.0.0.543 2024.12.03 30b77 P P 1205 688 2024.12.04 00:05:58.518 2024.12.04 00:05:59.723 2024.12.03 22:19:25.551 2024.12.03 22:19:26.239
109 6.0.0.540 2024.12.02 4a1f4 P P 665 604 2024.12.03 00:02:12.632 2024.12.03 00:02:13.297 2024.12.02 22:16:27.739 2024.12.02 22:16:28.343
110 6.0.0.539 2024.11.28 1f283 P P 653 572 2024.11.30 00:15:18.554 2024.11.30 00:15:19.207 2024.11.29 22:18:48.703 2024.11.29 22:18:49.275
111 6.0.0.535 2024.11.26 77b95 P P 1149 510 2024.11.26 23:58:27.791 2024.11.26 23:58:28.940 2024.11.26 22:15:44.459 2024.11.26 22:15:44.969
112 6.0.0.534 2024.11.25 e9584 P P 1192 566 2024.11.25 23:59:44.083 2024.11.25 23:59:45.275 2024.11.25 22:16:41.269 2024.11.25 22:16:41.835
113 6.0.0.533 2024.11.17 933ac P P 754 412 2024.11.22 10:02:26.699 2024.11.22 10:02:27.453 2024.11.22 08:44:57.969 2024.11.22 08:44:58.381
114 6.0.0.532 2024.11.16 9e263 P P 1179 428 2024.11.16 23:49:31.499 2024.11.16 23:49:32.678 2024.11.16 22:14:57.756 2024.11.16 22:14:58.184
115 6.0.0.530 2024.11.15 49804 P P 634 690 2024.11.16 01:56:26.224 2024.11.16 01:56:26.858 2024.11.16 00:15:33.609 2024.11.16 00:15:34.299
116 6.0.0.528 2024.11.14 9625b P P 671 653 2024.11.15 02:00:05.072 2024.11.15 02:00:05.743 2024.11.15 00:16:28.349 2024.11.15 00:16:29.002
117 6.0.0.526 2024.11.12 65b80 P P 1100 389 2024.11.14 01:59:56.222 2024.11.14 01:59:57.322 2024.11.14 00:16:25.330 2024.11.14 00:16:25.719
118 6.0.0.523 2024.11.08 8ca23 P P 683 595 2024.11.11 01:56:06.839 2024.11.11 01:56:07.522 2024.11.11 00:14:53.035 2024.11.11 00:14:53.630
119 6.0.0.520 2024.11.07 4eefa F F 638 551 2024.11.08 01:51:12.448 2024.11.08 01:51:13.086 2024.11.08 00:13:12.146 2024.11.08 00:13:12.697
120 6.0.0.516 2024.11.04 b0c36 P P 647 357 2024.11.05 01:51:36.747 2024.11.05 01:51:37.394 2024.11.05 00:14:04.057 2024.11.05 00:14:04.414
121 6.0.0.515 2024.10.30 d53f3 P P 836 635 2024.11.04 01:54:12.308 2024.11.04 01:54:13.144 2024.11.04 00:14:34.386 2024.11.04 00:14:35.021
122 6.0.0.512 2024.10.29 833ef P P 860 539 2024.10.30 01:57:27.282 2024.10.30 01:57:28.142 2024.10.30 00:16:10.010 2024.10.30 00:16:10.549
123 6.0.0.511 2024.10.26 c4bc9 P P 656 595 2024.10.29 01:55:50.864 2024.10.29 01:55:51.520 2024.10.29 00:15:57.097 2024.10.29 00:15:57.692
124 6.0.0.509 2024.10.25 3aedb P P 1195 619 2024.10.26 02:07:26.753 2024.10.26 02:07:27.948 2024.10.26 00:20:06.254 2024.10.26 00:20:06.873
125 6.0.0.508 2024.10.24 a8f5b P P 710 625 2024.10.25 02:01:00.802 2024.10.25 02:01:01.512 2024.10.25 00:16:54.598 2024.10.25 00:16:55.223
126 6.0.0.502 2024.10.22 6bfd7 P P 1230 642 2024.10.23 02:01:01.628 2024.10.23 02:01:02.858 2024.10.23 00:16:43.050 2024.10.23 00:16:43.692
127 6.0.0.500 2024.10.21 be565 P P 743 416 2024.10.22 18:05:33.056 2024.10.22 18:05:33.799 2024.10.22 16:45:57.852 2024.10.22 16:45:58.268
128 6.0.0.499 2024.10.19 6214b P P 685 707 2024.10.20 02:00:33.924 2024.10.20 02:00:34.609 2024.10.20 00:17:39.265 2024.10.20 00:17:39.972
129 6.0.0.498 2024.10.18 591a7 P P 1014 369 2024.10.19 01:59:11.363 2024.10.19 01:59:12.377 2024.10.19 00:16:09.664 2024.10.19 00:16:10.033
130 6.0.0.494 2024.10.17 cf5a4 P P 636 603 2024.10.18 01:59:56.888 2024.10.18 01:59:57.524 2024.10.18 00:17:21.342 2024.10.18 00:17:21.945
131 6.0.0.491 2024.10.14 dc5fb P P 1160 616 2024.10.15 01:56:24.017 2024.10.15 01:56:25.177 2024.10.15 00:14:58.705 2024.10.15 00:14:59.321
132 6.0.0.489 2024.10.11 2ba59 P P 1240 582 2024.10.12 02:04:27.761 2024.10.12 02:04:29.001 2024.10.12 00:17:37.734 2024.10.12 00:17:38.316
133 6.0.0.488 2024.10.09 1c93e P P 1355 726 2024.10.10 02:13:13.872 2024.10.10 02:13:15.227 2024.10.10 00:22:13.316 2024.10.10 00:22:14.042
134 6.0.0.487 2024.10.06 065a3 P P 1399 673 2024.10.07 02:12:14.271 2024.10.07 02:12:15.670 2024.10.07 00:21:47.757 2024.10.07 00:21:48.430
135 6.0.0.485 2024.10.04 e95c1 P P 1322 662 2024.10.05 02:12:36.726 2024.10.05 02:12:38.048 2024.10.05 00:22:45.388 2024.10.05 00:22:46.050
136 6.0.0.483 2024.10.02 5e5ae P P 663 668 2024.10.03 02:08:16.017 2024.10.03 02:08:16.680 2024.10.03 00:21:08.969 2024.10.03 00:21:09.637
137 6.0.0.478 2024.09.30 b5010 P P 695 656 2024.10.01 02:02:52.399 2024.10.01 02:02:53.094 2024.10.01 00:19:59.861 2024.10.01 00:20:00.517
138 6.0.0.474 2024.09.26 e4efb P P 724 585 2024.09.30 02:03:04.348 2024.09.30 02:03:05.072 2024.09.30 00:17:34.436 2024.09.30 00:17:35.021
139 6.0.0.471 2024.09.24 01b51 P P 734 620 2024.09.26 00:07:55.023 2024.09.26 00:07:55.757 2024.09.25 22:19:04.269 2024.09.25 22:19:04.889
140 6.0.0.470 2024.09.23 77cc0 P P 805 668 2024.09.24 00:05:37.902 2024.09.24 00:05:38.707 2024.09.23 22:19:02.180 2024.09.23 22:19:02.848
141 6.0.0.467 2024.09.21 ea0b8 P P 679 613 2024.09.23 00:03:46.745 2024.09.23 00:03:47.424 2024.09.22 22:17:56.327 2024.09.22 22:17:56.940
142 6.0.0.466 2024.09.20 32dc6 P P 650 655 2024.09.21 00:02:00.546 2024.09.21 00:02:01.196 2024.09.20 22:17:19.942 2024.09.20 22:17:20.597
143 6.0.0.461 2024.09.17 2c895 P P 943 503 2024.09.18 00:41:05.055 2024.09.18 00:41:05.998 2024.09.17 22:41:29.002 2024.09.17 22:41:29.505
144 6.0.0.460 2024.09.11 3c253 P P 914 463 2024.09.17 00:41:44.546 2024.09.17 00:41:45.460 2024.09.16 22:42:33.933 2024.09.16 22:42:34.396
145 6.0.0.457 2024.09.09 fdc6f P P 1925 824 2024.09.10 01:07:33.356 2024.09.10 01:07:35.281 2024.09.09 22:53:21.969 2024.09.09 22:53:22.793
146 6.0.0.455 2024.09.07 500d8 P P 1078 635 2024.09.08 01:02:43.412 2024.09.08 01:02:44.490 2024.09.07 22:51:21.820 2024.09.07 22:51:22.455
147 6.0.0.454 2024.09.05 4d70f P P 1253 793 2024.09.06 00:45:07.045 2024.09.06 00:45:08.298 2024.09.05 22:44:17.567 2024.09.05 22:44:18.360
148 6.0.0.452 2024.09.04 9ff9c P P 1341 504 2024.09.05 00:42:27.469 2024.09.05 00:42:28.810 2024.09.04 22:42:59.760 2024.09.04 22:43:00.264
149 6.0.0.450 2024.09.02 27124 P P 1056 1083 2024.09.04 01:57:01.398 2024.09.04 01:57:02.454 2024.09.03 23:17:42.255 2024.09.03 23:17:43.338
150 6.0.0.447 2024.09.01 056ec P P 1408 651 2024.09.02 01:14:19.996 2024.09.02 01:14:21.404 2024.09.01 22:50:18.226 2024.09.01 22:50:18.877
151 6.0.0.446 2024.08.30 fe1b2 P P 1205 492 2024.09.01 01:12:24.386 2024.09.01 01:12:25.591 2024.08.31 22:58:06.704 2024.08.31 22:58:07.196
152 6.0.0.444 2024.08.28 785d4 P P 1017 755 2024.08.30 01:28:25.580 2024.08.30 01:28:26.597 2024.08.29 23:10:19.925 2024.08.29 23:10:20.680
153 6.0.0.442 2024.08.21 4a68f P P 1203 596 2024.08.28 03:39:56.199 2024.08.28 03:39:57.402 2024.08.28 00:06:11.040 2024.08.28 00:06:11.636
154 6.0.0.441 2024.08.20 75042 P P 1454 560 2024.08.21 00:56:25.837 2024.08.21 00:56:27.291 2024.08.20 22:47:13.949 2024.08.20 22:47:14.509
155 6.0.0.438 2024.08.16 088b5 P P 1316 746 2024.08.19 00:05:12.213 2024.08.19 00:05:13.529 2024.08.18 22:23:36.149 2024.08.18 22:23:36.895
156 6.0.0.437 2024.08.14 3c88b P P 1440 481 2024.08.16 00:01:55.941 2024.08.16 00:01:57.381 2024.08.15 22:22:42.230 2024.08.15 22:22:42.711
157 6.0.0.432 2024.08.11 e82ac P P 822 734 2024.08.13 00:01:05.087 2024.08.13 00:01:05.909 2024.08.12 22:21:25.828 2024.08.12 22:21:26.562
158 6.0.0.431 2024.08.09 de5a7 P P 893 722 2024.08.10 00:01:13.997 2024.08.10 00:01:14.890 2024.08.09 22:21:53.369 2024.08.09 22:21:54.091
159 6.0.0.428 2024.08.08 9191b P P 762 580 2024.08.09 00:01:03.989 2024.08.09 00:01:04.751 2024.08.08 22:21:10.801 2024.08.08 22:21:11.381
160 6.0.0.423 2024.08.07 33b41 P P 902 584 2024.08.08 09:49:06.827 2024.08.08 09:49:07.729 2024.08.08 08:27:36.840 2024.08.08 08:27:37.424
161 6.0.0.421 2024.08.06 ed60d P P 589 312 2024.08.06 23:43:13.304 2024.08.06 23:43:13.893 2024.08.06 22:14:00.158 2024.08.06 22:14:00.470
162 6.0.0.419 2024.08.05 3505a P P 649 375 2024.08.05 23:45:18.768 2024.08.05 23:45:19.417 2024.08.05 22:13:58.204 2024.08.05 22:13:58.579
163 6.0.0.409 2024.08.02 ec18f P P 707 485 2024.08.04 23:48:50.152 2024.08.04 23:48:50.859 2024.08.04 22:14:41.612 2024.08.04 22:14:42.097
164 6.0.0.406 2024.08.01 b20be P P 628 310 2024.08.01 23:47:28.509 2024.08.01 23:47:29.137 2024.08.01 22:13:59.149 2024.08.01 22:13:59.459
165 6.0.0.405 2024.07.31 a62ac P P 580 306 2024.07.31 23:46:24.261 2024.07.31 23:46:24.841 2024.07.31 22:13:45.501 2024.07.31 22:13:45.807
166 6.0.0.403 2024.07.29 30f03 P P 610 346 2024.07.29 23:46:09.397 2024.07.29 23:46:10.007 2024.07.29 22:13:33.514 2024.07.29 22:13:33.860
167 6.0.0.401 2024.07.26 24e41 P P 1045 329 2024.07.26 23:43:07.220 2024.07.26 23:43:08.265 2024.07.26 22:13:33.012 2024.07.26 22:13:33.341
168 6.0.0.400 2024.07.24 5bb78 P P 936 313 2024.07.24 23:42:58.305 2024.07.24 23:42:59.241 2024.07.24 22:13:42.859 2024.07.24 22:13:43.172
169 6.0.0.398 2024.07.23 85b18 P P 635 520 2024.07.23 23:48:28.923 2024.07.23 23:48:29.558 2024.07.23 22:19:36.286 2024.07.23 22:19:36.806
170 6.0.0.397 2024.07.22 c734c P P 994 396 2024.07.22 23:42:47.209 2024.07.22 23:42:48.203 2024.07.22 22:13:39.484 2024.07.22 22:13:39.880
171 6.0.0.396 2024.07.13 cf952 P P 794 302 2024.07.21 23:44:02.979 2024.07.21 23:44:03.773 2024.07.21 22:13:33.811 2024.07.21 22:13:34.113
172 6.0.0.395 2024.07.10 845f4 P P 585 529 2024.07.12 23:44:56.369 2024.07.12 23:44:56.954 2024.07.12 22:12:44.383 2024.07.12 22:12:44.912
173 6.0.0.392 2024.07.09 ea301 P P 562 432 2024.07.09 23:40:09.345 2024.07.09 23:40:09.907 2024.07.09 22:11:57.733 2024.07.09 22:11:58.165
174 6.0.0.391 2024.07.08 7d50c P P 559 494 2024.07.08 23:41:16.983 2024.07.08 23:41:17.542 2024.07.08 22:12:57.057 2024.07.08 22:12:57.551
175 6.0.0.389 2024.07.05 cc71c P P 548 355 2024.07.05 23:45:31.551 2024.07.05 23:45:32.099 2024.07.05 22:12:47.939 2024.07.05 22:12:48.294
176 6.0.0.388 2024.06.30 e5700 P P 910 315 2024.06.30 23:41:20.320 2024.06.30 23:41:21.230 2024.06.30 22:13:10.514 2024.06.30 22:13:10.829
177 6.0.0.387 2024.06.27 7c28a P P 619 518 2024.06.27 23:40:17.821 2024.06.27 23:40:18.440 2024.06.27 22:12:53.157 2024.06.27 22:12:53.675
178 6.0.0.386 2024.06.23 7c57f P P 551 326 2024.06.23 23:37:34.246 2024.06.23 23:37:34.797 2024.06.23 22:11:35.145 2024.06.23 22:11:35.471
179 6.0.0.384 2024.06.21 24d99 P P 559 485 2024.06.21 23:42:12.665 2024.06.21 23:42:13.224 2024.06.21 22:13:07.247 2024.06.21 22:13:07.732
180 6.0.0.374 2024.06.13 0097d P P 585 558 2024.06.20 23:40:11.054 2024.06.20 23:40:11.639 2024.06.20 22:12:22.483 2024.06.20 22:12:23.041
181 6.0.0.373 2024.06.09 363f0 P P 717 412 2024.06.13 13:48:53.054 2024.06.13 13:48:53.771 2024.06.13 12:35:45.339 2024.06.13 12:35:45.751
182 6.0.0.371 2024.06.08 f7130 P P 648 327 2024.06.11 22:35:16.719 2024.06.11 22:35:17.367 2024.06.11 21:28:51.523 2024.06.11 21:28:51.850
183 6.0.0.366 2024.05.30 ab2c9 P P 1116 328 2024.06.12 09:51:03.750 2024.06.12 09:51:04.866 2024.06.12 08:03:15.189 2024.06.12 08:03:15.517
184 6.0.0.363 2024.05.27 06703 P P 695 322 2024.06.12 14:42:01.017 2024.06.12 14:42:01.712 2024.06.12 13:31:57.055 2024.06.12 13:31:57.377
185 6.0.0.359 2024.05.23 9cb11 P P 590 350 2024.06.12 12:33:40.693 2024.06.12 12:33:41.283 2024.06.12 11:24:25.029 2024.06.12 11:24:25.379
186 6.0.0.358 2024.05.21 995dd P P 709 321 2024.06.12 17:16:51.449 2024.06.12 17:16:52.158 2024.06.12 16:09:16.459 2024.06.12 16:09:16.780
187 6.0.0.357 2024.05.18 bf6c4 P P 667 330 2024.06.12 21:53:18.201 2024.06.12 21:53:18.868 2024.06.12 20:45:07.996 2024.06.12 20:45:08.326
188 6.0.0.356 2024.05.17 eab06 P P 664 361 2024.06.13 05:59:44.711 2024.06.13 05:59:45.375 2024.06.13 04:51:50.098 2024.06.13 04:51:50.459
189 6.0.0.355 2024.05.16 8dd6e P P 714 333 2024.06.13 08:07:37.229 2024.06.13 08:07:37.943 2024.06.13 06:59:24.333 2024.06.13 06:59:24.666
190 6.0.0.354 2024.05.15 d3adc P P 773 393 2024.06.13 11:13:24.389 2024.06.13 11:13:25.162 2024.06.13 10:00:57.385 2024.06.13 10:00:57.778
191 6.0.0.351 2024.05.14 2e3e0 P P 690 391 2024.06.13 16:27:06.040 2024.06.13 16:27:06.730 2024.06.13 15:14:14.101 2024.06.13 15:14:14.492

Elapsed time, ms. Chart for last 150 runs:

Last commits information (all timestamps in UTC):