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

Prepared updates written to the lookaside file are not always read as needed

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: WT3.2.2, 4.3.3, 4.2.3, 4.0.17
    • Component/s: None
    • Labels:
    • Story Points:
      13
    • Sprint:
      Storage Engines 2019-12-02, Storage Engines 2019-12-16
    • Backport Requested:
      v4.2, v4.0

      Description

      Summary:
      If the oldest (or only), skipped updates on a page being reconciled with lookaside writes are prepared, the WT_PAGE_LOOKASID.min_skipped_ts field is never set, leading to the wrong value being returned because lookaside records for the page will be incorrectly skipped.

      This is another snapshot-isolation search mismatch failure, post the recent merging of WT-5169. This time the mismatch was about the expected content being found deleted. And the page dump segfaulted which is kind of expected as there's no lock applied while attempting to access the page.

      http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress/72142/

      ++ nice catchsegv ./t -1 -c ../../../test/format/CONFIG.stress
      snapshot-isolation 789234 search mismatch
      expected {0000789234/LMNOPQRSTUV}
         found {deleted}
      snapshot-isolation error: Dumping page to RUNDIR/pagedump
      Segmentation fault (core dumped)
      *** Segmentation fault
       
      (...)
       
      Backtrace:
      /mnt/data0/jenkins/workspace/wiredtiger-test-format-stress/build_posix/../src/btree/bt_debug.c:805(__debug_page_metadata)[0x41953c]
      /mnt/data0/jenkins/workspace/wiredtiger-test-format-stress/build_posix/../src/btree/bt_debug.c:758 (discriminator 3)(__debug_page)[0x4192e3]
      /mnt/data0/jenkins/workspace/wiredtiger-test-format-stress/build_posix/../src/btree/bt_debug.c:678(__wt_debug_page)[0x419085]
      /mnt/data0/jenkins/workspace/wiredtiger-test-format-stress/build_posix/../src/btree/bt_debug.c:698(__wt_debug_cursor_page)[0x41912a]
      /mnt/data0/jenkins/workspace/wiredtiger-test-format-stress/build_posix/test/format/../../../test/format/snap.c:241(snap_verify)[0x40e103]
      /mnt/data0/jenkins/workspace/wiredtiger-test-format-stress/build_posix/test/format/../../../test/format/snap.c:407(snap_repeat_txn)[0x40e5ce]
      /mnt/data0/jenkins/workspace/wiredtiger-test-format-stress/build_posix/test/format/../../../test/format/ops.c:946(ops)[0x409af2]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0x76db)[0x7f86a8d096db]
      /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f)[0x7f86a83f188f] 

      The configuration: 

      ############################################
      #  RUN PARAMETERS
      ############################################
      abort=0
      alter=1
      assert_commit_timestamp=0
      assert_read_timestamp=0
      auto_throttle=1
      backups=0
      bitcnt=4
      bloom=1
      bloom_bit_count=46
      bloom_hash_count=22
      bloom_oldest=0
      cache=94
      cache_minimum=20
      checkpoints=on
      checkpoint_log_size=144
      checkpoint_wait=42
      checksum=uncompressed
      chunk_size=7
      compaction=0
      compression=zlib
      data_extend=0
      data_source=table
      delete_pct=8
      dictionary=0
      direct_io=0
      encryption=rotn-7
      evict_max=4
      file_type=variable-length column-store
      firstfit=0
      huffman_key=0
      huffman_value=0
      independent_thread_rng=1
      in_memory=0
      insert_pct=38
      internal_key_truncation=1
      internal_page_max=13
      isolation=snapshot
      key_gap=20
      key_max=65
      key_min=20
      leaf_page_max=16
      leak_memory=0
      logging=0
      logging_archive=1
      logging_compression=none
      logging_file_max=499130
      logging_prealloc=0
      long_running_txn=0
      lsm_worker_threads=4
      memory_page_max=3
      merge_max=13
      mmap=1
      modify_pct=8
      ops=0
      prefix_compression=1
      prefix_compression_min=7
      prepare=1
      quiet=1
      random_cursor=0
      read_pct=35
      rebalance=1
      repeat_data_pct=83
      reverse=0
      rows=1000000
      runs=1
      salvage=1
      split_pct=60
      statistics=0
      statistics_server=0
      threads=15
      timer=4
      timing_stress_aggressive_sweep=0
      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=100
      truncate=1
      value_max=443
      value_min=9
      verify=1
      wiredtiger_config=
      write_pct=11
      ############################################

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              keith.bostic Keith Bostic
              Reporter:
              luke.chen Luke Chen
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: