Show firebird.log [FOUND messages 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, checked_DML upd, iter 0, number of added rows: 10
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 12
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: ID
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG:
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1200
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1100
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1000
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -900
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -800
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -700
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -600
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -500
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -400
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -300
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 100
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 200
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 12
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: OLD_ID OP SNAP_NO_RANK
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG:
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 1
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 1
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 2
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 2
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 2
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 2
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 3
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 3
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 3
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 3
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 4
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 4
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 4
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 4
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 5
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 5
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 5
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 5
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 6
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 6
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 6
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 6
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 7
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 7
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 7
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 7
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 8
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 8
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 8
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 8
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 9
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 9
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 9
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 9
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 10
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 10
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 10
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 10
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -3 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -3UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -4 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -4UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -5 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -5UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -6 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -6UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -7 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -7UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -8 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -8UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -9 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -9UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -10 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -10UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -11 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -11UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -12 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -12UPD 11
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 31

LOG DETAILS:

2025-07-02 06:41:24.303
2025-07-02 06:41:24.303 act = <firebird.qa.plugin.Action object at [hex]>
2025-07-02 06:41:24.303 fn_worker_sql = WindowsPath('H:/QA/temp/qa2024.tmp/fbqa/test_12498/tmp_worker.sql')
2025-07-02 06:41:24.303 fn_worker_log = WindowsPath('H:/QA/temp/qa2024.tmp/fbqa/test_12498/tmp_worker.log')
2025-07-02 06:41:24.303 fn_worker_err = WindowsPath('H:/QA/temp/qa2024.tmp/fbqa/test_12498/tmp_worker.err')
2025-07-02 06:41:24.303 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-07-02 06:41:24.303
2025-07-02 06:41:24.303     @pytest.mark.trace
2025-07-02 06:41:24.303     @pytest.mark.version('>=4.0.2')
2025-07-02 06:41:24.303     def test_1(act: Action, fn_worker_sql: Path, fn_worker_log: Path, fn_worker_err: Path, capsys):
2025-07-02 06:41:24.303
2025-07-02 06:41:24.303         sql_init = (act.files_dir / 'read-consist-sttm-restart-DDL.sql').read_text()
2025-07-02 06:41:24.303
2025-07-02 06:41:24.304         for checked_mode in('table', 'view'):
2025-07-02 06:41:24.304             target_obj = 'test' if checked_mode == 'table' else 'v_test'
2025-07-02 06:41:24.304
2025-07-02 06:41:24.304             # NB: for 'lok' can not be used with a VIEW, error: "336397326 : WITH LOCK can be used only with a single physical table"
2025-07-02 06:41:24.304             for checked_DML in ('upd', 'mer', 'del', 'lok') if checked_mode == 'table' else ('upd', 'mer', 'del'):
2025-07-02 06:41:24.304
2025-07-02 06:41:24.304                 ###################################################################################################################
2025-07-02 06:41:24.304                 ### !!! NB !!! DO NOT SPLIT QUERIES ONTO MULTIPLE LINES OTHERWISE CHECK OF TRACE CONTENT WILL FAIL (SEE BELOW)  ###
2025-07-02 06:41:24.304                 ###################################################################################################################
2025-07-02 06:41:24.304                 if checked_DML == 'upd':
2025-07-02 06:41:24.304                     SQL_TO_BE_RESTARTED = f'update /* {SQL_TAG_THAT_WE_WAITING_FOR} */ {target_obj} set id = id * 100 where id <= 2 order by id DESC'
2025-07-02 06:41:24.304                 elif checked_DML == 'mer':
2025-07-02 06:41:24.304                     SQL_TO_BE_RESTARTED = f'merge /* {SQL_TAG_THAT_WE_WAITING_FOR} */ into {target_obj} t using (select x.id from {target_obj} x where x.id <= 2 order by id DESC) s on t.id = s.id when matched then update set t.id = s.id * 100'
2025-07-02 06:41:24.304                 elif checked_DML == 'del':
2025-07-02 06:41:24.304                     SQL_TO_BE_RESTARTED = f'delete /* {SQL_TAG_THAT_WE_WAITING_FOR} */ from {target_obj} where id <= 2 order by id DESC'
2025-07-02 06:41:24.304                 elif checked_DML == 'lok':
2025-07-02 06:41:24.304                     # ::: NB :::
2025-07-02 06:41:24.304                     # We must SUPRESS sending record to client for SELECT WITH LOCK, otherwise error
2025-07-02 06:41:24.304                     # deadlock/update conflist will raise immediately! Because of this, we  enclose
2025-07-02 06:41:24.305                     # such select into execute block which returns nothing:
2025-07-02 06:41:24.305                     #
2025-07-02 06:41:24.305                     SQL_TO_BE_RESTARTED = f'execute block /* {SQL_TAG_THAT_WE_WAITING_FOR} */ as declare c int; begin for select id from {target_obj} where id<=2 order by id DESC with lock into c do begin end end'
2025-07-02 06:41:24.305
2025-07-02 06:41:24.305                 for main_iter in (0,1):
2025-07-02 06:41:24.305
2025-07-02 06:41:24.305                     ###################################################################################
2025-07-02 06:41:24.305                     ###  H O W    M A N Y    R E S T A R T S    W E    W A N T    T O    C H E C K  ###
2025-07-02 06:41:24.305                     ###################################################################################
2025-07-02 06:41:24.305                     ROWS_TO_ADD = 10 + 1 * main_iter
2025-07-02 06:41:24.305
2025-07-02 06:41:24.305                     # Add either 12 or 14 rows, ID = 1,2, ..., 2+ROWS_TO_ADD:
2025-07-02 06:41:24.305                     sql_addi = f'''
2025-07-02 06:41:24.305                         set term ^;
2025-07-02 06:41:24.305                         execute block as
2025-07-02 06:41:24.305                         begin
2025-07-02 06:41:24.305                             rdb$set_context('USER_SESSION', 'WHO', 'INIT_DATA');
2025-07-02 06:41:24.305                         end
2025-07-02 06:41:24.305                         ^
2025-07-02 06:41:24.305                         set term ;^
2025-07-02 06:41:24.306                         insert into {target_obj}(id, x) select row_number()over(),row_number()over() from rdb$types rows (2 + {ROWS_TO_ADD}); -- <<< INITIAL DATA
2025-07-02 06:41:24.306                         commit;
2025-07-02 06:41:24.306                     '''
2025-07-02 06:41:24.306
2025-07-02 06:41:24.306                     act.isql(switches=['-q'], input = ''.join( (sql_init, sql_addi) ) )
2025-07-02 06:41:24.306                     # ::: NOTE ::: We have to immediately quit if any error raised in prepare phase.
2025-07-02 06:41:24.306                     # See also letter from dimitr, 01-feb-2022 14:46
2025-07-02 06:41:24.306                     assert act.stderr == ''
2025-07-02 06:41:24.306                     act.reset()
2025-07-02 06:41:24.306
2025-07-02 06:41:24.306                     # Get Firebird log before test
2025-07-02 06:41:24.306                     fb_log_init = act.get_firebird_log()
2025-07-02 06:41:24.306
2025-07-02 06:41:24.306                     trace_cfg_items = [
2025-07-02 06:41:24.306                         'time_threshold = 0',
2025-07-02 06:41:24.306                         'log_errors = true',
2025-07-02 06:41:24.306                         'log_statement_start = true',
2025-07-02 06:41:24.306                         'log_statement_finish = true',
2025-07-02 06:41:24.306                     ]
2025-07-02 06:41:24.306
2025-07-02 06:41:24.307                     with act.trace(db_events = trace_cfg_items, encoding=locale.getpreferredencoding()):
2025-07-02 06:41:24.307
2025-07-02 06:41:24.307                         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:41:24.307
2025-07-02 06:41:24.307                             tpb_monitoring = tpb(isolation=Isolation.READ_COMMITTED_RECORD_VERSION, lock_timeout=0)
2025-07-02 06:41:24.307                             tx_monitoring = con_monitoring.transaction_manager(tpb_monitoring)
2025-07-02 06:41:24.307                             cur_monitoring = tx_monitoring.cursor()
2025-07-02 06:41:24.307
2025-07-02 06:41:24.307                             locked_rows_map ={} # K = 0 or 1 (locker_1 and locker_2 respectively); V = ID of locked row
2025-07-02 06:41:24.307
2025-07-02 06:41:24.307                             for i,c in enumerate((con_lock_1,con_lock_2)):
2025-07-02 06:41:24.307                                 sttm = f"execute block as begin rdb$set_context('USER_SESSION', 'WHO', 'LOCKER #{i+1}'); end"
2025-07-02 06:41:24.307                                 c.execute_immediate(sttm)
2025-07-02 06:41:24.307
2025-07-02 06:41:24.307                             con_monitoring.execute_immediate("execute block as begin rdb$set_context('USER_SESSION', 'WHO', 'MONITOR'); end")
2025-07-02 06:41:24.307
2025-07-02 06:41:24.307                             #########################
2025-07-02 06:41:24.307                             ###  L O C K E R - 1  ###
2025-07-02 06:41:24.307                             #########################
2025-07-02 06:41:24.307                             locked_rows_map[ 1 ] = 1
2025-07-02 06:41:24.308                             con_lock_1.execute_immediate( f'update {target_obj} set id=id where id = {locked_rows_map[1]} /* locker-1 */' )
2025-07-02 06:41:24.308
2025-07-02 06:41:24.308                             # Run UPDATE | DELETE | MERGE | SELECT WITH LOCK  -- see {SQL_TO_BE_RESTARTED}
2025-07-02 06:41:24.308                             # Every statement ends with 'ORDER BY ID DESC' and must hang because of lockes:
2025-07-02 06:41:24.308
2025-07-02 06:41:24.308                             worker_sql = f'''
2025-07-02 06:41:24.308                                 set list on;
2025-07-02 06:41:24.308                                 set autoddl off;
2025-07-02 06:41:24.308                                 set term ^;
2025-07-02 06:41:24.308                                 execute block as
2025-07-02 06:41:24.308                                 begin
2025-07-02 06:41:24.308                                     rdb$set_context('USER_SESSION','WHO', 'WORKER');
2025-07-02 06:41:24.308                                 end
2025-07-02 06:41:24.308                                 ^
2025-07-02 06:41:24.308                                 set term ;^
2025-07-02 06:41:24.308                                 commit;
2025-07-02 06:41:24.308                                 SET KEEP_TRAN_PARAMS ON;
2025-07-02 06:41:24.308                                 set transaction read committed read consistency;
2025-07-02 06:41:24.308                                 set list off;
2025-07-02 06:41:24.308                                 set wng off;
2025-07-02 06:41:24.309
2025-07-02 06:41:24.309                                 set count on;
2025-07-02 06:41:24.309                                 set term ^;
2025-07-02 06:41:24.309                                 {SQL_TO_BE_RESTARTED}
2025-07-02 06:41:24.309                                 ^
2025-07-02 06:41:24.309                                 set term ;^
2025-07-02 06:41:24.309
2025-07-02 06:41:24.309                                 -- check results:
2025-07-02 06:41:24.309                                 -- ###############
2025-07-02 06:41:24.309                                 --set echo on;
2025-07-02 06:41:24.309                                 select id from {target_obj} order by id;
2025-07-02 06:41:24.309
2025-07-02 06:41:24.309                                 select v.old_id, v.op, v.snap_no_rank
2025-07-02 06:41:24.309                                 from v_worker_log v
2025-07-02 06:41:24.309                                 where v.op = iif( '{checked_DML}' = 'mer', 'upd', '{checked_DML}'); -- 'UPD' or 'DEL'; for 'SELECT WITH LOCK' no records will be in v_worker_log.
2025-07-02 06:41:24.309                                 --set echo off;
2025-07-02 06:41:24.309
2025-07-02 06:41:24.309                                 --set width who 10;
2025-07-02 06:41:24.309                                 -- DO NOT check this! Values can differ here from one run to another!
2025-07-02 06:41:24.310                                 -- 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:41:24.310                                 rollback;
2025-07-02 06:41:24.310
2025-07-02 06:41:24.310                             '''
2025-07-02 06:41:24.310
2025-07-02 06:41:24.310                             fn_worker_sql.write_text(worker_sql)
2025-07-02 06:41:24.310
2025-07-02 06:41:24.310                             with fn_worker_log.open(mode='w') as hang_out, fn_worker_err.open(mode='w') as hang_err:
2025-07-02 06:41:24.310
2025-07-02 06:41:24.310                                 ############################################################################
2025-07-02 06:41:24.310                                 ###  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:41:24.310                                 ############################################################################
2025-07-02 06:41:24.310                                 p_worker = subprocess.Popen([act.vars['isql'], '-i', str(fn_worker_sql),
2025-07-02 06:41:24.310                                                                '-user', act.db.user,
2025-07-02 06:41:24.310                                                                '-password', act.db.password,
2025-07-02 06:41:24.310                                                                '-pag', '999999',
2025-07-02 06:41:24.310                                                                act.db.dsn
2025-07-02 06:41:24.311                                                             ],
2025-07-02 06:41:24.311                                                               stdout = hang_out,
2025-07-02 06:41:24.311                                                               stderr = hang_err
2025-07-02 06:41:24.311                                                            )
2025-07-02 06:41:24.311
2025-07-02 06:41:24.311                                 # update ... set id = id * 100 where id <= 2 order by id DESC
2025-07-02 06:41:24.311
2025-07-02 06:41:24.311                                 # 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:41:24.311                                 # We must to ensure that this (worker) attachment has been really created and LOCKS this record:
2025-07-02 06:41:24.311                                 #
2025-07-02 06:41:24.311                                 wait_for_record_become_locked(tx_monitoring, cur_monitoring, f'update {target_obj} set /* monitor-ini */ id=id where id=2', SQL_TAG_THAT_WE_WAITING_FOR)
2025-07-02 06:41:24.311
2025-07-02 06:41:24.311                                 cur_lock_1 = con_lock_1.cursor()
2025-07-02 06:41:24.311                                 cur_lock_2 = con_lock_2.cursor()
2025-07-02 06:41:24.311                                 sttm = f'update {target_obj} set id = ? where abs( id ) = ?'
2025-07-02 06:41:24.311
2025-07-02 06:41:24.311                                 for i in range(0,ROWS_TO_ADD):
2025-07-02 06:41:24.311                                     v_id = 2 + ROWS_TO_ADD-i
2025-07-02 06:41:24.311                                     if i % 2 == 0:
2025-07-02 06:41:24.312                                         # main_iter = 0: ROWS_TO_ADD = 10 ==> v_id = 2+10-0 = 12, 2+10-2 = 10, 2+10-4 =  8, 6, 4, 2
2025-07-02 06:41:24.312                                         # main_iter = 1: ROWS_TO_ADD = 12 ==> v_id = 2+12-0 = 14, 2+10-2 = 12, 2+10-4 = 10, 8, 6, 4
2025-07-02 06:41:24.312                                         locked_rows_map[ i % 2 ] = -abs( v_id )
2025-07-02 06:41:24.312                                         cur_lock_2.execute( sttm + f"/* locker-2 lup, ini-upd, i = {i} */", ( -abs( v_id ), v_id, ) )
2025-07-02 06:41:24.312                                         con_lock_2.commit()
2025-07-02 06:41:24.312                                         cur_lock_2.execute( sttm + f"/* locker-2 lup, re-upd, i = {i} */", ( -abs( v_id ), v_id, ) )
2025-07-02 06:41:24.312                                         con_lock_1.commit() # releases ID = locked_rows_map[ 0 ]
2025-07-02 06:41:24.312                                     else:
2025-07-02 06:41:24.312                                         # main_iter = 0: ROWS_TO_ADD = 10 ==> v_id = 2+10-1 = 11, 2+10-3 =  9, 2+10-5 =  7, 5, 3, 1
2025-07-02 06:41:24.312                                         # main_iter = 1: ROWS_TO_ADD = 12 ==> v_id = 2+12-1 = 13, 2+10-3 = 11, 2+10-5 =  9, 7, 5, 3
2025-07-02 06:41:24.312                                         locked_rows_map[ i % 2 ] = -abs( v_id )
2025-07-02 06:41:24.312                                         cur_lock_1.execute( sttm + f"/* locker-1 lup, ini-upd, i = {i} */", ( -abs( v_id ), v_id, ) )
2025-07-02 06:41:24.312                                         con_lock_1.commit()
2025-07-02 06:41:24.312                                         cur_lock_1.execute( sttm + f"/* locker-1 lup, re-upd, i = {i} */", ( -abs( v_id ), v_id, ) )
2025-07-02 06:41:24.312                                         con_lock_2.commit() # releases ID = locked_rows_map[ 1 ]
2025-07-02 06:41:24.312
2025-07-02 06:41:24.312                                     # 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:41:24.312                                     # We must to ensure that this (worker) attachment has been really created and LOCKS this record:
2025-07-02 06:41:24.313                                     #
2025-07-02 06:41:24.313                                     wait_for_record_become_locked(tx_monitoring, cur_monitoring, f'update {target_obj} /* monitor lup, i={i} */ set id=id where id = {locked_rows_map[ 1 - (i % 2) ]}', SQL_TAG_THAT_WE_WAITING_FOR)
2025-07-02 06:41:24.313
2025-07-02 06:41:24.313                                 cur_monitoring.execute(f'select count(*) from {target_obj}')
2025-07-02 06:41:24.313                                 for r in cur_monitoring:
2025-07-02 06:41:24.313                                     target_obj_cnt = r[0]
2025-07-02 06:41:24.313                                     #target_obj_cnt = cur_monitoring.fetchall()[0]
2025-07-02 06:41:24.313
2025-07-02 06:41:24.313                                 if ROWS_TO_ADD % 2 == 0:
2025-07-02 06:41:24.313                                     if con_lock_2.is_active():
2025-07-02 06:41:24.313                                         con_lock_2.commit()
2025-07-02 06:41:24.313                                     con_lock_1.commit()
2025-07-02 06:41:24.313                                 else:
2025-07-02 06:41:24.313                                     if con_lock_1.is_active():
2025-07-02 06:41:24.313                                         con_lock_1.commit()
2025-07-02 06:41:24.313                                     con_lock_2.commit()
2025-07-02 06:41:24.313
2025-07-02 06:41:24.313                                 # Here we wait for ISQL complete its mission:
2025-07-02 06:41:24.313                                 p_worker.wait()
2025-07-02 06:41:24.313
2025-07-02 06:41:24.314                         #< with ... con_lock_1, ... con_lock_2
2025-07-02 06:41:24.314
2025-07-02 06:41:24.314
2025-07-02 06:41:24.314
2025-07-02 06:41:24.314                         #####################################################
2025-07-02 06:41:24.314                         ###  check content of 'TEST' and 'TLOG*' tables  ###
2025-07-02 06:41:24.314                         #####################################################
2025-07-02 06:41:24.314
2025-07-02 06:41:24.314                         print( f'checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = {main_iter}, number of added rows: {ROWS_TO_ADD}' )
2025-07-02 06:41:24.314
2025-07-02 06:41:24.314                         for g in (fn_worker_log, fn_worker_err):
2025-07-02 06:41:24.314                             logname = 'STDLOG' if g == fn_worker_log else 'STDERR'
2025-07-02 06:41:24.314                             with g.open() as f:
2025-07-02 06:41:24.314                                 for line in f:
2025-07-02 06:41:24.314                                     if line.strip():
2025-07-02 06:41:24.314                                         print( f'checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = {main_iter}, worker {logname}: {line}'  )
2025-07-02 06:41:24.314
2025-07-02 06:41:24.314                         expected_stdout_worker = f"""
2025-07-02 06:41:24.314                         """
2025-07-02 06:41:24.315                         if main_iter == 0:
2025-07-02 06:41:24.315                             if checked_DML in ('upd', 'mer'):
2025-07-02 06:41:24.315                                 expected_stdout_worker = f"""
2025-07-02 06:41:24.315                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, number of added rows: 10
2025-07-02 06:41:24.315                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 12
2025-07-02 06:41:24.315                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      ID
2025-07-02 06:41:24.315                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: =======
2025-07-02 06:41:24.315                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:   -1200
2025-07-02 06:41:24.315                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:   -1100
2025-07-02 06:41:24.315                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:   -1000
2025-07-02 06:41:24.315                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -900
2025-07-02 06:41:24.315                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -800
2025-07-02 06:41:24.315                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -700
2025-07-02 06:41:24.315                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -600
2025-07-02 06:41:24.315                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -500
2025-07-02 06:41:24.315                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -400
2025-07-02 06:41:24.315                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -300
2025-07-02 06:41:24.315                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     100
2025-07-02 06:41:24.316                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     200
2025-07-02 06:41:24.316                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 12
2025-07-02 06:41:24.316                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:  OLD_ID OP              SNAP_NO_RANK
2025-07-02 06:41:24.316                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: ======= ====== =====================
2025-07-02 06:41:24.316                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        1
2025-07-02 06:41:24.316                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        2
2025-07-02 06:41:24.316                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        2
2025-07-02 06:41:24.316                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        3
2025-07-02 06:41:24.316                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        3
2025-07-02 06:41:24.316                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        4
2025-07-02 06:41:24.316                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        4
2025-07-02 06:41:24.316                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        5
2025-07-02 06:41:24.316                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        5
2025-07-02 06:41:24.316                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        6
2025-07-02 06:41:24.316                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        6
2025-07-02 06:41:24.316                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        7
2025-07-02 06:41:24.317                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        7
2025-07-02 06:41:24.317                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        8
2025-07-02 06:41:24.317                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        8
2025-07-02 06:41:24.317                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        9
2025-07-02 06:41:24.317                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        9
2025-07-02 06:41:24.317                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                       10
2025-07-02 06:41:24.317                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                       10
2025-07-02 06:41:24.317                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                       11
2025-07-02 06:41:24.317                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                       11
2025-07-02 06:41:24.317                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -3 UPD                       11
2025-07-02 06:41:24.317                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -4 UPD                       11
2025-07-02 06:41:24.317                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -5 UPD                       11
2025-07-02 06:41:24.317                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -6 UPD                       11
2025-07-02 06:41:24.317                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -7 UPD                       11
2025-07-02 06:41:24.317                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -8 UPD                       11
2025-07-02 06:41:24.317                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -9 UPD                       11
2025-07-02 06:41:24.317                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     -10 UPD                       11
2025-07-02 06:41:24.318                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     -11 UPD                       11
2025-07-02 06:41:24.318                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     -12 UPD                       11
2025-07-02 06:41:24.318                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 31
2025-07-02 06:41:24.318                                 """
2025-07-02 06:41:24.318                             elif checked_DML == 'lok':
2025-07-02 06:41:24.318                                 expected_stdout_worker = f"""
2025-07-02 06:41:24.318                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, number of added rows: 10
2025-07-02 06:41:24.318                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: ID
2025-07-02 06:41:24.318                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: =======
2025-07-02 06:41:24.318                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -12
2025-07-02 06:41:24.318                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -11
2025-07-02 06:41:24.318                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -10
2025-07-02 06:41:24.318                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -9
2025-07-02 06:41:24.318                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -8
2025-07-02 06:41:24.318                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -7
2025-07-02 06:41:24.318                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -6
2025-07-02 06:41:24.318                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -5
2025-07-02 06:41:24.318                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -4
2025-07-02 06:41:24.318                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -3
2025-07-02 06:41:24.319                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: 1
2025-07-02 06:41:24.319                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: 2
2025-07-02 06:41:24.319                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 12
2025-07-02 06:41:24.319                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 0
2025-07-02 06:41:24.319                                 """
2025-07-02 06:41:24.319                             elif checked_DML == 'del':
2025-07-02 06:41:24.319                                 expected_stdout_worker = f"""
2025-07-02 06:41:24.319                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, number of added rows: 10
2025-07-02 06:41:24.319                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG: Records affected: 12
2025-07-02 06:41:24.319                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG: Records affected: 0
2025-07-02 06:41:24.319                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:  OLD_ID OP              SNAP_NO_RANK
2025-07-02 06:41:24.319                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG: ======= ====== =====================
2025-07-02 06:41:24.319                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        1
2025-07-02 06:41:24.319                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        2
2025-07-02 06:41:24.319                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        2
2025-07-02 06:41:24.319                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        3
2025-07-02 06:41:24.319                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        3
2025-07-02 06:41:24.320                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        4
2025-07-02 06:41:24.320                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        4
2025-07-02 06:41:24.320                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        5
2025-07-02 06:41:24.320                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        5
2025-07-02 06:41:24.320                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        6
2025-07-02 06:41:24.320                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        6
2025-07-02 06:41:24.320                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        7
2025-07-02 06:41:24.320                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        7
2025-07-02 06:41:24.320                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        8
2025-07-02 06:41:24.320                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        8
2025-07-02 06:41:24.320                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        9
2025-07-02 06:41:24.320                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        9
2025-07-02 06:41:24.320                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                       10
2025-07-02 06:41:24.320                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                       10
2025-07-02 06:41:24.320                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                       11
2025-07-02 06:41:24.320                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                       11
2025-07-02 06:41:24.320                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -3 DEL                       11
2025-07-02 06:41:24.321                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -4 DEL                       11
2025-07-02 06:41:24.321                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -5 DEL                       11
2025-07-02 06:41:24.321                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -6 DEL                       11
2025-07-02 06:41:24.321                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -7 DEL                       11
2025-07-02 06:41:24.321                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -8 DEL                       11
2025-07-02 06:41:24.321                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -9 DEL                       11
2025-07-02 06:41:24.321                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:     -10 DEL                       11
2025-07-02 06:41:24.321                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:     -11 DEL                       11
2025-07-02 06:41:24.321                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:     -12 DEL                       11
2025-07-02 06:41:24.321                                     checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG: Records affected: 31
2025-07-02 06:41:24.321                                 """
2025-07-02 06:41:24.321                         else:
2025-07-02 06:41:24.321                             if checked_DML in ('upd', 'mer'):
2025-07-02 06:41:24.321                                 expected_stdout_worker = f"""
2025-07-02 06:41:24.321                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, number of added rows: 11
2025-07-02 06:41:24.321                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 2
2025-07-02 06:41:24.321                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      ID
2025-07-02 06:41:24.321                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: =======
2025-07-02 06:41:24.322                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:     -13
2025-07-02 06:41:24.322                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:     -12
2025-07-02 06:41:24.322                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:     -11
2025-07-02 06:41:24.322                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:     -10
2025-07-02 06:41:24.322                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -9
2025-07-02 06:41:24.322                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -8
2025-07-02 06:41:24.322                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -7
2025-07-02 06:41:24.322                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -6
2025-07-02 06:41:24.322                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -5
2025-07-02 06:41:24.322                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -4
2025-07-02 06:41:24.322                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -3
2025-07-02 06:41:24.322                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1
2025-07-02 06:41:24.322                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2
2025-07-02 06:41:24.322                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 13
2025-07-02 06:41:24.322                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:  OLD_ID OP              SNAP_NO_RANK
2025-07-02 06:41:24.322                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: ======= ====== =====================
2025-07-02 06:41:24.322                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        1
2025-07-02 06:41:24.323                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        2
2025-07-02 06:41:24.323                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        2
2025-07-02 06:41:24.323                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        3
2025-07-02 06:41:24.323                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        3
2025-07-02 06:41:24.323                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        4
2025-07-02 06:41:24.323                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        4
2025-07-02 06:41:24.323                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        5
2025-07-02 06:41:24.323                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        5
2025-07-02 06:41:24.323                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        6
2025-07-02 06:41:24.323                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        6
2025-07-02 06:41:24.323                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        7
2025-07-02 06:41:24.323                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        7
2025-07-02 06:41:24.323                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        8
2025-07-02 06:41:24.323                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        8
2025-07-02 06:41:24.323                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        9
2025-07-02 06:41:24.323                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        9
2025-07-02 06:41:24.323                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                       10
2025-07-02 06:41:24.324                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                       10
2025-07-02 06:41:24.324                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                       11
2025-07-02 06:41:24.324                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                       11
2025-07-02 06:41:24.324                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 21
2025-07-02 06:41:24.324                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: Statement failed, SQLSTATE = 40001
2025-07-02 06:41:24.324                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: deadlock
2025-07-02 06:41:24.324                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: -update conflicts with concurrent update
2025-07-02 06:41:24.324                                     concurrent transaction number is
2025-07-02 06:41:24.324                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR:
2025-07-02 06:41:24.324                                 """
2025-07-02 06:41:24.324                             elif checked_DML == 'lok':
2025-07-02 06:41:24.324                                 expected_stdout_worker = f"""
2025-07-02 06:41:24.324                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, number of added rows: 11
2025-07-02 06:41:24.324                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: ID
2025-07-02 06:41:24.324                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: =======
2025-07-02 06:41:24.324                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -13
2025-07-02 06:41:24.324                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -12
2025-07-02 06:41:24.325                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -11
2025-07-02 06:41:24.325                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -10
2025-07-02 06:41:24.325                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -9
2025-07-02 06:41:24.325                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -8
2025-07-02 06:41:24.325                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -7
2025-07-02 06:41:24.325                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -6
2025-07-02 06:41:24.325                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -5
2025-07-02 06:41:24.325                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -4
2025-07-02 06:41:24.325                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -3
2025-07-02 06:41:24.325                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: 1
2025-07-02 06:41:24.325                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: 2
2025-07-02 06:41:24.325                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 13
2025-07-02 06:41:24.325                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 0
2025-07-02 06:41:24.325                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: Statement failed, SQLSTATE = 40001
2025-07-02 06:41:24.325                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: deadlock
2025-07-02 06:41:24.325                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: -update conflicts with concurrent update
2025-07-02 06:41:24.325                                     concurrent transaction number is
2025-07-02 06:41:24.325                                     checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR:
2025-07-02 06:41:24.326                                 """
2025-07-02 06:41:24.326                             elif checked_DML == 'del':
2025-07-02 06:41:24.326                                 expected_stdout_worker = f"""
2025-07-02 06:41:24.326                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, number of added rows: 11
2025-07-02 06:41:24.326                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: Records affected: 2
2025-07-02 06:41:24.326                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      ID
2025-07-02 06:41:24.326                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: =======
2025-07-02 06:41:24.326                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:     -13
2025-07-02 06:41:24.326                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:     -12
2025-07-02 06:41:24.326                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:     -11
2025-07-02 06:41:24.326                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:     -10
2025-07-02 06:41:24.326                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -9
2025-07-02 06:41:24.326                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -8
2025-07-02 06:41:24.326                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -7
2025-07-02 06:41:24.326                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -6
2025-07-02 06:41:24.326                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -5
2025-07-02 06:41:24.327                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -4
2025-07-02 06:41:24.327                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -3
2025-07-02 06:41:24.327                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1
2025-07-02 06:41:24.327                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2
2025-07-02 06:41:24.327                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: Records affected: 13
2025-07-02 06:41:24.327                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:  OLD_ID OP              SNAP_NO_RANK
2025-07-02 06:41:24.327                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: ======= ====== =====================
2025-07-02 06:41:24.327                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        1
2025-07-02 06:41:24.327                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        2
2025-07-02 06:41:24.327                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        2
2025-07-02 06:41:24.327                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        3
2025-07-02 06:41:24.327                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        3
2025-07-02 06:41:24.327                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        4
2025-07-02 06:41:24.327                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        4
2025-07-02 06:41:24.327                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        5
2025-07-02 06:41:24.327                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        5
2025-07-02 06:41:24.327                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        6
2025-07-02 06:41:24.328                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        6
2025-07-02 06:41:24.328                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        7
2025-07-02 06:41:24.328                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        7
2025-07-02 06:41:24.328                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        8
2025-07-02 06:41:24.328                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        8
2025-07-02 06:41:24.328                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        9
2025-07-02 06:41:24.328                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        9
2025-07-02 06:41:24.328                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                       10
2025-07-02 06:41:24.328                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                       10
2025-07-02 06:41:24.328                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                       11
2025-07-02 06:41:24.328                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                       11
2025-07-02 06:41:24.328                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: Records affected: 21
2025-07-02 06:41:24.328                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDERR: Statement failed, SQLSTATE = 40001
2025-07-02 06:41:24.328                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDERR: deadlock
2025-07-02 06:41:24.328                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDERR: -update conflicts with concurrent update
2025-07-02 06:41:24.328                                     concurrent transaction number is
2025-07-02 06:41:24.328                                     checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDERR:
2025-07-02 06:41:24.329                                 """
2025-07-02 06:41:24.329
2025-07-02 06:41:24.329                         act.expected_stdout = expected_stdout_worker
2025-07-02 06:41:24.329                         act.stdout = capsys.readouterr().out
2025-07-02 06:41:24.329 >                       assert act.clean_stdout == act.clean_expected_stdout
2025-07-02 06:41:24.329 E                       assert
2025-07-02 06:41:24.329 E                           checked_mode: table, checked_DML upd, iter 0, number of added rows: 10
2025-07-02 06:41:24.329 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 12
2025-07-02 06:41:24.329 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: ID
2025-07-02 06:41:24.329 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG:
2025-07-02 06:41:24.329 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1200
2025-07-02 06:41:24.329 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1100
2025-07-02 06:41:24.329 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1000
2025-07-02 06:41:24.329 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -900
2025-07-02 06:41:24.329 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -800
2025-07-02 06:41:24.329 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -700
2025-07-02 06:41:24.329 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -600
2025-07-02 06:41:24.329 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -500
2025-07-02 06:41:24.329 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -400
2025-07-02 06:41:24.330 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -300
2025-07-02 06:41:24.330 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 100
2025-07-02 06:41:24.330 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 200
2025-07-02 06:41:24.330 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 12
2025-07-02 06:41:24.330 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: OLD_ID OP SNAP_NO_RANK
2025-07-02 06:41:24.330 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG:
2025-07-02 06:41:24.330 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 1
2025-07-02 06:41:24.330 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 1
2025-07-02 06:41:24.330 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 2
2025-07-02 06:41:24.330 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 2
2025-07-02 06:41:24.330 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 2
2025-07-02 06:41:24.330 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 2
2025-07-02 06:41:24.330 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 3
2025-07-02 06:41:24.330 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 3
2025-07-02 06:41:24.331 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 3
2025-07-02 06:41:24.331 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 3
2025-07-02 06:41:24.331 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 4
2025-07-02 06:41:24.331 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 4
2025-07-02 06:41:24.331 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 4
2025-07-02 06:41:24.331 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 4
2025-07-02 06:41:24.331 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 5
2025-07-02 06:41:24.331 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 5
2025-07-02 06:41:24.331 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 5
2025-07-02 06:41:24.331 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 5
2025-07-02 06:41:24.331 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 6
2025-07-02 06:41:24.331 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 6
2025-07-02 06:41:24.331 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 6
2025-07-02 06:41:24.332 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 6
2025-07-02 06:41:24.332 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 7
2025-07-02 06:41:24.332 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 7
2025-07-02 06:41:24.332 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 7
2025-07-02 06:41:24.332 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 7
2025-07-02 06:41:24.332 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 8
2025-07-02 06:41:24.332 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 8
2025-07-02 06:41:24.332 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 8
2025-07-02 06:41:24.332 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 8
2025-07-02 06:41:24.332 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 9
2025-07-02 06:41:24.332 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 9
2025-07-02 06:41:24.332 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 9
2025-07-02 06:41:24.333 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 9
2025-07-02 06:41:24.333 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 10
2025-07-02 06:41:24.333 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 10
2025-07-02 06:41:24.333 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 10
2025-07-02 06:41:24.333 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 10
2025-07-02 06:41:24.333 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 11
2025-07-02 06:41:24.333 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 11
2025-07-02 06:41:24.333 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 11
2025-07-02 06:41:24.333 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 11
2025-07-02 06:41:24.333 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -3 UPD 11
2025-07-02 06:41:24.333 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -3UPD 11
2025-07-02 06:41:24.333 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -4 UPD 11
2025-07-02 06:41:24.334 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -4UPD 11
2025-07-02 06:41:24.334 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -5 UPD 11
2025-07-02 06:41:24.334 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -5UPD 11
2025-07-02 06:41:24.334 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -6 UPD 11
2025-07-02 06:41:24.334 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -6UPD 11
2025-07-02 06:41:24.334 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -7 UPD 11
2025-07-02 06:41:24.334 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -7UPD 11
2025-07-02 06:41:24.334 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -8 UPD 11
2025-07-02 06:41:24.334 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -8UPD 11
2025-07-02 06:41:24.334 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -9 UPD 11
2025-07-02 06:41:24.334 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -9UPD 11
2025-07-02 06:41:24.334 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -10 UPD 11
2025-07-02 06:41:24.335 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -10UPD 11
2025-07-02 06:41:24.335 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -11 UPD 11
2025-07-02 06:41:24.335 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -11UPD 11
2025-07-02 06:41:24.335 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -12 UPD 11
2025-07-02 06:41:24.335 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -12UPD 11
2025-07-02 06:41:24.335 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 31
2025-07-02 06:41:24.335
2025-07-02 06:41:24.335 tests\functional\transactions\test_read_consist_sttm_restart_max_limit.py:631: AssertionError
2025-07-02 06:41:24.335 ---------------------------- Captured stdout setup ----------------------------
2025-07-02 06:41:24.335 Creating db: localhost:H:\QA\temp\qa2024.tmp\fbqa\test_12498\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 = WindowsPath('H:/QA/temp/qa2024.tmp/fbqa/test_12498/tmp_worker.sql')
fn_worker_log = WindowsPath('H:/QA/temp/qa2024.tmp/fbqa/test_12498/tmp_worker.log')
fn_worker_err = WindowsPath('H:/QA/temp/qa2024.tmp/fbqa/test_12498/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'
    
            # NB: for 'lok' can not be used with a VIEW, error: "336397326 : WITH LOCK can be used only with a single physical table"
            for checked_DML in ('upd', 'mer', 'del', 'lok') if checked_mode == 'table' else ('upd', 'mer', 'del'):
    
                ###################################################################################################################
                ### !!! NB !!! DO NOT SPLIT QUERIES ONTO MULTIPLE LINES OTHERWISE CHECK OF TRACE CONTENT WILL FAIL (SEE BELOW)  ###
                ###################################################################################################################
                if checked_DML == 'upd':
                    SQL_TO_BE_RESTARTED = f'update /* {SQL_TAG_THAT_WE_WAITING_FOR} */ {target_obj} set id = id * 100 where id <= 2 order by id DESC'
                elif checked_DML == 'mer':
                    SQL_TO_BE_RESTARTED = f'merge /* {SQL_TAG_THAT_WE_WAITING_FOR} */ into {target_obj} t using (select x.id from {target_obj} x where x.id <= 2 order by id DESC) s on t.id = s.id when matched then update set t.id = s.id * 100'
                elif checked_DML == 'del':
                    SQL_TO_BE_RESTARTED = f'delete /* {SQL_TAG_THAT_WE_WAITING_FOR} */ from {target_obj} where id <= 2 order by id DESC'
                elif checked_DML == 'lok':
                    # ::: NB :::
                    # We must SUPRESS sending record to client for SELECT WITH LOCK, otherwise error
                    # deadlock/update conflist will raise immediately! Because of this, we  enclose
                    # such select into execute block which returns nothing:
                    #
                    SQL_TO_BE_RESTARTED = f'execute block /* {SQL_TAG_THAT_WE_WAITING_FOR} */ as declare c int; begin for select id from {target_obj} where id<=2 order by id DESC with lock into c do begin end end'
    
                for main_iter in (0,1):
    
                    ###################################################################################
                    ###  H O W    M A N Y    R E S T A R T S    W E    W A N T    T O    C H E C K  ###
                    ###################################################################################
                    ROWS_TO_ADD = 10 + 1 * main_iter
    
                    # Add either 12 or 14 rows, ID = 1,2, ..., 2+ROWS_TO_ADD:
                    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 (2 + {ROWS_TO_ADD}); -- <<< INITIAL DATA
                        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()
    
                    # Get Firebird log before test
                    fb_log_init = act.get_firebird_log()
    
                    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()
    
                            locked_rows_map ={} # K = 0 or 1 (locker_1 and locker_2 respectively); V = ID of locked row
    
                            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)
    
                            con_monitoring.execute_immediate("execute block as begin rdb$set_context('USER_SESSION', 'WHO', 'MONITOR'); end")
    
                            #########################
                            ###  L O C K E R - 1  ###
                            #########################
                            locked_rows_map[ 1 ] = 1
                            con_lock_1.execute_immediate( f'update {target_obj} set id=id where id = {locked_rows_map[1]} /* locker-1 */' )
    
                            # Run UPDATE | DELETE | MERGE | SELECT WITH LOCK  -- see {SQL_TO_BE_RESTARTED}
                            # Every statement ends with 'ORDER BY ID DESC' and must hang because of lockes:
    
                            worker_sql = f'''
                                set list on;
                                set autoddl off;
                                set term ^;
                                execute block as
                                begin
                                    rdb$set_context('USER_SESSION','WHO', 'WORKER');
                                end
                                ^
                                set term ;^
                                commit;
                                SET KEEP_TRAN_PARAMS ON;
                                set transaction read committed read consistency;
                                set list off;
                                set wng off;
    
                                set count on;
                                set term ^;
                                {SQL_TO_BE_RESTARTED}
                                ^
                                set term ;^
    
                                -- check results:
                                -- ###############
                                --set echo on;
                                select id from {target_obj} order by id;
    
                                select v.old_id, v.op, v.snap_no_rank
                                from v_worker_log v
                                where v.op = iif( '{checked_DML}' = 'mer', 'upd', '{checked_DML}'); -- 'UPD' or 'DEL'; for 'SELECT WITH LOCK' no records will be in v_worker_log.
                                --set echo off;
    
                                --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
                                                           )
    
                                # update ... set id = id * 100 where id <= 2 order by id DESC
    
                                # 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 /* monitor-ini */ id=id where id=2', SQL_TAG_THAT_WE_WAITING_FOR)
    
                                cur_lock_1 = con_lock_1.cursor()
                                cur_lock_2 = con_lock_2.cursor()
                                sttm = f'update {target_obj} set id = ? where abs( id ) = ?'
    
                                for i in range(0,ROWS_TO_ADD):
                                    v_id = 2 + ROWS_TO_ADD-i
                                    if i % 2 == 0:
                                        # main_iter = 0: ROWS_TO_ADD = 10 ==> v_id = 2+10-0 = 12, 2+10-2 = 10, 2+10-4 =  8, 6, 4, 2
                                        # main_iter = 1: ROWS_TO_ADD = 12 ==> v_id = 2+12-0 = 14, 2+10-2 = 12, 2+10-4 = 10, 8, 6, 4
                                        locked_rows_map[ i % 2 ] = -abs( v_id )
                                        cur_lock_2.execute( sttm + f"/* locker-2 lup, ini-upd, i = {i} */", ( -abs( v_id ), v_id, ) )
                                        con_lock_2.commit()
                                        cur_lock_2.execute( sttm + f"/* locker-2 lup, re-upd, i = {i} */", ( -abs( v_id ), v_id, ) )
                                        con_lock_1.commit() # releases ID = locked_rows_map[ 0 ]
                                    else:
                                        # main_iter = 0: ROWS_TO_ADD = 10 ==> v_id = 2+10-1 = 11, 2+10-3 =  9, 2+10-5 =  7, 5, 3, 1
                                        # main_iter = 1: ROWS_TO_ADD = 12 ==> v_id = 2+12-1 = 13, 2+10-3 = 11, 2+10-5 =  9, 7, 5, 3
                                        locked_rows_map[ i % 2 ] = -abs( v_id )
                                        cur_lock_1.execute( sttm + f"/* locker-1 lup, ini-upd, i = {i} */", ( -abs( v_id ), v_id, ) )
                                        con_lock_1.commit()
                                        cur_lock_1.execute( sttm + f"/* locker-1 lup, re-upd, i = {i} */", ( -abs( v_id ), v_id, ) )
                                        con_lock_2.commit() # releases ID = locked_rows_map[ 1 ]
    
                                    # 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} /* monitor lup, i={i} */ set id=id where id = {locked_rows_map[ 1 - (i % 2) ]}', SQL_TAG_THAT_WE_WAITING_FOR)
    
                                cur_monitoring.execute(f'select count(*) from {target_obj}')
                                for r in cur_monitoring:
                                    target_obj_cnt = r[0]
                                    #target_obj_cnt = cur_monitoring.fetchall()[0]
    
                                if ROWS_TO_ADD % 2 == 0:
                                    if con_lock_2.is_active():
                                        con_lock_2.commit()
                                    con_lock_1.commit()
                                else:
                                    if con_lock_1.is_active():
                                        con_lock_1.commit()
                                    con_lock_2.commit()
    
                                # Here we wait for ISQL complete its mission:
                                p_worker.wait()
    
                        #< with ... con_lock_1, ... con_lock_2
    
    
    
                        #####################################################
                        ###  check content of 'TEST' and 'TLOG*' tables  ###
                        #####################################################
    
                        print( f'checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = {main_iter}, number of added rows: {ROWS_TO_ADD}' )
    
                        for g in (fn_worker_log, fn_worker_err):
                            logname = 'STDLOG' if g == fn_worker_log else 'STDERR'
                            with g.open() as f:
                                for line in f:
                                    if line.strip():
                                        print( f'checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = {main_iter}, worker {logname}: {line}'  )
    
                        expected_stdout_worker = f"""
                        """
                        if main_iter == 0:
                            if checked_DML in ('upd', 'mer'):
                                expected_stdout_worker = f"""
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, number of added rows: 10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 12
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      ID
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: =======
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:   -1200
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:   -1100
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:   -1000
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -900
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -800
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -700
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -600
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -500
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -400
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -300
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     100
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     200
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 12
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:  OLD_ID OP              SNAP_NO_RANK
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: ======= ====== =====================
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        1
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        2
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        2
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        3
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        3
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        4
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        4
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        5
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        5
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        6
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        6
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        7
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        7
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        8
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        8
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        9
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        9
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                       10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                       10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -3 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -4 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -5 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -6 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -7 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -8 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -9 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     -10 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     -11 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     -12 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 31
                                """
                            elif checked_DML == 'lok':
                                expected_stdout_worker = f"""
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, number of added rows: 10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: ID
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: =======
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -12
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -9
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -8
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -7
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -6
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -5
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -4
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -3
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: 1
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: 2
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 12
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 0
                                """
                            elif checked_DML == 'del':
                                expected_stdout_worker = f"""
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, number of added rows: 10
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG: Records affected: 12
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG: Records affected: 0
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:  OLD_ID OP              SNAP_NO_RANK
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG: ======= ====== =====================
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        1
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        2
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        2
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        3
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        3
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        4
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        4
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        5
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        5
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        6
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        6
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        7
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        7
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        8
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        8
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        9
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        9
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                       10
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                       10
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -3 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -4 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -5 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -6 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -7 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -8 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -9 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:     -10 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:     -11 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:     -12 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG: Records affected: 31
                                """
                        else:
                            if checked_DML in ('upd', 'mer'):
                                expected_stdout_worker = f"""
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, number of added rows: 11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 2
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      ID
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: =======
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:     -13
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:     -12
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:     -11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:     -10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -9
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -8
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -7
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -6
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -5
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -4
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -3
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 13
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:  OLD_ID OP              SNAP_NO_RANK
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: ======= ====== =====================
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        1
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        2
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        2
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        3
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        3
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        4
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        4
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        5
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        5
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        6
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        6
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        7
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        7
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        8
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        8
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        9
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        9
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                       10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                       10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 21
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: Statement failed, SQLSTATE = 40001
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: deadlock
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: -update conflicts with concurrent update
                                    concurrent transaction number is
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR:
                                """
                            elif checked_DML == 'lok':
                                expected_stdout_worker = f"""
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, number of added rows: 11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: ID
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: =======
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -13
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -12
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -9
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -8
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -7
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -6
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -5
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -4
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -3
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: 1
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: 2
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 13
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 0
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: Statement failed, SQLSTATE = 40001
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: deadlock
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: -update conflicts with concurrent update
                                    concurrent transaction number is
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR:
                                """
                            elif checked_DML == 'del':
                                expected_stdout_worker = f"""
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, number of added rows: 11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: Records affected: 2
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      ID
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: =======
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:     -13
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:     -12
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:     -11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:     -10
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -9
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -8
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -7
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -6
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -5
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -4
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -3
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: Records affected: 13
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:  OLD_ID OP              SNAP_NO_RANK
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: ======= ====== =====================
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        1
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        2
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        2
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        3
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        3
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        4
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        4
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        5
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        5
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        6
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        6
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        7
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        7
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        8
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        8
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        9
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        9
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                       10
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                       10
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: Records affected: 21
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDERR: Statement failed, SQLSTATE = 40001
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDERR: deadlock
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDERR: -update conflicts with concurrent update
                                    concurrent transaction number is
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDERR:
                                """
    
                        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, checked_DML upd, iter 0, number of added rows: 10
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 12
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: ID
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG:
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1200
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1100
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1000
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -900
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -800
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -700
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -600
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -500
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -400
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -300
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 100
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 200
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 12
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: OLD_ID OP SNAP_NO_RANK
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG:
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 1
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 1
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 2
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 2
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 2
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 2
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 3
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 3
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 3
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 3
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 4
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 4
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 4
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 4
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 5
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 5
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 5
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 5
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 6
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 6
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 6
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 6
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 7
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 7
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 7
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 7
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 8
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 8
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 8
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 8
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 9
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 9
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 9
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 9
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 10
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 10
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 10
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 10
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -3 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -3UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -4 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -4UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -5 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -5UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -6 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -6UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -7 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -7UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -8 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -8UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -9 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -9UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -10 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -10UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -11 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -11UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -12 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -12UPD 11
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 31

tests\functional\transactions\test_read_consist_sttm_restart_max_limit.py:631: 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.892 2025.07.03 af84a P P 53744 41272 2025.07.03 22:13:12.595 2025.07.03 22:14:06.339 2025.07.03 20:26:50.702 2025.07.03 20:27:31.974
2 6.0.0.892 2025.07.02 10f7d P P 54274 41346 2025.07.03 03:37:06.140 2025.07.03 03:38:00.414 2025.07.03 01:48:46.271 2025.07.03 01:49:27.617
3 6.0.0.889 2025.07.02 4b4e6 P P 54195 41358 2025.07.02 11:32:34.757 2025.07.02 11:33:28.952 2025.07.02 09:47:02.843 2025.07.02 09:47:44.201
4 6.0.0.889 2025.07.01 969ac F F 4691 3201 2025.07.02 03:39:05.599 2025.07.02 03:39:10.290 2025.07.02 01:50:53.747 2025.07.02 01:50:56.948
5 6.0.0.881 2025.06.27 7035d P P 54133 41495 2025.07.01 03:32:35.963 2025.07.01 03:33:30.096 2025.07.01 01:46:51.171 2025.07.01 01:47:32.666
6 6.0.0.877 2025.06.26 8e38f P P 53199 43099 2025.06.27 03:33:25.972 2025.06.27 03:34:19.171 2025.06.27 01:47:24.718 2025.06.27 01:48:07.817
7 6.0.0.876 2025.06.25 b1bec P P 55272 41252 2025.06.26 03:38:42.168 2025.06.26 03:39:37.440 2025.06.26 01:52:39.743 2025.06.26 01:53:20.995
8 6.0.0.863 2025.06.24 c3c20 P P 54243 41413 2025.06.25 08:23:04.133 2025.06.25 08:23:58.376 2025.06.25 01:46:41.915 2025.06.25 01:47:23.328
9 6.0.0.858 2025.06.24 cbbbf P P 52417 41462 2025.06.24 18:05:22.931 2025.06.24 18:06:15.348 2025.06.24 16:18:36.535 2025.06.24 16:19:17.997
10 6.0.0.858 2025.06.23 d377c P P 56616 41740 2025.06.24 09:17:26.115 2025.06.24 09:18:22.731 2025.06.24 07:30:44.833 2025.06.24 07:31:26.573
11 6.0.0.854 2025.06.23 10b58 P P 53772 41345 2025.06.23 15:58:15.925 2025.06.23 15:59:09.697 2025.06.23 14:10:38.726 2025.06.23 14:11:20.071
12 6.0.0.849 2025.06.20 7b79c P P 53642 41412 2025.06.21 03:36:30.271 2025.06.21 03:37:23.913 2025.06.21 01:47:15.284 2025.06.21 01:47:56.696
13 6.0.0.848 2025.06.19 c483c P P 54160 41231 2025.06.20 03:36:14.352 2025.06.20 03:37:08.512 2025.06.20 01:47:00.755 2025.06.20 01:47:41.986
14 6.0.0.845 2025.06.18 20191 P P 55250 41287 2025.06.19 03:35:39.731 2025.06.19 03:36:34.981 2025.06.19 01:46:41.082 2025.06.19 01:47:22.369
15 6.0.0.843 2025.06.16 995f4 P P 57005 41398 2025.06.18 03:35:26.915 2025.06.18 03:36:23.920 2025.06.18 01:46:15.320 2025.06.18 01:46:56.718
16 6.0.0.840 2025.06.14 29bca P P 52517 41662 2025.06.15 03:46:37.690 2025.06.15 03:47:30.207 2025.06.15 01:52:19.859 2025.06.15 01:53:01.521
17 6.0.0.838 2025.06.13 0e28a P P 54629 42042 2025.06.14 03:44:48.591 2025.06.14 03:45:43.220 2025.06.14 01:50:39.684 2025.06.14 01:51:21.726
18 6.0.0.834 2025.06.11 e889f P P 52683 41375 2025.06.12 03:40:30.065 2025.06.12 03:41:22.748 2025.06.12 01:49:38.802 2025.06.12 01:50:20.177
19 6.0.0.800 2025.06.10 1f226 P P 44877 41354 2025.06.11 02:24:50.428 2025.06.11 02:25:35.305 2025.06.11 01:12:28.448 2025.06.11 01:13:09.802
20 6.0.0.799 2025.06.07 be644 P P 46075 41202 2025.06.10 02:24:41.526 2025.06.10 02:25:27.601 2025.06.10 01:11:56.527 2025.06.10 01:12:37.729
21 6.0.0.797 2025.06.06 303e8 P P 43859 41022 2025.06.07 02:23:04.882 2025.06.07 02:23:48.741 2025.06.07 01:11:25.002 2025.06.07 01:12:06.024
22 6.0.0.795 2025.05.29 7a71a P P 44638 41004 2025.06.06 02:22:31.692 2025.06.06 02:23:16.330 2025.06.06 01:11:01.124 2025.06.06 01:11:42.128
23 6.0.0.792 2025.05.28 ee5a8 P P 44871 41120 2025.05.29 02:20:42.575 2025.05.29 02:21:27.446 2025.05.29 01:10:34.580 2025.05.29 01:11:15.700
24 6.0.0.791 2025.05.27 02db8 P P 45536 41109 2025.05.28 02:21:11.646 2025.05.28 02:21:57.182 2025.05.28 01:10:33.764 2025.05.28 01:11:14.873
25 6.0.0.789 2025.05.21 64051 P P 44708 40992 2025.05.25 02:20:53.322 2025.05.25 02:21:38.030 2025.05.25 01:10:44.014 2025.05.25 01:11:25.006
26 6.0.0.787 2025.05.20 230ad P P 44666 41245 2025.05.21 02:19:46.512 2025.05.21 02:20:31.178 2025.05.21 01:09:35.431 2025.05.21 01:10:16.676
27 6.0.0.783 2025.05.12 37320 P P 44788 41082 2025.05.19 02:19:22.326 2025.05.19 02:20:07.114 2025.05.19 01:09:52.785 2025.05.19 01:10:33.867
28 6.0.0.779 2025.05.11 136fa P P 46257 41015 2025.05.12 02:21:46.903 2025.05.12 02:22:33.160 2025.05.12 01:11:06.452 2025.05.12 01:11:47.467
29 6.0.0.778 2025.05.07 d735e P P 45806 42400 2025.05.11 02:21:11.063 2025.05.11 02:21:56.869 2025.05.11 01:10:43.975 2025.05.11 01:11:26.375
30 6.0.0.776 2025.05.06 007cd P P 44518 41018 2025.05.07 02:20:28.265 2025.05.07 02:21:12.783 2025.05.07 01:10:12.482 2025.05.07 01:10:53.500
31 6.0.0.770 2025.05.05 82c4a P P 45816 41118 2025.05.06 02:20:52.469 2025.05.06 02:21:38.285 2025.05.06 01:10:50.010 2025.05.06 01:11:31.128
32 6.0.0.767 2025.05.01 cdd29 P P 43681 42572 2025.05.02 02:21:17.055 2025.05.02 02:22:00.736 2025.05.02 01:11:19.727 2025.05.02 01:12:02.299
33 6.0.0.762 2025.04.30 5cb15 P P 45109 41249 2025.05.01 02:20:00.865 2025.05.01 02:20:45.974 2025.05.01 01:10:21.785 2025.05.01 01:11:03.034
34 6.0.0.755 2025.04.29 739c6 P P 45569 41135 2025.04.30 02:19:44.143 2025.04.30 02:20:29.712 2025.04.30 01:10:15.072 2025.04.30 01:10:56.207
35 6.0.0.753 2025.04.27 29ab3 P P 46653 41002 2025.04.29 02:19:53.761 2025.04.29 02:20:40.414 2025.04.29 01:10:24.461 2025.04.29 01:11:05.463
36 6.0.0.745 2025.04.21 78ad8 P P 44158 41746 2025.04.26 02:21:47.725 2025.04.26 02:22:31.883 2025.04.26 01:10:58.420 2025.04.26 01:11:40.166
37 6.0.0.744 2025.04.19 e883a P P 44206 41582 2025.04.20 02:21:01.949 2025.04.20 02:21:46.155 2025.04.20 01:10:33.555 2025.04.20 01:11:15.137
38 6.0.0.742 2025.04.17 abc3b P P 44263 41651 2025.04.19 02:20:35.060 2025.04.19 02:21:19.323 2025.04.19 01:10:18.220 2025.04.19 01:10:59.871
39 6.0.0.737 2025.04.16 fe52b P P 44199 41664 2025.04.17 02:20:53.548 2025.04.17 02:21:37.747 2025.04.17 01:10:44.558 2025.04.17 01:11:26.222
40 6.0.0.736 2025.04.14 3e6be P P 44288 42351 2025.04.15 02:21:52.546 2025.04.15 02:22:36.834 2025.04.15 01:10:48.749 2025.04.15 01:11:31.100
41 6.0.0.735 2025.04.13 6635c P P 44290 41622 2025.04.14 02:20:52.421 2025.04.14 02:21:36.711 2025.04.14 01:11:02.481 2025.04.14 01:11:44.103
42 6.0.0.734 2025.04.12 e2fd1 P P 43536 40787 2025.04.13 02:18:20.393 2025.04.13 02:19:03.929 2025.04.13 01:09:36.971 2025.04.13 01:10:17.758
43 6.0.0.730 2025.04.11 240b8 P P 44134 41567 2025.04.12 02:28:02.607 2025.04.12 02:28:46.741 2025.04.12 01:14:12.669 2025.04.12 01:14:54.236
44 6.0.0.726 2025.04.10 d79c6 P P 44242 41590 2025.04.11 02:28:33.862 2025.04.11 02:29:18.104 2025.04.11 01:14:01.493 2025.04.11 01:14:43.083
45 6.0.0.725 2025.04.09 a2b05 P P 44572 41597 2025.04.10 02:27:26.164 2025.04.10 02:28:10.736 2025.04.10 01:13:46.399 2025.04.10 01:14:27.996
46 6.0.0.722 2025.04.08 a8b86 P P 44825 41656 2025.04.09 02:21:24.358 2025.04.09 02:22:09.183 2025.04.09 01:10:33.087 2025.04.09 01:11:14.743
47 6.0.0.719 2025.04.06 90fd9 P P 44287 41570 2025.04.08 02:21:22.082 2025.04.08 02:22:06.369 2025.04.08 01:10:56.341 2025.04.08 01:11:37.911
48 6.0.0.717 2025.04.04 53d70 P P 44214 41686 2025.04.05 02:21:21.353 2025.04.05 02:22:05.567 2025.04.05 01:10:41.679 2025.04.05 01:11:23.365
49 6.0.0.716 2025.04.03 fc636 P P 44222 41595 2025.04.04 02:21:24.558 2025.04.04 02:22:08.780 2025.04.04 01:10:56.069 2025.04.04 01:11:37.664
50 6.0.0.715 2025.04.02 907ed P P 44295 41584 2025.04.03 02:21:35.574 2025.04.03 02:22:19.869 2025.04.03 01:10:54.394 2025.04.03 01:11:35.978
51 6.0.0.710 2025.04.01 40651 P P 44238 41596 2025.04.02 02:21:25.429 2025.04.02 02:22:09.667 2025.04.02 01:11:12.153 2025.04.02 01:11:53.749
52 6.0.0.708 2025.03.31 cb069 P P 44653 41608 2025.04.01 02:20:54.868 2025.04.01 02:21:39.521 2025.04.01 01:10:22.990 2025.04.01 01:11:04.598
53 6.0.0.707 2025.03.28 4bd4f P P 44349 41610 2025.03.31 02:21:24.696 2025.03.31 02:22:09.045 2025.03.31 01:10:27.653 2025.03.31 01:11:09.263
54 6.0.0.702 2025.03.27 86f4d P E 44313 2463 2025.03.28 02:38:50.209 2025.03.28 02:39:34.522 2025.03.28 01:25:48.319 2025.03.28 01:25:50.782
55 6.0.0.698 2025.03.26 d72a7 P P 45118 42312 2025.03.27 16:05:00.128 2025.03.27 16:05:45.246 2025.03.27 14:52:13.636 2025.03.27 14:52:55.948
56 6.0.0.693 2025.03.25 8aac2 P P 45570 42800 2025.03.26 02:25:41.214 2025.03.26 02:26:26.784 2025.03.26 01:12:42.185 2025.03.26 01:13:24.985
57 6.0.0.693 2025.03.24 0b559 P P 44876 41754 2025.03.25 02:26:13.939 2025.03.25 02:26:58.815 2025.03.25 01:12:46.357 2025.03.25 01:13:28.111
58 6.0.0.687 2025.03.22 730aa P P 45055 41794 2025.03.24 02:26:03.658 2025.03.24 02:26:48.713 2025.03.24 01:13:12.506 2025.03.24 01:13:54.300
59 6.0.0.686 2025.03.20 71bf6 P P 44477 41587 2025.03.21 02:21:58.272 2025.03.21 02:22:42.749 2025.03.21 01:11:11.737 2025.03.21 01:11:53.324
60 6.0.0.685 2025.03.19 a8577 P P 44616 41577 2025.03.20 02:22:19.193 2025.03.20 02:23:03.809 2025.03.20 01:11:34.741 2025.03.20 01:12:16.318
61 6.0.0.680 2025.03.18 90d29 P P 45083 41613 2025.03.19 02:22:38.022 2025.03.19 02:23:23.105 2025.03.19 01:11:42.745 2025.03.19 01:12:24.358
62 6.0.0.677 2025.03.16 c0a60 P P 44507 41933 2025.03.18 02:18:56.345 2025.03.18 02:19:40.852 2025.03.18 01:10:00.195 2025.03.18 01:10:42.128
63 6.0.0.676 2025.03.15 11cfb P P 44339 41753 2025.03.16 02:18:16.992 2025.03.16 02:19:01.331 2025.03.16 01:09:04.051 2025.03.16 01:09:45.804
64 6.0.0.673 2025.03.13 40f5b P P 43650 42068 2025.03.14 14:47:30.005 2025.03.14 14:48:13.655 2025.03.14 13:39:23.073 2025.03.14 13:40:05.141
65 6.0.0.671 2025.03.12 a4fff P P 44983 41980 2025.03.13 02:22:50.110 2025.03.13 02:23:35.093 2025.03.13 01:11:38.377 2025.03.13 01:12:20.357
66 6.0.0.663 2025.03.11 65970 P P 44836 41742 2025.03.12 02:22:15.213 2025.03.12 02:23:00.049 2025.03.12 01:11:26.035 2025.03.12 01:12:07.777
67 6.0.0.661 2025.03.07 b9869 P P 45248 43202 2025.03.11 02:22:44.075 2025.03.11 02:23:29.323 2025.03.11 01:11:30.744 2025.03.11 01:12:13.946
68 6.0.0.660 2025.03.04 a6700 P P 45400 43312 2025.03.06 02:22:49.316 2025.03.06 02:23:34.716 2025.03.06 01:11:12.421 2025.03.06 01:11:55.733
69 6.0.0.658 2025.03.03 f15f8 P P 44697 41549 2025.03.04 02:19:10.822 2025.03.04 02:19:55.519 2025.03.04 01:10:02.062 2025.03.04 01:10:43.611
70 6.0.0.656 2025.02.27 25fb4 P P 44254 41623 2025.03.03 02:19:19.310 2025.03.03 02:20:03.564 2025.03.03 01:10:15.937 2025.03.03 01:10:57.560
71 6.0.0.655 2025.02.25 6e3e0 P P 44910 41646 2025.02.27 02:20:39.944 2025.02.27 02:21:24.854 2025.02.27 01:10:26.435 2025.02.27 01:11:08.081
72 6.0.0.654 2025.02.24 b7141 P P 45213 43164 2025.02.25 02:17:05.898 2025.02.25 02:17:51.111 2025.02.25 01:08:54.245 2025.02.25 01:09:37.409
73 6.0.0.652 2025.02.22 22662 P P 44183 41623 2025.02.24 02:16:17.093 2025.02.24 02:17:01.276 2025.02.24 01:08:13.629 2025.02.24 01:08:55.252
74 6.0.0.647 2025.02.21 9fccb P P 44269 41608 2025.02.22 02:14:59.559 2025.02.22 02:15:43.828 2025.02.22 01:07:46.167 2025.02.22 01:08:27.775
75 6.0.0.640 2025.02.19 9b8ac P P 44201 41509 2025.02.20 02:16:26.672 2025.02.20 02:17:10.873 2025.02.20 01:08:19.597 2025.02.20 01:09:01.106
76 6.0.0.639 2025.02.18 201a4 P P 45010 41835 2025.02.19 02:17:17.010 2025.02.19 02:18:02.020 2025.02.19 01:09:05.364 2025.02.19 01:09:47.199
77 6.0.0.637 2025.02.12 6d0f5 P P 44279 41575 2025.02.14 02:17:59.289 2025.02.14 02:18:43.568 2025.02.14 01:09:37.225 2025.02.14 01:10:18.800
78 6.0.0.636 2025.02.11 0424f P P 44225 42085 2025.02.12 02:17:23.927 2025.02.12 02:18:08.152 2025.02.12 01:08:58.061 2025.02.12 01:09:40.146
79 6.0.0.635 2025.02.10 f640f P P 44184 41607 2025.02.11 02:16:52.503 2025.02.11 02:17:36.687 2025.02.11 01:08:46.521 2025.02.11 01:09:28.128
80 6.0.0.629 2025.02.07 194f9 P P 44264 41684 2025.02.08 02:16:46.721 2025.02.08 02:17:30.985 2025.02.08 01:08:42.846 2025.02.08 01:09:24.530
81 6.0.0.628 2025.02.06 859d5 P P 45723 41624 2025.02.07 11:20:38.102 2025.02.07 11:21:23.825 2025.02.07 10:06:04.071 2025.02.07 10:06:45.695
82 6.0.0.621 2025.02.05 34fe7 P P 44528 41649 2025.02.07 02:30:34.563 2025.02.07 02:31:19.091 2025.02.07 01:15:47.901 2025.02.07 01:16:29.550
83 6.0.0.609 2025.02.04 76d57 P P 44214 41675 2025.02.05 02:30:16.635 2025.02.05 02:31:00.849 2025.02.05 01:15:51.408 2025.02.05 01:16:33.083
84 6.0.0.607 2025.02.03 1985b P P 44208 41631 2025.02.04 02:30:14.352 2025.02.04 02:30:58.560 2025.02.04 01:15:25.456 2025.02.04 01:16:07.087
85 6.0.0.601 2025.02.01 6af07 P P 45009 41586 2025.02.02 02:16:36.018 2025.02.02 02:17:21.027 2025.02.02 01:08:49.704 2025.02.02 01:09:31.290
86 6.0.0.600 2025.01.27 188de P P 44361 41861 2025.01.28 02:16:37.104 2025.01.28 02:17:21.465 2025.01.28 01:08:24.154 2025.01.28 01:09:06.015
87 6.0.0.599 2025.01.25 ba588 P P 44487 41704 2025.01.26 02:16:19.416 2025.01.26 02:17:03.903 2025.01.26 01:08:29.664 2025.01.26 01:09:11.368
88 6.0.0.598 2025.01.23 ddbc3 P P 44410 42186 2025.01.25 12:04:55.311 2025.01.25 12:05:39.721 2025.01.25 10:56:26.139 2025.01.25 10:57:08.325
89 6.0.0.595 2025.01.22 e62f3 P P 44434 42107 2025.01.23 02:16:47.263 2025.01.23 02:17:31.697 2025.01.23 01:08:30.164 2025.01.23 01:09:12.271
90 6.0.0.594 2025.01.21 47fb6 P P 44356 42698 2025.01.22 02:16:11.550 2025.01.22 02:16:55.906 2025.01.22 01:08:27.914 2025.01.22 01:09:10.612
91 6.0.0.590 2025.01.20 3d7c0 P P 44253 41687 2025.01.21 02:16:26.037 2025.01.21 02:17:10.290 2025.01.21 01:08:16.957 2025.01.21 01:08:58.644
92 6.0.0.588 2025.01.19 b1c4e P P 44309 41589 2025.01.20 02:15:51.349 2025.01.20 02:16:35.658 2025.01.20 01:08:13.342 2025.01.20 01:08:54.931
93 6.0.0.587 2025.01.18 63e6e P P 44644 41595 2025.01.19 02:15:39.314 2025.01.19 02:16:23.958 2025.01.19 01:08:04.545 2025.01.19 01:08:46.140
94 6.0.0.585 2025.01.16 2d6bb P P 43497 40974 2025.01.18 02:13:50.651 2025.01.18 02:14:34.148 2025.01.18 01:08:20.912 2025.01.18 01:09:01.886
95 6.0.0.584 2025.01.15 a0aa2 P P 44277 41598 2025.01.16 02:18:13.217 2025.01.16 02:18:57.494 2025.01.16 01:09:28.957 2025.01.16 01:10:10.555
96 6.0.0.581 2025.01.15 69690 P P 45539 43466 2025.01.15 18:28:04.299 2025.01.15 18:28:49.838 2025.01.15 17:18:16.197 2025.01.15 17:18:59.663
97 6.0.0.581 2025.01.14 21e9e P P 45192 42495 2025.01.15 02:17:11.950 2025.01.15 02:17:57.142 2025.01.15 01:09:16.515 2025.01.15 01:09:59.010
98 6.0.0.577 2025.01.14 91dce P P 45204 41900 2025.01.14 17:38:34.375 2025.01.14 17:39:19.579 2025.01.14 16:30:13.560 2025.01.14 16:30:55.460
99 6.0.0.577 2025.01.13 7e293 P P 44377 41572 2025.01.14 12:01:04.034 2025.01.14 12:01:48.411 2025.01.14 10:53:15.297 2025.01.14 10:53:56.869
100 6.0.0.576 2025.01.12 05898 P P 44538 43382 2025.01.13 02:18:42.376 2025.01.13 02:19:26.914 2025.01.13 01:09:25.727 2025.01.13 01:10:09.109
101 6.0.0.573 2025.01.10 c20f3 P P 44351 41692 2025.01.11 02:18:38.062 2025.01.11 02:19:22.413 2025.01.11 01:09:40.587 2025.01.11 01:10:22.279
102 6.0.0.571 2024.12.31 81bba P P 44871 41737 2025.01.01 02:17:39.373 2025.01.01 02:18:24.244 2025.01.01 01:08:56.937 2025.01.01 01:09:38.674
103 6.0.0.570 2024.12.30 c3c8d P P 44325 43104 2024.12.31 02:17:11.454 2024.12.31 02:17:55.779 2024.12.31 01:09:16.975 2024.12.31 01:10:00.079
104 6.0.0.565 2024.12.28 5fc59 P P 44693 41687 2024.12.29 18:12:35.447 2024.12.29 18:13:20.140 2024.12.29 17:04:29.413 2024.12.29 17:05:11.100
105 6.0.0.564 2024.12.26 12514 P P 44875 41585 2024.12.27 02:16:48.183 2024.12.27 02:17:33.058 2024.12.27 01:08:53.027 2024.12.27 01:09:34.612
106 6.0.0.560 2024.12.25 fa83e P P 46336 41732 2024.12.26 02:17:40.402 2024.12.26 02:18:26.738 2024.12.26 01:08:57.169 2024.12.26 01:09:38.901
107 6.0.0.559 2024.12.23 cc800 P P 44356 41787 2024.12.25 02:16:51.596 2024.12.25 02:17:35.952 2024.12.25 01:09:05.184 2024.12.25 01:09:46.971
108 6.0.0.556 2024.12.22 a0404 P P 44483 41767 2024.12.23 02:16:44.650 2024.12.23 02:17:29.133 2024.12.23 01:08:33.865 2024.12.23 01:09:15.632
109 6.0.0.555 2024.12.19 6990a P P 44441 45077 2024.12.21 13:11:36.885 2024.12.21 13:12:21.326 2024.12.21 12:02:56.175 2024.12.21 12:03:41.252
110 6.0.0.553 2024.12.17 d1f8a P P 44262 41626 2024.12.18 02:15:55.037 2024.12.18 02:16:39.299 2024.12.18 01:08:29.932 2024.12.18 01:09:11.558
111 6.0.0.552 2024.12.11 85e25 P P 44263 41622 2024.12.16 02:15:25.124 2024.12.16 02:16:09.387 2024.12.16 01:08:13.196 2024.12.16 01:08:54.818
112 6.0.0.550 2024.12.10 b37ac P P 45923 41918 2024.12.11 02:19:09.466 2024.12.11 02:19:55.389 2024.12.11 01:08:53.022 2024.12.11 01:09:34.940
113 6.0.0.548 2024.12.08 2cc77 P P 44590 41650 2024.12.09 02:20:08.126 2024.12.09 02:20:52.716 2024.12.09 01:10:34.461 2024.12.09 01:11:16.111
114 6.0.0.544 2024.12.05 96943 P P 44800 43068 2024.12.06 02:14:36.806 2024.12.06 02:15:21.606 2024.12.06 01:07:30.063 2024.12.06 01:08:13.131
115 6.0.0.543 2024.12.03 30b77 P P 44634 41767 2024.12.04 02:14:31.307 2024.12.04 02:15:15.941 2024.12.04 01:08:08.350 2024.12.04 01:08:50.117
116 6.0.0.540 2024.12.02 4a1f4 P P 45022 41701 2024.12.03 02:13:48.221 2024.12.03 02:14:33.243 2024.12.03 01:07:12.074 2024.12.03 01:07:53.775
117 6.0.0.539 2024.11.28 1f283 P P 44274 41603 2024.11.30 02:13:14.947 2024.11.30 02:13:59.221 2024.11.30 01:06:59.921 2024.11.30 01:07:41.524
118 6.0.0.535 2024.11.27 6551a P P 44769 41669 2024.11.28 02:12:02.096 2024.11.28 02:12:46.865 2024.11.28 01:06:21.035 2024.11.28 01:07:02.704
119 6.0.0.535 2024.11.26 77b95 P P 44413 42133 2024.11.27 02:12:12.978 2024.11.27 02:12:57.391 2024.11.27 01:06:37.555 2024.11.27 01:07:19.688
120 6.0.0.534 2024.11.25 e9584 P P 44629 41589 2024.11.26 02:12:28.456 2024.11.26 02:13:13.085 2024.11.26 01:06:24.242 2024.11.26 01:07:05.831
121 6.0.0.533 2024.11.17 933ac P P 44174 41667 2024.11.22 02:13:05.656 2024.11.22 02:13:49.830 2024.11.22 01:06:52.543 2024.11.22 01:07:34.210
122 6.0.0.532 2024.11.17 1a471 P P 45158 41937 2024.11.17 14:46:49.699 2024.11.17 14:47:34.857 2024.11.17 13:41:15.237 2024.11.17 13:41:57.174
123 6.0.0.532 2024.11.16 9e263 P P 45311 41531 2024.11.17 02:11:42.636 2024.11.17 02:12:27.947 2024.11.17 01:05:58.667 2024.11.17 01:06:40.198
124 6.0.0.530 2024.11.15 49804 P P 45398 42081 2024.11.16 02:09:10.873 2024.11.16 02:09:56.271 2024.11.16 01:05:54.933 2024.11.16 01:06:37.014
125 6.0.0.528 2024.11.14 9625b P P 44553 42621 2024.11.15 02:14:20.599 2024.11.15 02:15:05.152 2024.11.15 01:07:47.174 2024.11.15 01:08:29.795
126 6.0.0.526 2024.11.12 65b80 P P 45609 42982 2024.11.14 02:13:36.426 2024.11.14 02:14:22.035 2024.11.14 01:07:04.702 2024.11.14 01:07:47.684
127 6.0.0.523 2024.11.08 8ca23 P P 44790 42211 2024.11.11 02:11:43.393 2024.11.11 02:12:28.183 2024.11.11 01:06:27.630 2024.11.11 01:07:09.841
128 6.0.0.520 2024.11.08 52657 P P 43588 41089 2024.11.08 18:45:05.336 2024.11.08 18:45:48.924 2024.11.08 17:41:03.015 2024.11.08 17:41:44.104
129 6.0.0.520 2024.11.07 4eefa F F 3808 3551 2024.11.08 02:10:39.733 2024.11.08 02:10:43.541 2024.11.08 01:06:15.784 2024.11.08 01:06:19.335
130 6.0.0.516 2024.11.04 b0c36 P P 44341 42085 2024.11.05 02:11:54.327 2024.11.05 02:12:38.668 2024.11.05 01:06:14.796 2024.11.05 01:06:56.881
131 6.0.0.515 2024.10.30 d53f3 P P 44252 41804 2024.11.04 02:11:29.602 2024.11.04 02:12:13.854 2024.11.04 01:06:14.952 2024.11.04 01:06:56.756
132 6.0.0.512 2024.10.29 833ef P P 45253 41946 2024.10.30 02:14:05.205 2024.10.30 02:14:50.458 2024.10.30 01:07:34.660 2024.10.30 01:08:16.606
133 6.0.0.511 2024.10.26 c4bc9 P P 44498 41717 2024.10.29 02:13:45.097 2024.10.29 02:14:29.595 2024.10.29 01:07:06.765 2024.10.29 01:07:48.482
134 6.0.0.508 2024.10.24 a8f5b P P 45454 42978 2024.10.26 10:22:32.358 2024.10.26 10:23:17.812 2024.10.26 09:13:53.376 2024.10.26 09:14:36.354
135 6.0.0.502 2024.10.22 6bfd7 P P 44450 42816 2024.10.23 02:13:31.057 2024.10.23 02:14:15.507 2024.10.23 01:06:46.597 2024.10.23 01:07:29.413
136 6.0.0.500 2024.10.21 be565 P P 46227 42656 2024.10.22 02:13:57.201 2024.10.22 02:14:43.428 2024.10.22 01:07:01.351 2024.10.22 01:07:44.007
137 6.0.0.499 2024.10.19 6214b P P 45104 41848 2024.10.20 02:12:40.985 2024.10.20 02:13:26.089 2024.10.20 01:06:43.875 2024.10.20 01:07:25.723
138 6.0.0.498 2024.10.18 591a7 P P 45686 43909 2024.10.19 02:12:33.604 2024.10.19 02:13:19.290 2024.10.19 01:06:09.946 2024.10.19 01:06:53.855
139 6.0.0.494 2024.10.17 042ce P P 44431 41684 2024.10.18 02:12:45.493 2024.10.18 02:13:29.924 2024.10.18 01:06:39.301 2024.10.18 01:07:20.985
140 6.0.0.491 2024.10.14 dc5fb P P 44425 41643 2024.10.15 02:12:20.211 2024.10.15 02:13:04.636 2024.10.15 01:06:09.510 2024.10.15 01:06:51.153
141 6.0.0.489 2024.10.11 2ba59 P P 50289 41615 2024.10.12 02:11:49.239 2024.10.12 02:12:39.528 2024.10.12 01:05:52.261 2024.10.12 01:06:33.876
142 6.0.0.488 2024.10.09 1c93e P P 44168 42138 2024.10.10 02:11:29.097 2024.10.10 02:12:13.265 2024.10.10 01:06:14.317 2024.10.10 01:06:56.455
143 6.0.0.487 2024.10.06 065a3 P P 44739 41668 2024.10.07 02:13:05.399 2024.10.07 02:13:50.138 2024.10.07 01:06:59.195 2024.10.07 01:07:40.863
144 6.0.0.485 2024.10.05 9f5f7 P P 44178 43320 2024.10.06 02:12:41.768 2024.10.06 02:13:25.946 2024.10.06 01:06:43.908 2024.10.06 01:07:27.228
145 6.0.0.485 2024.10.04 e95c1 P P 45292 41544 2024.10.05 02:12:39.398 2024.10.05 02:13:24.690 2024.10.05 01:06:15.948 2024.10.05 01:06:57.492
146 6.0.0.483 2024.10.02 5e5ae P P 44770 43869 2024.10.03 02:13:47.879 2024.10.03 02:14:32.649 2024.10.03 01:07:09.534 2024.10.03 01:07:53.403
147 6.0.0.478 2024.09.30 b5010 P P 45337 41529 2024.10.01 02:12:52.505 2024.10.01 02:13:37.842 2024.10.01 01:06:27.857 2024.10.01 01:07:09.386
148 6.0.0.474 2024.09.26 e4efb P P 45932 41649 2024.09.30 02:12:42.814 2024.09.30 02:13:28.746 2024.09.30 01:06:25.361 2024.09.30 01:07:07.010
149 6.0.0.471 2024.09.25 dab71 P P 44842 42775 2024.09.26 02:12:19.823 2024.09.26 02:13:04.665 2024.09.26 01:06:37.097 2024.09.26 01:07:19.872
150 6.0.0.471 2024.09.24 01b51 P P 44935 41609 2024.09.25 02:13:09.806 2024.09.25 02:13:54.741 2024.09.25 01:07:00.551 2024.09.25 01:07:42.160
151 6.0.0.470 2024.09.23 77cc0 P P 44353 41635 2024.09.24 02:12:16.317 2024.09.24 02:13:00.670 2024.09.24 01:06:43.813 2024.09.24 01:07:25.448
152 6.0.0.467 2024.09.21 ea0b8 P P 44497 41641 2024.09.23 02:13:27.578 2024.09.23 02:14:12.075 2024.09.23 01:07:43.101 2024.09.23 01:08:24.742
153 6.0.0.466 2024.09.20 32dc6 P P 44386 42772 2024.09.21 02:11:42.019 2024.09.21 02:12:26.405 2024.09.21 01:06:17.619 2024.09.21 01:07:00.391
154 6.0.0.461 2024.09.17 2c895 P P 44304 41730 2024.09.18 02:11:06.875 2024.09.18 02:11:51.179 2024.09.18 01:05:33.319 2024.09.18 01:06:15.049
155 6.0.0.460 2024.09.11 3c253 P P 45873 43054 2024.09.17 02:11:16.736 2024.09.17 02:12:02.609 2024.09.17 01:05:49.459 2024.09.17 01:06:32.513
156 6.0.0.457 2024.09.09 fdc6f P P 45921 42130 2024.09.10 02:12:03.736 2024.09.10 02:12:49.657 2024.09.10 01:06:09.373 2024.09.10 01:06:51.503
157 6.0.0.455 2024.09.07 500d8 P P 44257 41644 2024.09.08 02:12:13.130 2024.09.08 02:12:57.387 2024.09.08 01:06:37.495 2024.09.08 01:07:19.139
158 6.0.0.454 2024.09.05 4d70f P P 44362 41925 2024.09.06 02:12:21.677 2024.09.06 02:13:06.039 2024.09.06 01:06:33.393 2024.09.06 01:07:15.318
159 6.0.0.452 2024.09.04 9ff9c P P 44311 41691 2024.09.05 02:11:57.347 2024.09.05 02:12:41.658 2024.09.05 01:06:08.686 2024.09.05 01:06:50.377
160 6.0.0.450 2024.09.02 27124 P P 44302 42406 2024.09.04 02:12:20.152 2024.09.04 02:13:04.454 2024.09.04 01:06:34.291 2024.09.04 01:07:16.697
161 6.0.0.447 2024.09.01 901b4 P P 44635 41853 2024.09.02 02:02:32.454 2024.09.02 02:03:17.089 2024.09.02 00:56:06.004 2024.09.02 00:56:47.857
162 6.0.0.446 2024.08.30 fe1b2 P P 44288 41894 2024.09.01 01:59:42.073 2024.09.01 02:00:26.361 2024.09.01 00:54:51.383 2024.09.01 00:55:33.277
163 6.0.0.444 2024.08.28 785d4 P P 44387 41898 2024.08.30 02:00:05.212 2024.08.30 02:00:49.599 2024.08.30 00:55:07.641 2024.08.30 00:55:49.539
164 6.0.0.442 2024.08.21 4a68f P P 44735 42460 2024.08.28 01:59:44.515 2024.08.28 02:00:29.250 2024.08.28 00:54:47.519 2024.08.28 00:55:29.979
165 6.0.0.441 2024.08.20 75042 P P 45552 41521 2024.08.21 01:59:18.065 2024.08.21 02:00:03.617 2024.08.21 00:54:04.513 2024.08.21 00:54:46.034
166 6.0.0.438 2024.08.16 088b5 P P 44557 42414 2024.08.19 02:02:28.498 2024.08.19 02:03:13.055 2024.08.19 00:55:26.903 2024.08.19 00:56:09.317
167 6.0.0.437 2024.08.14 3c88b P P 44695 42753 2024.08.16 02:05:40.432 2024.08.16 02:06:25.127 2024.08.16 00:56:30.211 2024.08.16 00:57:12.964
168 6.0.0.436 2024.08.13 b8e75 P P 45794 43516 2024.08.14 02:04:22.604 2024.08.14 02:05:08.398 2024.08.14 00:55:47.275 2024.08.14 00:56:30.791
169 6.0.0.432 2024.08.11 e82ac P P 46913 42263 2024.08.13 02:03:05.200 2024.08.13 02:03:52.113 2024.08.13 00:55:21.273 2024.08.13 00:56:03.536
170 6.0.0.431 2024.08.11 16bb1 P P 45015 42091 2024.08.11 18:08:27.644 2024.08.11 18:09:12.659 2024.08.11 17:00:23.817 2024.08.11 17:01:05.908
171 6.0.0.431 2024.08.09 de5a7 P P 44779 42041 2024.08.10 17:40:44.469 2024.08.10 17:41:29.248 2024.08.10 16:34:04.127 2024.08.10 16:34:46.168
172 6.0.0.428 2024.08.08 9191b P P 44793 41733 2024.08.10 02:01:18.297 2024.08.10 02:02:03.090 2024.08.10 00:54:42.562 2024.08.10 00:55:24.295
173 6.0.0.423 2024.08.07 33b41 P P 45350 42063 2024.08.08 09:00:46.223 2024.08.08 09:01:31.573 2024.08.08 07:54:00.199 2024.08.08 07:54:42.262
174 6.0.0.421 2024.08.06 ed60d P P 55054 48145 2024.08.07 01:55:42.428 2024.08.07 01:56:37.482 2024.08.07 00:52:47.498 2024.08.07 00:53:35.643
175 6.0.0.419 2024.08.05 3505a P P 54194 46653 2024.08.06 01:53:46.158 2024.08.06 01:54:40.352 2024.08.06 00:52:00.955 2024.08.06 00:52:47.608
176 6.0.0.409 2024.08.02 ec18f P P 48601 41615 2024.08.05 01:52:42.066 2024.08.05 01:53:30.667 2024.08.05 00:51:16.651 2024.08.05 00:51:58.266
177 6.0.0.406 2024.08.01 b20be P P 47529 42150 2024.08.02 01:51:28.644 2024.08.02 01:52:16.173 2024.08.02 00:50:36.812 2024.08.02 00:51:18.962
178 6.0.0.405 2024.07.31 a62ac P P 48201 42021 2024.08.01 01:59:38.277 2024.08.01 02:00:26.478 2024.08.01 00:57:09.315 2024.08.01 00:57:51.336
179 6.0.0.403 2024.07.29 30f03 P P 47661 42344 2024.07.30 01:54:52.570 2024.07.30 01:55:40.231 2024.07.30 00:52:24.916 2024.07.30 00:53:07.260
180 6.0.0.401 2024.07.26 24e41 P P 48340 41179 2024.07.27 01:54:22.221 2024.07.27 01:55:10.561 2024.07.27 00:51:54.751 2024.07.27 00:52:35.930
181 6.0.0.400 2024.07.24 5bb78 P P 48477 41790 2024.07.25 01:54:52.095 2024.07.25 01:55:40.572 2024.07.25 00:52:23.218 2024.07.25 00:53:05.008
182 6.0.0.398 2024.07.23 85b18 P E 47730 2432 2024.07.24 02:18:12.476 2024.07.24 02:19:00.206 2024.07.24 01:13:48.763 2024.07.24 01:13:51.195
183 6.0.0.397 2024.07.22 c734c P P 47387 41399 2024.07.23 01:54:39.652 2024.07.23 01:55:27.039 2024.07.23 00:52:09.614 2024.07.23 00:52:51.013
184 6.0.0.396 2024.07.13 cf952 P P 47746 41477 2024.07.22 01:54:50.438 2024.07.22 01:55:38.184 2024.07.22 00:52:18.644 2024.07.22 00:53:00.121
185 6.0.0.395 2024.07.10 845f4 P P 45450 40779 2024.07.13 01:54:04.265 2024.07.13 01:54:49.715 2024.07.13 00:52:48.970 2024.07.13 00:53:29.749
186 6.0.0.392 2024.07.09 ea301 P P 48128 41616 2024.07.10 02:02:17.528 2024.07.10 02:03:05.656 2024.07.10 00:54:01.657 2024.07.10 00:54:43.273
187 6.0.0.391 2024.07.08 7d50c P P 47680 41392 2024.07.09 01:58:47.705 2024.07.09 01:59:35.385 2024.07.09 00:54:16.291 2024.07.09 00:54:57.683
188 6.0.0.389 2024.07.05 cc71c P P 47485 41777 2024.07.06 01:59:23.602 2024.07.06 02:00:11.087 2024.07.06 00:54:35.066 2024.07.06 00:55:16.843
189 6.0.0.388 2024.06.30 e5700 P P 48280 41723 2024.07.01 01:59:31.621 2024.07.01 02:00:19.901 2024.07.01 00:54:36.133 2024.07.01 00:55:17.856
190 6.0.0.387 2024.06.27 7c28a P P 48840 41759 2024.06.28 01:59:10.217 2024.06.28 01:59:59.057 2024.06.28 00:54:47.739 2024.06.28 00:55:29.498
191 6.0.0.386 2024.06.23 7c57f P P 47965 41626 2024.06.24 01:54:15.207 2024.06.24 01:55:03.172 2024.06.24 00:51:56.493 2024.06.24 00:52:38.119
192 6.0.0.384 2024.06.21 24d99 P P 47413 41582 2024.06.22 01:50:51.400 2024.06.22 01:51:38.813 2024.06.22 00:50:41.867 2024.06.22 00:51:23.449
193 6.0.0.374 2024.06.13 0097d P P 48254 41968 2024.06.21 18:37:51.730 2024.06.21 18:38:39.984 2024.06.21 17:37:22.294 2024.06.21 17:38:04.262
194 6.0.0.373 2024.06.09 363f0 P P 47192 40428 2024.06.12 23:51:53.332 2024.06.12 23:52:40.524 2024.06.12 22:54:56.701 2024.06.12 22:55:37.129
195 6.0.0.372 2024.06.08 9e7f2 P P 46739 40161 2024.06.09 19:17:11.968 2024.06.09 19:17:58.707 2024.06.09 18:23:39.572 2024.06.09 18:24:19.733
196 6.0.0.368 2024.06.03 25f3e P P 47936 40907 2024.06.15 12:13:25.739 2024.06.15 12:14:13.675 2024.06.15 11:14:14.447 2024.06.15 11:14:55.354
197 6.0.0.366 2024.05.28 8e46f P P 46912 40256 2024.06.10 20:11:19.186 2024.06.10 20:12:06.098 2024.06.10 19:17:24.596 2024.06.10 19:18:04.852
198 6.0.0.363 2024.05.28 95442 P P 46755 40161 2024.06.10 16:31:25.418 2024.06.10 16:32:12.173 2024.06.10 15:37:33.999 2024.06.10 15:38:14.160
199 6.0.0.363 2024.05.28 40d0b P P 47068 40192 2024.06.10 18:24:45.529 2024.06.10 18:25:32.597 2024.06.10 17:30:57.165 2024.06.10 17:31:37.357
200 6.0.0.362 2024.05.24 ecc49 P P 47365 40380 2024.05.24 23:51:44.711 2024.05.24 23:52:32.076 2024.05.24 22:54:51.209 2024.05.24 22:55:31.589
201 6.0.0.359 2024.05.23 9cb11 P P 47193 40271 2024.05.23 23:52:22.975 2024.05.23 23:53:10.168 2024.05.23 22:55:15.944 2024.05.23 22:55:56.215
202 6.0.0.358 2024.05.21 995dd P P 48194 40271 2024.05.22 23:52:23.601 2024.05.22 23:53:11.795 2024.05.22 22:54:52.854 2024.05.22 22:55:33.125
203 6.0.0.357 2024.05.18 bf6c4 P P 47114 40114 2024.05.20 23:51:13.734 2024.05.20 23:52:00.848 2024.05.20 22:54:49.670 2024.05.20 22:55:29.784
204 6.0.0.356 2024.05.17 eab06 P P 47256 40270 2024.05.17 23:51:09.229 2024.05.17 23:51:56.485 2024.05.17 22:54:59.093 2024.05.17 22:55:39.363
205 6.0.0.355 2024.05.16 8dd6e P P 47364 40161 2024.05.16 23:51:15.398 2024.05.16 23:52:02.762 2024.05.16 22:54:46.412 2024.05.16 22:55:26.573
206 6.0.0.354 2024.05.15 d3adc P P 47241 40192 2024.05.15 23:51:21.645 2024.05.15 23:52:08.886 2024.05.15 22:55:06.455 2024.05.15 22:55:46.647
207 6.0.0.351 2024.05.14 2e3e0 P P 48318 40225 2024.05.14 23:50:43.683 2024.05.14 23:51:32.001 2024.05.14 22:54:37.244 2024.05.14 22:55:17.469
208 6.0.0.348 2024.05.08 e1ec4 P P 47398 40194 2024.05.13 23:51:11.716 2024.05.13 23:51:59.114 2024.05.13 22:54:59.438 2024.05.13 22:55:39.632
209 6.0.0.346 2024.05.07 9d7de P P 46958 40241 2024.05.07 23:51:20.802 2024.05.07 23:52:07.760 2024.05.07 22:55:08.482 2024.05.07 22:55:48.723
210 6.0.0.345 2024.05.06 154a0 P P 47083 40194 2024.05.06 23:50:55.757 2024.05.06 23:51:42.840 2024.05.06 22:54:41.269 2024.05.06 22:55:21.463
211 6.0.0.344 2024.05.02 b49d8 P P 47162 40224 2024.05.02 23:50:03.492 2024.05.02 23:50:50.654 2024.05.02 22:54:18.362 2024.05.02 22:54:58.586
212 6.0.0.342 2024.04.29 e6247 P P 47163 40099 2024.04.29 23:50:11.300 2024.04.29 23:50:58.463 2024.04.29 22:54:38.810 2024.04.29 22:55:18.909
213 6.0.0.339 2024.04.28 0bcba P P 47225 40271 2024.04.28 23:50:09.454 2024.04.28 23:50:56.679 2024.04.28 22:54:19.123 2024.04.28 22:54:59.394
214 6.0.0.336 2024.04.24 7d2ac P P 47162 40208 2024.04.26 23:50:18.286 2024.04.26 23:51:05.448 2024.04.26 22:54:20.336 2024.04.26 22:55:00.544
215 6.0.0.333 2024.04.23 85d98 P P 47178 40176 2024.04.23 23:50:48.022 2024.04.23 23:51:35.200 2024.04.23 22:54:42.537 2024.04.23 22:55:22.713
216 6.0.0.328 2024.04.22 485d0 P P 50145 40286 2024.04.22 23:50:22.603 2024.04.22 23:51:12.748 2024.04.22 22:54:19.021 2024.04.22 22:54:59.307
217 6.0.0.327 2024.04.19 eeed9 P P 47178 40239 2024.04.21 23:50:36.116 2024.04.21 23:51:23.294 2024.04.21 22:54:48.076 2024.04.21 22:55:28.315
218 6.0.0.325 2024.04.18 f5930 P P 47240 40301 2024.04.18 23:50:36.923 2024.04.18 23:51:24.163 2024.04.18 22:54:23.702 2024.04.18 22:55:04.003
219 6.0.0.324 2024.04.17 84ac9 P P 47272 40286 2024.04.17 23:51:11.455 2024.04.17 23:51:58.727 2024.04.17 22:54:38.359 2024.04.17 22:55:18.645
220 6.0.0.321 2024.04.16 eba22 P P 47178 40396 2024.04.16 23:49:36.236 2024.04.16 23:50:23.414 2024.04.16 22:54:05.652 2024.04.16 22:54:46.048
221 6.0.0.315 2024.04.15 4e80d P P 47256 40162 2024.04.15 23:50:06.091 2024.04.15 23:50:53.347 2024.04.15 22:54:24.616 2024.04.15 22:55:04.778
222 6.0.0.313 2024.04.14 b6eab P P 45864 40176 2024.04.14 23:46:06.898 2024.04.14 23:46:52.762 2024.04.14 22:54:13.692 2024.04.14 22:54:53.868
223 6.0.0.313 2024.04.12 aaf5f P P 46521 40130 2024.04.12 23:45:45.909 2024.04.12 23:46:32.430 2024.04.12 22:53:50.350 2024.04.12 22:54:30.480
224 6.0.0.312 2024.04.12 ff9f0 P P 46850 40139 2024.04.12 10:32:30.104 2024.04.12 10:33:16.954 2024.04.12 09:40:55.508 2024.04.12 09:41:35.647
225 6.0.0.312 2024.04.04 3496c P P 46521 40207 2024.04.09 23:45:32.591 2024.04.09 23:46:19.112 2024.04.09 22:54:44.344 2024.04.09 22:55:24.551
226 6.0.0.310 2024.04.03 e93f6 P P 45911 40442 2024.04.04 09:56:29.587 2024.04.04 09:57:15.498 2024.04.04 09:06:49.153 2024.04.04 09:07:29.595
227 6.0.0.308 2024.04.03 fa979 P P 45786 40474 2024.04.03 17:10:12.553 2024.04.03 17:10:58.339 2024.04.03 16:20:29.877 2024.04.03 16:21:10.351
228 6.0.0.308 2024.04.02 65562 P P 46052 40208 2024.04.03 00:50:09.244 2024.04.03 00:50:55.296 2024.04.03 00:01:22.129 2024.04.03 00:02:02.337
229 6.0.0.305 2024.04.01 8a4f6 P P 45410 40333 2024.04.02 09:02:33.682 2024.04.02 09:03:19.092 2024.04.02 08:13:42.376 2024.04.02 08:14:22.709
230 6.0.0.303 2024.03.31 ecb39 P P 46332 40206 2024.04.01 09:08:28.570 2024.04.01 09:09:14.902 2024.04.01 05:40:52.852 2024.04.01 05:41:33.058
231 6.0.0.301 2024.03.25 69d0a P P 46489 40223 2024.03.28 23:06:57.246 2024.03.28 23:07:43.735 2024.03.28 22:18:18.402 2024.03.28 22:18:58.625
232 6.0.0.299 2024.03.22 b1ba8 P P 46176 40175 2024.03.24 00:37:50.202 2024.03.24 00:38:36.378 2024.03.23 23:48:05.881 2024.03.23 23:48:46.056
233 6.0.0.295 2024.03.22 ef66a P P 45676 40332 2024.03.22 13:28:23.204 2024.03.22 13:29:08.880 2024.03.22 12:38:52.633 2024.03.22 12:39:32.965
234 6.0.0.295 2024.03.21 bf5ab P P 45426 40176 2024.03.21 22:48:33.315 2024.03.21 22:49:18.741 2024.03.21 21:58:55.631 2024.03.21 21:59:35.807
235 6.0.0.294 2024.03.20 bd00d P P 46645 40192 2024.03.21 01:51:20.657 2024.03.21 01:52:07.302 2024.03.21 01:01:49.976 2024.03.21 01:02:30.168
236 6.0.0.293 2024.03.20 fb994 P P 45833 40143 2024.03.20 18:23:41.208 2024.03.20 18:24:27.041 2024.03.20 17:34:06.787 2024.03.20 17:34:46.930

Elapsed time, ms. Chart for last 150 runs:

Last commits information (all timestamps in UTC):