Details

    • Type: Task
    • Status: Resolved
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: WT2.6.0
    • Labels:

      Description

      It looks like the prefix length has gone wrong. @keithbostic, can you please take a look?

      http://build.wiredtiger.com:8080/job/wiredtiger-linux-directio/3128/

      There is a tarball of the build_posix tree at tinderbox:~jenkins/workspace/wiredtiger-linux-directio/build_posix.3128.tar.gz.

      (gdb) where
      #0  _mm_loadu_si128 (__P=0x7fd600795ff4)
          at /usr/lib/gcc/x86_64-redhat-linux/4.8.3/include/emmintrin.h:684
      WT-1  __wt_lex_compare_skip (user_item=0x7fd6000b82e8, user_item=0x7fd6000b82e8,
          tree_item=0x7fd6000b8430, tree_item=0x7fd6000b8430,
          matchp=<synthetic pointer>) at ../src/include/btree_cmp.i:153
      WT-2  __wt_row_search (session=session@entry=0x1cf47f0,
          srch_key=srch_key@entry=0x7fd6000b82e8, leaf=0x2452c60,
          cbt=cbt@entry=0x7fd6000b8210, insert=insert@entry=1)
          at ../src/btree/row_srch.c:371
      WT-3  0x00000000004d6a79 in __cursor_row_search (insert=1, leaf=<optimized out>,
          cbt=0x7fd6000b8210, session=0x1cf47f0) at ../src/btree/bt_cursor.c:241
      WT-4  __wt_btcur_search_near (cbt=cbt@entry=0x7fd6000b8210,
          exactp=exactp@entry=0x7fd61eb17b20) at ../src/btree/bt_cursor.c:399
      WT-5  0x000000000049e6aa in __curfile_search_near (cursor=0x7fd6000b8210,
          exact=0x7fd61eb17b20) at ../src/cursor/cur_file.c:222
      WT-6  0x00000000004af16b in __clsm_next (cursor=0x7fd60031ce10)
          at ../src/lsm/lsm_cursor.c:799
      (gdb) f 1
      WT-1  __wt_lex_compare_skip (user_item=0x7fd6000b82e8, user_item=0x7fd6000b82e8,
          tree_item=0x7fd6000b8430, tree_item=0x7fd6000b8430,
          matchp=<synthetic pointer>) at ../src/include/btree_cmp.i:153
      153					u = _mm_loadu_si128((__m128i *)userp);
      (gdb) list
      148			else
      149				for (; len > 0;
      150				    len -= WT_VECTOR_SIZE,
      151				    userp += WT_VECTOR_SIZE, treep += WT_VECTOR_SIZE,
      152				    *matchp += WT_VECTOR_SIZE) {
      153					u = _mm_loadu_si128((__m128i *)userp);
      154					t = _mm_loadu_si128((__m128i *)treep);
      155					res_eq = _mm_cmpeq_epi8(u, t);
      156					if (_mm_movemask_epi8(res_eq) != 65535)
      157						break;
      (gdb) print usz
      $1 = 22
      (gdb) print tsz
      $2 = 19
      (gdb) print *matchp
      $3 = 2341604
      (gdb) print userp - user_item->data
      $4 = 2341604
      (gdb) print len
      $10 = 18446744073707210016
      

        Issue Links

          Activity

          Hide
          michael.cahill Michael Cahill added a comment -

          I should also point out a few things I noticed:

          • this failure happened right after the search/search_near optimizations were merged and we're taking the fast path;
          • LSM is doing something odd here: it appears to be doing a search_near with a cursor pointing to the on-page key. I don't fully understand why, but that doesn't seem inherently broken.

          In case it helps, here is the failing CONFIG:

          ############################################
          #  RUN PARAMETERS
          ############################################
          abort=0
          auto_throttle=1
          firstfit=0
          bitcnt=3
          bloom=1
          bloom_bit_count=17
          bloom_hash_count=28
          bloom_oldest=0
          cache=180
          checkpoints=1
          checksum=uncompressed
          chunk_size=6
          compaction=0
          compression=none
          data_extend=0
          data_source=lsm
          delete_pct=31
          dictionary=0
          evict_max=4
          file_type=row-store
          backups=0
          huffman_key=1
          huffman_value=1
          insert_pct=77
          internal_key_truncation=1
          internal_page_max=12
          isolation=snapshot
          key_gap=18
          key_max=77
          key_min=14
          leak_memory=0
          leaf_page_max=10
          logging=1
          logging_archive=0
          logging_prealloc=0
          lsm_worker_threads=3
          merge_max=18
          mmap=1
          ops=100000
          prefix_compression=0
          prefix_compression_min=5
          repeat_data_pct=11
          reverse=0
          rows=10000
          runs=1
          split_pct=56
          statistics=1
          statistics_server=0
          threads=4
          timer=20
          value_max=1592
          value_min=1
          wiredtiger_config=
          write_pct=74
          ############################################
          

          Show
          michael.cahill Michael Cahill added a comment - I should also point out a few things I noticed: this failure happened right after the search/search_near optimizations were merged and we're taking the fast path; LSM is doing something odd here: it appears to be doing a search_near with a cursor pointing to the on-page key. I don't fully understand why, but that doesn't seem inherently broken. In case it helps, here is the failing CONFIG: ############################################ # RUN PARAMETERS ############################################ abort=0 auto_throttle=1 firstfit=0 bitcnt=3 bloom=1 bloom_bit_count=17 bloom_hash_count=28 bloom_oldest=0 cache=180 checkpoints=1 checksum=uncompressed chunk_size=6 compaction=0 compression=none data_extend=0 data_source=lsm delete_pct=31 dictionary=0 evict_max=4 file_type=row-store backups=0 huffman_key=1 huffman_value=1 insert_pct=77 internal_key_truncation=1 internal_page_max=12 isolation=snapshot key_gap=18 key_max=77 key_min=14 leak_memory=0 leaf_page_max=10 logging=1 logging_archive=0 logging_prealloc=0 lsm_worker_threads=3 merge_max=18 mmap=1 ops=100000 prefix_compression=0 prefix_compression_min=5 repeat_data_pct=11 reverse=0 rows=10000 runs=1 split_pct=56 statistics=1 statistics_server=0 threads=4 timer=20 value_max=1592 value_min=1 wiredtiger_config= write_pct=74 ############################################
          Hide
          keith.bostic Keith Bostic added a comment -

          This ticket is resolved by the merge of the branch in WiredTiger GitHub ticket #1889, it's done as far as I know.

          Show
          keith.bostic Keith Bostic added a comment - This ticket is resolved by the merge of the branch in WiredTiger GitHub ticket #1889 , it's done as far as I know.
          Hide
          ramon.fernandez Ramon Fernandez added a comment -

          Additional ticket information from GitHub

          This ticket was referenced in the following commits:
          Show
          ramon.fernandez Ramon Fernandez added a comment - Additional ticket information from GitHub This ticket was referenced in the following commits: 50f8bedf616a4009068516df865374f688c76c70 72ccd267fea9e491fcf3506e85191f71471cf51a

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Days since reply:
                2 years, 2 weeks, 2 days ago
                Date of 1st Reply: