Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-4351

Ensure resolving prepared transactions use updates from itself

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.0.4, 4.1.4, WT3.2.0
    • Component/s: None
    • Labels:
      None

      Description

      As part of indirect reference resolution in prepared transactions, the transaction operation structure currently always refer the first update in the update chain. This assumption is wrong, first update might be from a different transaction in case of lower isolation levels.

      So, need to ensure the update pointed by the transaction op is generated from this transaction itself.

      Below is the bug reported:
      test/format aborts with following assert.

      t: process 29357
      [1538620481:971700][29357:0x7f468cb49700], t, WT_SESSION.reset: __wt_txn_release_resources, 1281: txn->multi_update_count == 0
      [1538620481:971729][29357:0x7f468cb49700], t, WT_SESSION.reset: __wt_abort, 30: aborting WiredTiger library
      Aborted (core dumped)

      ############################################

      1. RUN PARAMETERS
        ############################################
        abort=0
        alter=0
        auto_throttle=1
        backups=1
        bitcnt=1
        bloom=1
        bloom_bit_count=59
        bloom_hash_count=22
        bloom_oldest=0
        cache=61
        cache_minimum=0
        checkpoints=wiredtiger
        checkpoint_log_size=46
        checkpoint_wait=75
        checksum=on
        chunk_size=5
        compaction=0
        compression=none
        data_extend=0
        data_source=table
        delete_pct=54
        dictionary=0
        direct_io=0
        encryption=none
        evict_max=0
        file_type=variable-length column-store
        firstfit=0
        huffman_key=0
        huffman_value=0
        independent_thread_rng=0
        in_memory=0
        insert_pct=21
        internal_key_truncation=1
        internal_page_max=9
        isolation=random
        key_gap=3
        key_max=103
        key_min=12
        leaf_page_max=17
        leak_memory=0
        logging=0
        logging_archive=1
        logging_compression=none
        logging_file_max=125400
        logging_prealloc=0
        long_running_txn=0
        lsm_worker_threads=4
        memory_page_max=4
        merge_max=9
        mmap=1
        modify_pct=25
        ops=50000
        prefix_compression=1
        prefix_compression_min=8
        prepare=1
        quiet=1
        read_pct=0
        rebalance=1
        repeat_data_pct=13
        reverse=0
        rows=10000
        runs=1
        salvage=1
        split_pct=67
        statistics=0
        statistics_server=0
        threads=4
        timer=360
        timing_stress_checkpoint=0
        timing_stress_lookaside_sweep=0
        timing_stress_split_1=0
        timing_stress_split_2=0
        timing_stress_split_3=0
        timing_stress_split_4=0
        timing_stress_split_5=0
        timing_stress_split_6=0
        timing_stress_split_7=0
        timing_stress_split_8=0
        transaction_timestamps=1
        transaction-frequency=71
        truncate=1
        value_max=1113
        value_min=12
        verify=1
        wiredtiger_config=
        write_pct=0
        ############################################

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              vamsi.krishna Vamsi Boyapati
              Reporter:
              vamsi.krishna Vamsi Boyapati
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: