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

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

LOG DETAILS:

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

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

tests\functional\transactions\test_read_consist_sttm_restart_on_update_01.py:440: 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.884 2025.07.01 44e00 F F 4301 3090 2025.07.01 14:47:34.192 2025.07.01 14:47:38.493 2025.07.01 13:00:11.530 2025.07.01 13:00:14.620
2 6.0.0.881 2025.06.27 7035d P P 8242 5860 2025.07.01 03:34:35.953 2025.07.01 03:34:44.195 2025.07.01 01:48:22.424 2025.07.01 01:48:28.284
3 6.0.0.877 2025.06.26 8e38f P P 8230 5925 2025.06.27 03:35:25.962 2025.06.27 03:35:34.192 2025.06.27 01:48:56.186 2025.06.27 01:49:02.111
4 6.0.0.876 2025.06.25 b1bec P P 8237 5882 2025.06.26 03:40:42.272 2025.06.26 03:40:50.509 2025.06.26 01:54:08.702 2025.06.26 01:54:14.584
5 6.0.0.863 2025.06.24 c3c20 P P 8208 5880 2025.06.25 08:25:04.166 2025.06.25 08:25:12.374 2025.06.25 01:48:11.402 2025.06.25 01:48:17.282
6 6.0.0.858 2025.06.24 cbbbf P P 8253 5952 2025.06.24 18:07:21.220 2025.06.24 18:07:29.473 2025.06.24 16:20:05.883 2025.06.24 16:20:11.835
7 6.0.0.858 2025.06.23 d377c P P 8254 5879 2025.06.24 09:19:26.993 2025.06.24 09:19:35.247 2025.06.24 07:32:14.737 2025.06.24 07:32:20.616
8 6.0.0.854 2025.06.23 10b58 P P 8216 5896 2025.06.23 16:00:16.386 2025.06.23 16:00:24.602 2025.06.23 14:12:07.763 2025.06.23 14:12:13.659
9 6.0.0.849 2025.06.20 7b79c P P 7463 5899 2025.06.21 03:38:31.398 2025.06.21 03:38:38.861 2025.06.21 01:48:44.400 2025.06.21 01:48:50.299
10 6.0.0.848 2025.06.19 c483c P P 8289 5864 2025.06.20 03:38:13.714 2025.06.20 03:38:22.003 2025.06.20 01:48:29.646 2025.06.20 01:48:35.510
11 6.0.0.845 2025.06.18 20191 P P 8469 5872 2025.06.19 03:37:39.245 2025.06.19 03:37:47.714 2025.06.19 01:48:10.011 2025.06.19 01:48:15.883
12 6.0.0.843 2025.06.16 995f4 P P 8191 6016 2025.06.18 03:37:30.993 2025.06.18 03:37:39.184 2025.06.18 01:47:44.443 2025.06.18 01:47:50.459
13 6.0.0.840 2025.06.14 29bca P P 7248 5881 2025.06.15 03:48:32.154 2025.06.15 03:48:39.402 2025.06.15 01:53:49.536 2025.06.15 01:53:55.417
14 6.0.0.838 2025.06.13 0e28a P P 8252 6913 2025.06.14 03:46:50.991 2025.06.14 03:46:59.243 2025.06.14 01:52:10.842 2025.06.14 01:52:17.755
15 6.0.0.834 2025.06.11 e889f P P 8239 5892 2025.06.12 03:42:28.999 2025.06.12 03:42:37.238 2025.06.12 01:51:08.932 2025.06.12 01:51:14.824
16 6.0.0.800 2025.06.10 1f226 P P 6212 5831 2025.06.11 02:26:30.752 2025.06.11 02:26:36.964 2025.06.11 01:13:57.251 2025.06.11 01:14:03.082
17 6.0.0.799 2025.06.07 be644 P P 7175 5843 2025.06.10 02:26:20.914 2025.06.10 02:26:28.089 2025.06.10 01:13:25.054 2025.06.10 01:13:30.897
18 6.0.0.797 2025.06.06 303e8 P P 7363 5817 2025.06.07 02:24:44.140 2025.06.07 02:24:51.503 2025.06.07 01:12:53.172 2025.06.07 01:12:58.989
19 6.0.0.795 2025.05.29 7a71a P P 6176 5814 2025.06.06 02:24:10.437 2025.06.06 02:24:16.613 2025.06.06 01:12:29.345 2025.06.06 01:12:35.159
20 6.0.0.792 2025.05.28 ee5a8 P P 7154 5870 2025.05.29 02:22:20.692 2025.05.29 02:22:27.846 2025.05.29 01:12:02.962 2025.05.29 01:12:08.832
21 6.0.0.791 2025.05.27 02db8 P P 6435 5866 2025.05.28 02:22:51.154 2025.05.28 02:22:57.589 2025.05.28 01:12:02.119 2025.05.28 01:12:07.985
22 6.0.0.789 2025.05.21 64051 P P 6132 5830 2025.05.25 02:22:31.215 2025.05.25 02:22:37.347 2025.05.25 01:12:12.313 2025.05.25 01:12:18.143
23 6.0.0.787 2025.05.20 230ad P P 6179 5838 2025.05.21 02:21:22.467 2025.05.21 02:21:28.646 2025.05.21 01:11:03.918 2025.05.21 01:11:09.756
24 6.0.0.783 2025.05.12 37320 P P 7155 5823 2025.05.19 02:20:58.601 2025.05.19 02:21:05.756 2025.05.19 01:11:21.173 2025.05.19 01:11:26.996
25 6.0.0.779 2025.05.11 136fa P P 7268 5846 2025.05.12 02:23:27.705 2025.05.12 02:23:34.973 2025.05.12 01:12:34.758 2025.05.12 01:12:40.604
26 6.0.0.778 2025.05.07 d735e P P 6144 5827 2025.05.11 02:22:49.165 2025.05.11 02:22:55.309 2025.05.11 01:12:15.195 2025.05.11 01:12:21.022
27 6.0.0.776 2025.05.06 007cd P P 6346 6178 2025.05.07 02:22:07.773 2025.05.07 02:22:14.119 2025.05.07 01:11:41.901 2025.05.07 01:11:48.079
28 6.0.0.770 2025.05.05 82c4a P P 6525 5831 2025.05.06 02:22:31.599 2025.05.06 02:22:38.124 2025.05.06 01:12:18.427 2025.05.06 01:12:24.258
29 6.0.0.767 2025.05.01 cdd29 P P 6206 5852 2025.05.02 02:22:53.960 2025.05.02 02:23:00.166 2025.05.02 01:12:50.318 2025.05.02 01:12:56.170
30 6.0.0.762 2025.04.30 5cb15 P P 6166 5823 2025.05.01 02:21:37.156 2025.05.01 02:21:43.322 2025.05.01 01:11:50.355 2025.05.01 01:11:56.178
31 6.0.0.755 2025.04.29 739c6 P P 6190 5822 2025.04.30 02:21:20.934 2025.04.30 02:21:27.124 2025.04.30 01:11:43.443 2025.04.30 01:11:49.265
32 6.0.0.753 2025.04.27 29ab3 P P 6176 5819 2025.04.29 02:21:35.578 2025.04.29 02:21:41.754 2025.04.29 01:11:52.629 2025.04.29 01:11:58.448
33 6.0.0.745 2025.04.21 78ad8 P P 6142 5861 2025.04.26 02:23:22.817 2025.04.26 02:23:28.959 2025.04.26 01:12:27.585 2025.04.26 01:12:33.446
34 6.0.0.744 2025.04.19 e883a P P 6171 5861 2025.04.20 02:22:37.431 2025.04.20 02:22:43.602 2025.04.20 01:12:02.641 2025.04.20 01:12:08.502
35 6.0.0.742 2025.04.17 abc3b P P 6153 5870 2025.04.19 02:22:09.582 2025.04.19 02:22:15.735 2025.04.19 01:11:47.359 2025.04.19 01:11:53.229
36 6.0.0.737 2025.04.16 fe52b P P 6182 5931 2025.04.17 02:22:28.066 2025.04.17 02:22:34.248 2025.04.17 01:12:13.914 2025.04.17 01:12:19.845
37 6.0.0.736 2025.04.14 3e6be P P 6183 5871 2025.04.15 02:23:28.325 2025.04.15 02:23:34.508 2025.04.15 01:12:18.660 2025.04.15 01:12:24.531
38 6.0.0.735 2025.04.13 6635c P P 6199 5894 2025.04.14 02:22:26.968 2025.04.14 02:22:33.167 2025.04.14 01:12:31.634 2025.04.14 01:12:37.528
39 6.0.0.734 2025.04.12 e2fd1 P P 6111 5754 2025.04.13 02:19:55.386 2025.04.13 02:20:01.497 2025.04.13 01:11:04.321 2025.04.13 01:11:10.075
40 6.0.0.730 2025.04.11 240b8 P P 6198 5859 2025.04.12 02:29:37.031 2025.04.12 02:29:43.229 2025.04.12 01:15:41.671 2025.04.12 01:15:47.530
41 6.0.0.726 2025.04.10 d79c6 P P 6150 5851 2025.04.11 02:30:08.515 2025.04.11 02:30:14.665 2025.04.11 01:15:30.587 2025.04.11 01:15:36.438
42 6.0.0.725 2025.04.09 a2b05 P P 6339 5862 2025.04.10 02:29:03.731 2025.04.10 02:29:10.070 2025.04.10 01:15:15.461 2025.04.10 01:15:21.323
43 6.0.0.722 2025.04.08 a8b86 P P 6193 5847 2025.04.09 02:23:00.913 2025.04.09 02:23:07.106 2025.04.09 01:12:02.245 2025.04.09 01:12:08.092
44 6.0.0.719 2025.04.06 90fd9 P P 7208 5874 2025.04.08 02:22:56.788 2025.04.08 02:23:03.996 2025.04.08 01:12:25.436 2025.04.08 01:12:31.310
45 6.0.0.717 2025.04.04 53d70 P P 6266 5862 2025.04.05 02:22:55.918 2025.04.05 02:23:02.184 2025.04.05 01:12:10.866 2025.04.05 01:12:16.728
46 6.0.0.716 2025.04.03 fc636 P P 6208 5889 2025.04.04 02:22:59.108 2025.04.04 02:23:05.316 2025.04.04 01:12:25.185 2025.04.04 01:12:31.074
47 6.0.0.715 2025.04.02 907ed P P 6140 5847 2025.04.03 02:23:10.279 2025.04.03 02:23:16.419 2025.04.03 01:12:23.469 2025.04.03 01:12:29.316
48 6.0.0.710 2025.04.01 40651 P P 6224 5857 2025.04.02 02:23:00.060 2025.04.02 02:23:06.284 2025.04.02 01:12:41.226 2025.04.02 01:12:47.083
49 6.0.0.708 2025.03.31 cb069 P P 6151 5874 2025.04.01 02:22:30.444 2025.04.01 02:22:36.595 2025.04.01 01:11:52.207 2025.04.01 01:11:58.081
50 6.0.0.707 2025.03.28 4bd4f P P 6216 5898 2025.03.31 02:22:59.394 2025.03.31 02:23:05.610 2025.03.31 01:11:56.768 2025.03.31 01:12:02.666
51 6.0.0.702 2025.03.27 86f4d P E 6199 2449 2025.03.28 02:40:25.028 2025.03.28 02:40:31.227 2025.03.28 01:26:09.752 2025.03.28 01:26:12.201
52 6.0.0.698 2025.03.26 d72a7 P P 6250 5887 2025.03.27 16:06:39.162 2025.03.27 16:06:45.412 2025.03.27 14:53:44.310 2025.03.27 14:53:50.197
53 6.0.0.693 2025.03.25 8aac2 P P 6247 6159 2025.03.26 02:27:19.211 2025.03.26 02:27:25.458 2025.03.26 01:14:13.330 2025.03.26 01:14:19.489
54 6.0.0.693 2025.03.24 0b559 P P 6250 5880 2025.03.25 02:27:53.564 2025.03.25 02:27:59.814 2025.03.25 01:14:15.601 2025.03.25 01:14:21.481
55 6.0.0.687 2025.03.22 730aa P P 6218 5880 2025.03.24 02:27:39.651 2025.03.24 02:27:45.869 2025.03.24 01:14:42.378 2025.03.24 01:14:48.258
56 6.0.0.686 2025.03.20 71bf6 P P 6165 5876 2025.03.21 02:23:33.216 2025.03.21 02:23:39.381 2025.03.21 01:12:40.984 2025.03.21 01:12:46.860
57 6.0.0.685 2025.03.19 a8577 P P 6137 5861 2025.03.20 02:23:54.081 2025.03.20 02:24:00.218 2025.03.20 01:13:03.823 2025.03.20 01:13:09.684
58 6.0.0.680 2025.03.18 90d29 P P 6183 5861 2025.03.19 02:24:13.421 2025.03.19 02:24:19.604 2025.03.19 01:13:11.825 2025.03.19 01:13:17.686
59 6.0.0.677 2025.03.16 c0a60 P P 6182 6877 2025.03.18 02:20:32.632 2025.03.18 02:20:38.814 2025.03.18 01:11:29.631 2025.03.18 01:11:36.508
60 6.0.0.676 2025.03.15 11cfb P P 6154 5839 2025.03.16 02:19:51.547 2025.03.16 02:19:57.701 2025.03.16 01:10:33.573 2025.03.16 01:10:39.412
61 6.0.0.673 2025.03.13 40f5b P P 6231 5844 2025.03.14 14:49:06.579 2025.03.14 14:49:12.810 2025.03.14 13:40:53.090 2025.03.14 13:40:58.934
62 6.0.0.671 2025.03.12 a4fff P P 6165 6511 2025.03.13 02:24:25.600 2025.03.13 02:24:31.765 2025.03.13 01:13:08.683 2025.03.13 01:13:15.194
63 6.0.0.663 2025.03.11 65970 P P 6288 5871 2025.03.12 02:23:52.275 2025.03.12 02:23:58.563 2025.03.12 01:12:55.311 2025.03.12 01:13:01.182
64 6.0.0.661 2025.03.07 b9869 P P 6191 6506 2025.03.11 02:24:21.810 2025.03.11 02:24:28.001 2025.03.11 01:13:02.205 2025.03.11 01:13:08.711
65 6.0.0.660 2025.03.04 a6700 P P 6231 6142 2025.03.06 02:24:29.099 2025.03.06 02:24:35.330 2025.03.06 01:12:44.943 2025.03.06 01:12:51.085
66 6.0.0.658 2025.03.03 f15f8 P P 6184 5883 2025.03.04 02:20:45.950 2025.03.04 02:20:52.134 2025.03.04 01:11:31.155 2025.03.04 01:11:37.038
67 6.0.0.656 2025.02.27 25fb4 P P 6167 5885 2025.03.03 02:20:53.878 2025.03.03 02:21:00.045 2025.03.03 01:11:45.034 2025.03.03 01:11:50.919
68 6.0.0.655 2025.02.25 6e3e0 P P 6207 5857 2025.02.27 02:22:16.931 2025.02.27 02:22:23.138 2025.02.27 01:11:55.601 2025.02.27 01:12:01.458
69 6.0.0.654 2025.02.24 b7141 P P 6326 6118 2025.02.25 02:18:42.419 2025.02.25 02:18:48.745 2025.02.25 01:10:26.328 2025.02.25 01:10:32.446
70 6.0.0.652 2025.02.22 22662 P P 6218 5876 2025.02.24 02:17:51.632 2025.02.24 02:17:57.850 2025.02.24 01:09:42.725 2025.02.24 01:09:48.601
71 6.0.0.647 2025.02.21 9fccb P P 6276 5852 2025.02.22 02:16:34.243 2025.02.22 02:16:40.519 2025.02.22 01:09:15.358 2025.02.22 01:09:21.210
72 6.0.0.640 2025.02.19 9b8ac P P 6171 5843 2025.02.20 02:18:01.192 2025.02.20 02:18:07.363 2025.02.20 01:09:48.636 2025.02.20 01:09:54.479
73 6.0.0.639 2025.02.18 201a4 P P 6266 5868 2025.02.19 02:18:55.280 2025.02.19 02:19:01.546 2025.02.19 01:10:35.362 2025.02.19 01:10:41.230
74 6.0.0.637 2025.02.12 6d0f5 P P 6178 5881 2025.02.14 02:19:34.042 2025.02.14 02:19:40.220 2025.02.14 01:11:06.373 2025.02.14 01:11:12.254
75 6.0.0.636 2025.02.11 0424f P P 6171 5909 2025.02.12 02:18:58.721 2025.02.12 02:19:04.892 2025.02.12 01:10:27.628 2025.02.12 01:10:33.537
76 6.0.0.635 2025.02.10 f640f P P 6229 5851 2025.02.11 02:18:27.129 2025.02.11 02:18:33.358 2025.02.11 01:10:15.884 2025.02.11 01:10:21.735
77 6.0.0.629 2025.02.07 194f9 P P 6200 5849 2025.02.08 02:18:21.802 2025.02.08 02:18:28.002 2025.02.08 01:10:12.198 2025.02.08 01:10:18.047
78 6.0.0.628 2025.02.06 859d5 P P 6267 5872 2025.02.07 11:22:16.437 2025.02.07 11:22:22.704 2025.02.07 10:07:33.154 2025.02.07 10:07:39.026
79 6.0.0.621 2025.02.05 34fe7 P P 6183 5845 2025.02.07 02:32:09.721 2025.02.07 02:32:15.904 2025.02.07 01:17:17.017 2025.02.07 01:17:22.862
80 6.0.0.609 2025.02.04 76d57 P P 6188 5860 2025.02.05 02:31:51.201 2025.02.05 02:31:57.389 2025.02.05 01:17:20.636 2025.02.05 01:17:26.496
81 6.0.0.607 2025.02.03 1985b P P 6173 5864 2025.02.04 02:31:48.764 2025.02.04 02:31:54.937 2025.02.04 01:16:54.600 2025.02.04 01:17:00.464
82 6.0.0.601 2025.02.01 6af07 P P 6139 6159 2025.02.02 02:18:12.831 2025.02.02 02:18:18.970 2025.02.02 01:10:19.182 2025.02.02 01:10:25.341
83 6.0.0.600 2025.01.27 188de P P 6178 5841 2025.01.28 02:18:11.805 2025.01.28 02:18:17.983 2025.01.28 01:09:55.670 2025.01.28 01:10:01.511
84 6.0.0.599 2025.01.25 ba588 P P 6171 5861 2025.01.26 02:17:55.288 2025.01.26 02:18:01.459 2025.01.26 01:09:58.932 2025.01.26 01:10:04.793
85 6.0.0.598 2025.01.23 ddbc3 P P 6158 6200 2025.01.25 12:06:30.068 2025.01.25 12:06:36.226 2025.01.25 10:57:56.342 2025.01.25 10:58:02.542
86 6.0.0.595 2025.01.22 e62f3 P P 6240 5872 2025.01.23 02:18:22.018 2025.01.23 02:18:28.258 2025.01.23 01:09:59.885 2025.01.23 01:10:05.757
87 6.0.0.594 2025.01.21 47fb6 P P 6228 5909 2025.01.22 02:17:47.317 2025.01.22 02:17:53.545 2025.01.22 01:09:58.258 2025.01.22 01:10:04.167
88 6.0.0.590 2025.01.20 3d7c0 P P 6188 5909 2025.01.21 02:18:00.474 2025.01.21 02:18:06.662 2025.01.21 01:09:46.253 2025.01.21 01:09:52.162
89 6.0.0.588 2025.01.19 b1c4e P P 6181 5876 2025.01.20 02:17:26.180 2025.01.20 02:17:32.361 2025.01.20 01:09:42.545 2025.01.20 01:09:48.421
90 6.0.0.587 2025.01.18 63e6e P P 6211 5864 2025.01.19 02:17:14.643 2025.01.19 02:17:20.854 2025.01.19 01:09:33.682 2025.01.19 01:09:39.546
91 6.0.0.585 2025.01.16 2d6bb P P 7087 5748 2025.01.18 02:15:28.571 2025.01.18 02:15:35.658 2025.01.18 01:09:48.479 2025.01.18 01:09:54.227
92 6.0.0.584 2025.01.15 a0aa2 P P 6198 5852 2025.01.16 02:19:47.736 2025.01.16 02:19:53.934 2025.01.16 01:10:58.334 2025.01.16 01:11:04.186
93 6.0.0.581 2025.01.15 69690 P P 6207 5825 2025.01.15 18:29:41.660 2025.01.15 18:29:47.867 2025.01.15 17:19:48.324 2025.01.15 17:19:54.149
94 6.0.0.581 2025.01.14 21e9e P P 6415 5895 2025.01.15 02:18:48.006 2025.01.15 02:18:54.421 2025.01.15 01:10:47.620 2025.01.15 01:10:53.515
95 6.0.0.577 2025.01.14 91dce P P 6241 5909 2025.01.14 17:40:10.864 2025.01.14 17:40:17.105 2025.01.14 16:31:43.134 2025.01.14 16:31:49.043
96 6.0.0.577 2025.01.13 7e293 P P 6146 5875 2025.01.14 12:02:38.758 2025.01.14 12:02:44.904 2025.01.14 10:54:44.404 2025.01.14 10:54:50.279
97 6.0.0.576 2025.01.12 05898 P P 6198 5919 2025.01.13 02:20:18.300 2025.01.13 02:20:24.498 2025.01.13 01:10:58.602 2025.01.13 01:11:04.521
98 6.0.0.573 2025.01.10 c20f3 P P 6230 5908 2025.01.11 02:20:12.910 2025.01.11 02:20:19.140 2025.01.11 01:11:09.848 2025.01.11 01:11:15.756
99 6.0.0.571 2024.12.31 81bba P P 6150 5861 2025.01.01 02:19:15.065 2025.01.01 02:19:21.215 2025.01.01 01:10:26.365 2025.01.01 01:10:32.226
100 6.0.0.570 2024.12.30 c3c8d P P 6179 5853 2024.12.31 02:18:46.295 2024.12.31 02:18:52.474 2024.12.31 01:10:47.884 2024.12.31 01:10:53.737
101 6.0.0.565 2024.12.28 5fc59 P P 6191 5855 2024.12.29 18:14:10.954 2024.12.29 18:14:17.145 2024.12.29 17:05:58.662 2024.12.29 17:06:04.517
102 6.0.0.564 2024.12.26 12514 P P 6193 5871 2024.12.27 02:18:23.325 2024.12.27 02:18:29.518 2024.12.27 01:10:22.233 2024.12.27 01:10:28.104
103 6.0.0.560 2024.12.25 fa83e P P 6158 5862 2024.12.26 02:19:18.902 2024.12.26 02:19:25.060 2024.12.26 01:10:26.500 2024.12.26 01:10:32.362
104 6.0.0.559 2024.12.23 cc800 P P 6168 5925 2024.12.25 02:18:26.380 2024.12.25 02:18:32.548 2024.12.25 01:10:34.491 2024.12.25 01:10:40.416
105 6.0.0.556 2024.12.22 a0404 P P 6194 5867 2024.12.23 02:18:19.617 2024.12.23 02:18:25.811 2024.12.23 01:10:03.348 2024.12.23 01:10:09.215
106 6.0.0.555 2024.12.19 6990a P P 6513 5883 2024.12.21 13:13:11.852 2024.12.21 13:13:18.365 2024.12.21 12:04:31.194 2024.12.21 12:04:37.077
107 6.0.0.553 2024.12.17 d1f8a P P 6206 5859 2024.12.18 02:17:29.617 2024.12.18 02:17:35.823 2024.12.18 01:09:59.082 2024.12.18 01:10:04.941
108 6.0.0.552 2024.12.11 85e25 P P 6152 5879 2024.12.16 02:16:59.572 2024.12.16 02:17:05.724 2024.12.16 01:09:42.404 2024.12.16 01:09:48.283
109 6.0.0.550 2024.12.10 b37ac P P 6657 5948 2024.12.11 02:20:46.947 2024.12.11 02:20:53.604 2024.12.11 01:10:22.688 2024.12.11 01:10:28.636
110 6.0.0.548 2024.12.08 2cc77 P P 6220 7140 2024.12.09 02:21:44.549 2024.12.09 02:21:50.769 2024.12.09 01:12:04.198 2024.12.09 01:12:11.338
111 6.0.0.544 2024.12.05 96943 P P 6196 5894 2024.12.06 02:16:12.205 2024.12.06 02:16:18.401 2024.12.06 01:09:02.803 2024.12.06 01:09:08.697
112 6.0.0.543 2024.12.03 30b77 P P 6221 5908 2024.12.04 02:16:07.188 2024.12.04 02:16:13.409 2024.12.04 01:09:37.789 2024.12.04 01:09:43.697
113 6.0.0.540 2024.12.02 4a1f4 P P 6172 5872 2024.12.03 02:15:24.252 2024.12.03 02:15:30.424 2024.12.03 01:08:41.686 2024.12.03 01:08:47.558
114 6.0.0.539 2024.11.28 1f283 P P 6157 6334 2024.11.30 02:14:49.647 2024.11.30 02:14:55.804 2024.11.30 01:08:29.506 2024.11.30 01:08:35.840
115 6.0.0.535 2024.11.27 6551a P P 6230 5862 2024.11.28 02:13:39.023 2024.11.28 02:13:45.253 2024.11.28 01:07:50.210 2024.11.28 01:07:56.072
116 6.0.0.535 2024.11.26 77b95 P P 6167 5904 2024.11.27 02:13:47.767 2024.11.27 02:13:53.934 2024.11.27 01:08:07.221 2024.11.27 01:08:13.125
117 6.0.0.534 2024.11.25 e9584 P P 6273 5871 2024.11.26 02:14:04.344 2024.11.26 02:14:10.617 2024.11.26 01:07:53.343 2024.11.26 01:07:59.214
118 6.0.0.533 2024.11.17 933ac P P 6193 6121 2024.11.22 02:14:40.148 2024.11.22 02:14:46.341 2024.11.22 01:08:22.897 2024.11.22 01:08:29.018
119 6.0.0.532 2024.11.17 1a471 P P 6223 5913 2024.11.17 14:48:24.693 2024.11.17 14:48:30.916 2024.11.17 13:42:42.675 2024.11.17 13:42:48.588
120 6.0.0.532 2024.11.16 9e263 P P 6771 5836 2024.11.17 02:13:16.667 2024.11.17 02:13:23.438 2024.11.17 01:07:24.934 2024.11.17 01:07:30.770
121 6.0.0.530 2024.11.15 49804 P P 7401 5765 2024.11.16 02:10:46.851 2024.11.16 02:10:54.252 2024.11.16 01:07:21.811 2024.11.16 01:07:27.576
122 6.0.0.528 2024.11.14 9625b P P 6226 5882 2024.11.15 02:15:52.675 2024.11.15 02:15:58.901 2024.11.15 01:09:15.697 2024.11.15 01:09:21.579
123 6.0.0.526 2024.11.12 65b80 P P 6764 5879 2024.11.14 02:15:14.020 2024.11.14 02:15:20.784 2024.11.14 01:08:35.537 2024.11.14 01:08:41.416
124 6.0.0.523 2024.11.08 8ca23 P P 6226 5867 2024.11.11 02:13:18.707 2024.11.11 02:13:24.933 2024.11.11 01:07:57.337 2024.11.11 01:08:03.204
125 6.0.0.520 2024.11.08 52657 P P 6119 5818 2024.11.08 18:46:40.792 2024.11.08 18:46:46.911 2024.11.08 17:42:31.600 2024.11.08 17:42:37.418
126 6.0.0.520 2024.11.07 4eefa F F 3662 3588 2024.11.08 02:11:13.590 2024.11.08 02:11:17.252 2024.11.08 01:06:47.101 2024.11.08 01:06:50.689
127 6.0.0.516 2024.11.04 b0c36 P P 6186 7942 2024.11.05 02:13:29.422 2024.11.05 02:13:35.608 2024.11.05 01:07:45.665 2024.11.05 01:07:53.607
128 6.0.0.515 2024.10.30 d53f3 P P 6252 5852 2024.11.04 02:13:04.341 2024.11.04 02:13:10.593 2024.11.04 01:07:44.393 2024.11.04 01:07:50.245
129 6.0.0.512 2024.10.29 833ef P P 8739 5904 2024.10.30 02:15:58.199 2024.10.30 02:16:06.938 2024.10.30 01:09:04.235 2024.10.30 01:09:10.139
130 6.0.0.511 2024.10.26 c4bc9 P P 6208 5878 2024.10.29 02:15:20.208 2024.10.29 02:15:26.416 2024.10.29 01:08:36.082 2024.10.29 01:08:41.960
131 6.0.0.508 2024.10.24 a8f5b P P 6236 6504 2024.10.26 10:24:11.462 2024.10.26 10:24:17.698 2024.10.26 09:15:25.099 2024.10.26 09:15:31.603
132 6.0.0.502 2024.10.22 6bfd7 P P 6249 6117 2024.10.23 02:15:05.966 2024.10.23 02:15:12.215 2024.10.23 01:08:17.795 2024.10.23 01:08:23.912
133 6.0.0.500 2024.10.21 be565 P P 6346 6880 2024.10.22 02:15:34.226 2024.10.22 02:15:40.572 2024.10.22 01:08:34.221 2024.10.22 01:08:41.101
134 6.0.0.499 2024.10.19 6214b P P 6211 5862 2024.10.20 02:14:16.600 2024.10.20 02:14:22.811 2024.10.20 01:08:13.306 2024.10.20 01:08:19.168
135 6.0.0.498 2024.10.18 591a7 P P 6267 5950 2024.10.19 02:14:11.902 2024.10.19 02:14:18.169 2024.10.19 01:07:41.541 2024.10.19 01:07:47.491
136 6.0.0.494 2024.10.17 042ce P P 6175 5916 2024.10.18 02:14:21.551 2024.10.18 02:14:27.726 2024.10.18 01:08:10.166 2024.10.18 01:08:16.082
137 6.0.0.491 2024.10.14 dc5fb P P 6152 5861 2024.10.15 02:13:55.084 2024.10.15 02:14:01.236 2024.10.15 01:07:38.777 2024.10.15 01:07:44.638
138 6.0.0.489 2024.10.11 2ba59 P P 7250 5880 2024.10.12 02:13:53.505 2024.10.12 02:14:00.755 2024.10.12 01:07:21.401 2024.10.12 01:07:27.281
139 6.0.0.488 2024.10.09 1c93e P P 6166 5916 2024.10.10 02:13:03.396 2024.10.10 02:13:09.562 2024.10.10 01:07:44.110 2024.10.10 01:07:50.026
140 6.0.0.487 2024.10.06 065a3 P P 6504 5867 2024.10.07 02:14:41.701 2024.10.07 02:14:48.205 2024.10.07 01:08:28.476 2024.10.07 01:08:34.343
141 6.0.0.485 2024.10.05 9f5f7 P P 6180 5907 2024.10.06 02:14:16.378 2024.10.06 02:14:22.558 2024.10.06 01:08:16.607 2024.10.06 01:08:22.514
142 6.0.0.485 2024.10.04 e95c1 P P 6627 5877 2024.10.05 02:14:15.955 2024.10.05 02:14:22.582 2024.10.05 01:07:45.109 2024.10.05 01:07:50.986
143 6.0.0.483 2024.10.02 5e5ae P P 7195 5897 2024.10.03 02:15:22.943 2024.10.03 02:15:30.138 2024.10.03 01:08:42.522 2024.10.03 01:08:48.419
144 6.0.0.478 2024.09.30 b5010 P P 6346 5892 2024.10.01 02:14:29.258 2024.10.01 02:14:35.604 2024.10.01 01:07:56.952 2024.10.01 01:08:02.844
145 6.0.0.474 2024.09.26 e4efb P P 6708 5866 2024.09.30 02:14:20.598 2024.09.30 02:14:27.306 2024.09.30 01:07:54.655 2024.09.30 01:08:00.521
146 6.0.0.471 2024.09.25 dab71 P P 7215 5893 2024.09.26 02:13:55.279 2024.09.26 02:14:02.494 2024.09.26 01:08:07.678 2024.09.26 01:08:13.571
147 6.0.0.471 2024.09.24 01b51 P P 6605 5871 2024.09.25 02:14:46.667 2024.09.25 02:14:53.272 2024.09.25 01:08:29.820 2024.09.25 01:08:35.691
148 6.0.0.470 2024.09.23 77cc0 P P 6183 5856 2024.09.24 02:13:51.011 2024.09.24 02:13:57.194 2024.09.24 01:08:12.980 2024.09.24 01:08:18.836
149 6.0.0.467 2024.09.21 ea0b8 P P 6192 5948 2024.09.23 02:15:02.748 2024.09.23 02:15:08.940 2024.09.23 01:09:14.615 2024.09.23 01:09:20.563
150 6.0.0.466 2024.09.20 32dc6 P P 6154 5899 2024.09.21 02:13:16.709 2024.09.21 02:13:22.863 2024.09.21 01:07:47.949 2024.09.21 01:07:53.848
151 6.0.0.461 2024.09.17 2c895 P P 6210 5888 2024.09.18 02:12:41.668 2024.09.18 02:12:47.878 2024.09.18 01:07:02.986 2024.09.18 01:07:08.874
152 6.0.0.460 2024.09.11 3c253 P P 6279 5892 2024.09.17 02:12:55.527 2024.09.17 02:13:01.806 2024.09.17 01:07:20.420 2024.09.17 01:07:26.312
153 6.0.0.457 2024.09.09 fdc6f P P 6225 5883 2024.09.10 02:13:40.260 2024.09.10 02:13:46.485 2024.09.10 01:07:39.556 2024.09.10 01:07:45.439
154 6.0.0.455 2024.09.07 500d8 P P 6241 5893 2024.09.08 02:13:48.103 2024.09.08 02:13:54.344 2024.09.08 01:08:06.638 2024.09.08 01:08:12.531
155 6.0.0.454 2024.09.05 4d70f P P 6172 5889 2024.09.06 02:13:56.613 2024.09.06 02:14:02.785 2024.09.06 01:08:05.614 2024.09.06 01:08:11.503
156 6.0.0.452 2024.09.04 9ff9c P P 6224 5890 2024.09.05 02:13:32.220 2024.09.05 02:13:38.444 2024.09.05 01:07:37.956 2024.09.05 01:07:43.846
157 6.0.0.450 2024.09.02 27124 P P 6212 5902 2024.09.04 02:13:54.917 2024.09.04 02:14:01.129 2024.09.04 01:08:05.592 2024.09.04 01:08:11.494
158 6.0.0.447 2024.09.01 901b4 P P 6705 5857 2024.09.02 02:04:07.661 2024.09.02 02:04:14.366 2024.09.02 00:57:35.486 2024.09.02 00:57:41.343
159 6.0.0.446 2024.08.30 fe1b2 P P 6261 5875 2024.09.01 02:01:16.837 2024.09.01 02:01:23.098 2024.09.01 00:56:21.964 2024.09.01 00:56:27.839
160 6.0.0.444 2024.08.28 785d4 P P 6209 5880 2024.08.30 02:01:41.119 2024.08.30 02:01:47.328 2024.08.30 00:56:37.063 2024.08.30 00:56:42.943
161 6.0.0.442 2024.08.21 4a68f P P 6221 6229 2024.08.28 02:01:20.269 2024.08.28 02:01:26.490 2024.08.28 00:56:19.029 2024.08.28 00:56:25.258
162 6.0.0.441 2024.08.20 75042 P P 8276 5841 2024.08.21 02:01:08.487 2024.08.21 02:01:16.763 2024.08.21 00:55:33.565 2024.08.21 00:55:39.406
163 6.0.0.438 2024.08.16 088b5 P P 8235 5920 2024.08.19 02:04:17.314 2024.08.19 02:04:25.549 2024.08.19 00:56:58.261 2024.08.19 00:57:04.181
164 6.0.0.437 2024.08.14 3c88b P P 8286 5893 2024.08.16 02:07:29.880 2024.08.16 02:07:38.166 2024.08.16 00:58:02.076 2024.08.16 00:58:07.969
165 6.0.0.436 2024.08.13 b8e75 P P 7563 5916 2024.08.14 02:06:15.272 2024.08.14 02:06:22.835 2024.08.14 00:57:20.398 2024.08.14 00:57:26.314
166 6.0.0.432 2024.08.11 e82ac P P 8363 5922 2024.08.13 02:05:00.098 2024.08.13 02:05:08.461 2024.08.13 00:56:54.932 2024.08.13 00:57:00.854
167 6.0.0.431 2024.08.11 16bb1 P P 7330 5899 2024.08.11 18:10:19.283 2024.08.11 18:10:26.613 2024.08.11 17:01:53.842 2024.08.11 17:01:59.741
168 6.0.0.431 2024.08.09 de5a7 P P 8245 5913 2024.08.10 17:42:34.881 2024.08.10 17:42:43.126 2024.08.10 16:35:34.994 2024.08.10 16:35:40.907
169 6.0.0.428 2024.08.08 9191b P P 8254 5927 2024.08.10 02:03:08.857 2024.08.10 02:03:17.111 2024.08.10 00:56:12.531 2024.08.10 00:56:18.458
170 6.0.0.423 2024.08.07 33b41 P P 7372 5907 2024.08.08 09:02:38.263 2024.08.08 09:02:45.635 2024.08.08 07:55:30.133 2024.08.08 07:55:36.040
171 6.0.0.421 2024.08.06 ed60d P P 7470 6338 2024.08.07 01:57:41.897 2024.08.07 01:57:49.367 2024.08.07 00:54:24.563 2024.08.07 00:54:30.901
172 6.0.0.419 2024.08.05 3505a P P 6695 5795 2024.08.06 01:55:35.724 2024.08.06 01:55:42.419 2024.08.06 00:53:35.069 2024.08.06 00:53:40.864
173 6.0.0.409 2024.08.02 ec18f P P 6621 5827 2024.08.05 01:54:25.480 2024.08.05 01:54:32.101 2024.08.05 00:52:45.352 2024.08.05 00:52:51.179
174 6.0.0.406 2024.08.01 b20be P P 6653 5823 2024.08.02 01:53:10.949 2024.08.02 01:53:17.602 2024.08.02 00:52:06.975 2024.08.02 00:52:12.798
175 6.0.0.405 2024.07.31 a62ac P P 6729 5927 2024.08.01 02:01:21.254 2024.08.01 02:01:27.983 2024.08.01 00:58:39.603 2024.08.01 00:58:45.530
176 6.0.0.403 2024.07.29 30f03 P P 6697 5791 2024.07.30 01:56:35.549 2024.07.30 01:56:42.246 2024.07.30 00:53:54.576 2024.07.30 00:54:00.367
177 6.0.0.401 2024.07.26 24e41 P P 6680 5938 2024.07.27 01:56:05.177 2024.07.27 01:56:11.857 2024.07.27 00:53:23.304 2024.07.27 00:53:29.242
178 6.0.0.400 2024.07.24 5bb78 P P 6704 6060 2024.07.25 01:56:35.425 2024.07.25 01:56:42.129 2024.07.25 00:53:52.380 2024.07.25 00:53:58.440
179 6.0.0.398 2024.07.23 85b18 P E 6692 2428 2024.07.24 02:19:55.114 2024.07.24 02:20:01.806 2024.07.24 01:14:09.906 2024.07.24 01:14:12.334
180 6.0.0.397 2024.07.22 c734c P P 6688 5825 2024.07.23 01:56:21.588 2024.07.23 01:56:28.276 2024.07.23 00:53:37.944 2024.07.23 00:53:43.769
181 6.0.0.396 2024.07.13 cf952 P P 6689 5810 2024.07.22 01:56:32.897 2024.07.22 01:56:39.586 2024.07.22 00:53:47.548 2024.07.22 00:53:53.358
182 6.0.0.395 2024.07.10 845f4 P P 6646 5669 2024.07.13 01:55:43.477 2024.07.13 01:55:50.123 2024.07.13 00:54:15.856 2024.07.13 00:54:21.525
183 6.0.0.392 2024.07.09 ea301 P P 6671 5817 2024.07.10 02:03:59.880 2024.07.10 02:04:06.551 2024.07.10 00:55:30.298 2024.07.10 00:55:36.115
184 6.0.0.391 2024.07.08 7d50c P P 6657 5776 2024.07.09 02:00:29.803 2024.07.09 02:00:36.460 2024.07.09 00:55:44.651 2024.07.09 00:55:50.427
185 6.0.0.389 2024.07.05 cc71c P P 6683 5787 2024.07.06 02:01:05.442 2024.07.06 02:01:12.125 2024.07.06 00:56:03.879 2024.07.06 00:56:09.666
186 6.0.0.388 2024.06.30 e5700 P P 6694 5793 2024.07.01 02:01:14.674 2024.07.01 02:01:21.368 2024.07.01 00:56:05.202 2024.07.01 00:56:10.995
187 6.0.0.387 2024.06.27 7c28a P P 6595 5829 2024.06.28 02:00:53.658 2024.06.28 02:01:00.253 2024.06.28 00:56:16.490 2024.06.28 00:56:22.319
188 6.0.0.386 2024.06.23 7c57f P P 6707 5839 2024.06.24 01:55:57.271 2024.06.24 01:56:03.978 2024.06.24 00:53:25.509 2024.06.24 00:53:31.348
189 6.0.0.384 2024.06.21 24d99 P P 6628 5815 2024.06.22 01:52:33.036 2024.06.22 01:52:39.664 2024.06.22 00:52:10.619 2024.06.22 00:52:16.434
190 6.0.0.374 2024.06.13 0097d P P 6809 5821 2024.06.21 18:39:34.511 2024.06.21 18:39:41.320 2024.06.21 17:38:51.475 2024.06.21 17:38:57.296
191 6.0.0.373 2024.06.09 363f0 P P 6501 5563 2024.06.12 23:53:33.311 2024.06.12 23:53:39.812 2024.06.12 22:56:22.136 2024.06.12 22:56:27.699
192 6.0.0.372 2024.06.08 9e7f2 P P 6391 5579 2024.06.09 19:18:50.713 2024.06.09 19:18:57.104 2024.06.09 18:25:04.738 2024.06.09 18:25:10.317
193 6.0.0.368 2024.06.03 25f3e P P 6695 5704 2024.06.15 12:15:07.750 2024.06.15 12:15:14.445 2024.06.15 11:15:41.538 2024.06.15 11:15:47.242
194 6.0.0.366 2024.05.28 8e46f P P 6454 5564 2024.06.10 20:12:58.293 2024.06.10 20:13:04.747 2024.06.10 19:18:49.889 2024.06.10 19:18:55.453
195 6.0.0.363 2024.05.28 95442 P P 6407 5563 2024.06.10 16:33:04.257 2024.06.10 16:33:10.664 2024.06.10 15:38:59.119 2024.06.10 15:39:04.682
196 6.0.0.363 2024.05.28 40d0b P P 6438 5563 2024.06.10 18:26:24.744 2024.06.10 18:26:31.182 2024.06.10 17:32:22.346 2024.06.10 17:32:27.909
197 6.0.0.362 2024.05.24 ecc49 P P 6501 5579 2024.05.24 23:53:24.832 2024.05.24 23:53:31.333 2024.05.24 22:56:16.594 2024.05.24 22:56:22.173
198 6.0.0.359 2024.05.23 9cb11 P P 6563 5563 2024.05.23 23:54:02.862 2024.05.23 23:54:09.425 2024.05.23 22:56:41.220 2024.05.23 22:56:46.783
199 6.0.0.358 2024.05.21 995dd P P 6516 5563 2024.05.22 23:54:07.504 2024.05.22 23:54:14.020 2024.05.22 22:56:18.162 2024.05.22 22:56:23.725
200 6.0.0.357 2024.05.18 bf6c4 P P 6438 5563 2024.05.20 23:52:54.620 2024.05.20 23:53:01.058 2024.05.20 22:56:14.742 2024.05.20 22:56:20.305
201 6.0.0.356 2024.05.17 eab06 P P 6485 5563 2024.05.17 23:52:49.320 2024.05.17 23:52:55.805 2024.05.17 22:56:24.368 2024.05.17 22:56:29.931
202 6.0.0.355 2024.05.16 8dd6e P P 6547 5563 2024.05.16 23:52:55.581 2024.05.16 23:53:02.128 2024.05.16 22:56:11.578 2024.05.16 22:56:17.141
203 6.0.0.354 2024.05.15 d3adc P P 6516 5563 2024.05.15 23:53:01.675 2024.05.15 23:53:08.191 2024.05.15 22:56:31.667 2024.05.15 22:56:37.230
204 6.0.0.351 2024.05.14 2e3e0 P P 6438 5563 2024.05.14 23:52:24.788 2024.05.14 23:52:31.226 2024.05.14 22:56:02.506 2024.05.14 22:56:08.069
205 6.0.0.348 2024.05.08 e1ec4 P P 6501 5564 2024.05.13 23:52:51.778 2024.05.13 23:52:58.279 2024.05.13 22:56:24.700 2024.05.13 22:56:30.264
206 6.0.0.346 2024.05.07 9d7de P P 6532 5595 2024.05.07 23:53:00.610 2024.05.07 23:53:07.142 2024.05.07 22:56:33.839 2024.05.07 22:56:39.434
207 6.0.0.345 2024.05.06 154a0 P P 6516 5563 2024.05.06 23:52:35.908 2024.05.06 23:52:42.424 2024.05.06 22:56:06.500 2024.05.06 22:56:12.063
208 6.0.0.344 2024.05.02 b49d8 P P 6470 5563 2024.05.02 23:51:43.303 2024.05.02 23:51:49.773 2024.05.02 22:55:43.531 2024.05.02 22:55:49.094
209 6.0.0.342 2024.04.29 e6247 P P 6486 5579 2024.04.29 23:51:51.020 2024.04.29 23:51:57.506 2024.04.29 22:56:03.869 2024.04.29 22:56:09.448
210 6.0.0.339 2024.04.28 0bcba P P 6469 5563 2024.04.28 23:51:49.217 2024.04.28 23:51:55.686 2024.04.28 22:55:44.369 2024.04.28 22:55:49.932
211 6.0.0.336 2024.04.24 7d2ac P P 6516 5563 2024.04.26 23:51:58.113 2024.04.26 23:52:04.629 2024.04.26 22:55:45.503 2024.04.26 22:55:51.066
212 6.0.0.333 2024.04.23 85d98 P P 6500 5564 2024.04.23 23:52:27.753 2024.04.23 23:52:34.253 2024.04.23 22:56:07.655 2024.04.23 22:56:13.219
213 6.0.0.328 2024.04.22 485d0 P P 6532 5563 2024.04.22 23:52:05.254 2024.04.22 23:52:11.786 2024.04.22 22:55:44.281 2024.04.22 22:55:49.844
214 6.0.0.327 2024.04.19 eeed9 P P 6454 5563 2024.04.21 23:52:15.800 2024.04.21 23:52:22.254 2024.04.21 22:56:13.274 2024.04.21 22:56:18.837
215 6.0.0.325 2024.04.18 f5930 P P 7516 5578 2024.04.18 23:52:16.873 2024.04.18 23:52:24.389 2024.04.18 22:55:48.977 2024.04.18 22:55:54.555
216 6.0.0.324 2024.04.17 84ac9 P P 6502 5572 2024.04.17 23:52:51.252 2024.04.17 23:52:57.754 2024.04.17 22:56:03.604 2024.04.17 22:56:09.176
217 6.0.0.321 2024.04.16 eba22 P P 6517 5563 2024.04.16 23:51:16.093 2024.04.16 23:51:22.610 2024.04.16 22:55:31.055 2024.04.16 22:55:36.618
218 6.0.0.315 2024.04.15 4e80d P P 6516 5563 2024.04.15 23:51:46.934 2024.04.15 23:51:53.450 2024.04.15 22:55:49.738 2024.04.15 22:55:55.301
219 6.0.0.313 2024.04.14 b6eab P P 6376 5563 2024.04.14 23:47:44.596 2024.04.14 23:47:50.972 2024.04.14 22:55:38.826 2024.04.14 22:55:44.389
220 6.0.0.313 2024.04.12 aaf5f P P 6392 5564 2024.04.12 23:47:24.202 2024.04.12 23:47:30.594 2024.04.12 22:55:15.469 2024.04.12 22:55:21.033
221 6.0.0.312 2024.04.12 ff9f0 P P 6360 5590 2024.04.12 10:34:08.804 2024.04.12 10:34:15.164 2024.04.12 09:42:20.685 2024.04.12 09:42:26.275
222 6.0.0.312 2024.04.04 3496c P P 6360 5547 2024.04.09 23:47:10.805 2024.04.09 23:47:17.165 2024.04.09 22:56:09.447 2024.04.09 22:56:14.994
223 6.0.0.310 2024.04.03 e93f6 P P 6439 5579 2024.04.04 09:58:07.413 2024.04.04 09:58:13.852 2024.04.04 09:08:14.537 2024.04.04 09:08:20.116
224 6.0.0.308 2024.04.03 fa979 P P 6407 5563 2024.04.03 17:11:50.329 2024.04.03 17:11:56.736 2024.04.03 16:21:55.450 2024.04.03 16:22:01.013
225 6.0.0.308 2024.04.02 65562 P P 6500 5579 2024.04.03 00:51:47.177 2024.04.03 00:51:53.677 2024.04.03 00:02:47.232 2024.04.03 00:02:52.811
226 6.0.0.305 2024.04.01 8a4f6 P P 6422 5563 2024.04.02 09:04:11.239 2024.04.02 09:04:17.661 2024.04.02 08:15:07.636 2024.04.02 08:15:13.199
227 6.0.0.303 2024.03.31 ecb39 P P 6453 5546 2024.04.01 09:10:06.518 2024.04.01 09:10:12.971 2024.04.01 05:42:18.002 2024.04.01 05:42:23.548
228 6.0.0.301 2024.03.25 69d0a P P 6421 5562 2024.03.28 23:08:35.664 2024.03.28 23:08:42.085 2024.03.28 22:19:43.537 2024.03.28 22:19:49.099
229 6.0.0.299 2024.03.22 b1ba8 P P 6391 5546 2024.03.24 00:39:28.291 2024.03.24 00:39:34.682 2024.03.23 23:49:30.969 2024.03.23 23:49:36.515
230 6.0.0.295 2024.03.22 ef66a P P 6437 5547 2024.03.22 13:30:00.949 2024.03.22 13:30:07.386 2024.03.22 12:40:17.878 2024.03.22 12:40:23.425
231 6.0.0.295 2024.03.21 bf5ab P P 6421 5547 2024.03.21 22:50:10.717 2024.03.21 22:50:17.138 2024.03.21 22:00:20.766 2024.03.21 22:00:26.313
232 6.0.0.294 2024.03.20 bd00d P P 6375 5547 2024.03.21 01:52:59.200 2024.03.21 01:53:05.575 2024.03.21 01:03:15.036 2024.03.21 01:03:20.583
233 6.0.0.293 2024.03.20 fb994 P P 6343 5546 2024.03.20 18:25:18.829 2024.03.20 18:25:25.172 2024.03.20 17:35:31.749 2024.03.20 17:35:37.295

Elapsed time, ms. Chart for last 150 runs:

Last commits information (all timestamps in UTC):