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

Don't count eviction of lookaside file pages for the purpose of checking stuck cache

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: WT2.9.0, 3.3.12, 3.2.10
    • Labels:
      None

      Description

      This issue was noticed while working on WT-2731, with the following test/format configuration:

      ############################################
      #  RUN PARAMETERS
      ############################################
      abort=0
      auto_throttle=1
      backups=0
      bitcnt=4
      bloom=1
      bloom_bit_count=4
      bloom_hash_count=30
      bloom_oldest=0
      cache=5
      checkpoints=1
      checksum=uncompressed
      chunk_size=4
      compaction=0
      compression=zlib
      data_extend=0
      data_source=file
      delete_pct=35
      dictionary=0
      direct_io=0
      encryption=rotn-7
      evict_max=0
      file_type=row-store
      firstfit=1
      huffman_key=0
      huffman_value=0
      in_memory=0
      insert_pct=24
      internal_key_truncation=1
      internal_page_max=11
      isolation=snapshot
      key_gap=9
      key_max=51
      key_min=18
      leaf_page_max=17
      leak_memory=0
      logging=0
      logging_archive=0
      logging_compression=none
      logging_prealloc=0
      long_running_txn=0
      lsm_worker_threads=3
      merge_max=16
      mmap=1
      ops=100000
      prefix_compression=1
      prefix_compression_min=6
      quiet=1
      repeat_data_pct=66
      reverse=0
      rows=100000
      runs=1
      rebalance=1
      salvage=1
      split_pct=69
      statistics=1
      statistics_server=0
      threads=4
      timer=20
      transaction-frequency=87
      value_max=3294
      value_min=8
      verify=1
      wiredtiger_config=
      write_pct=71
      ############################################
      

      The cache dump looks like:

      ==========
      cache dump
      file:wt(<live>): 
      	internal pages: 1 pages, 1545 max, 0MB total
      	leaf pages: 4 pages, 1392140 max, 4MB total
      	dirty pages: 1 pages, 1545 max, 0MB total
      file:WiredTigerLAS.wt(<live>): 
      	internal pages: 1 pages, 249 max, 0MB total
      	leaf pages: 1 pages, 412 max, 0MB total
      	dirty pages: 1 pages, 249 max, 0MB total
      file:WiredTiger.wt(<live>): 
      	internal pages: 1 pages, 249 max, 0MB total
      	dirty pages: 1 pages, 249 max, 0MB total
      cache dump: total found = 5MB vs tracked inuse 5MB
      ==========
      

      There are 4 clean leaf pages, and 4 threads running snapshot isolation transactions, each pinning a single page. In this case, I'd expect the cache stuck check to fire, but it's not. After some time in a debugger, it appears as though there is some eviction activity happening via the lookaside file:

      (gdb) where
      #0  __wt_cache_page_evict (session=0x632000001500, page=0x6080000d2020)
          at ../src/include/btree.i:302
      #1  0x0000000000ac1d1e in __wt_page_out (session=0x632000001500, pagep=0x60400000d790)
          at ../src/btree/bt_discard.c:104
      #2  0x0000000000ac0d93 in __wt_ref_out (session=0x632000001500, ref=0x60400000d790)
          at ../src/btree/bt_discard.c:33
      #3  0x0000000000651ae5 in __evict_page_clean_update (session=0x632000001500,
          ref=0x60400000d790, closing=false) at ../src/evict/evict_page.c:224
      #4  0x000000000064cfe0 in __wt_evict (session=<optimized out>, ref=<optimized out>,
          closing=<optimized out>) at ../src/evict/evict_page.c:121
      #5  0x0000000000628dd6 in __evict_page (session=0x632000001500, is_server=true)
          at ../src/evict/evict_lru.c:1665
      #6  0x0000000000639baa in __evict_lru_pages (session=0x632000001500, is_server=true)
          at ../src/evict/evict_lru.c:916
      #7  0x000000000063b93b in __evict_pass (session=0x632000001500) at ../src/evict/evict_lru.c:677
      #8  0x00000000006368ab in __evict_server (session=0x632000001500, did_work=0x7f68c5ffee30)
          at ../src/evict/evict_lru.c:271
      #9  0x000000000061c5f9 in __evict_thread_run (arg=0x632000001500)
          at ../src/evict/evict_lru.c:207
      #10 0x00007f68cace5df3 in start_thread () from /lib64/libpthread.so.0
      #11 0x00007f68c9ecf1ad in clone () from /lib64/libc.so.6
      (gdb) p page->memory_footprint
      $43 = 412
      (gdb) p page->dsk
      $44 = (const WT_PAGE_HEADER *) 0x6120002824c0
      (gdb) p *$44
      $45 = {recno = 0, write_gen = 123, mem_size = 316, u = {entries = 8, datalen = 8},
        type = 7 '\a', flags = 12 '\f', unused = "\000"}
      (gdb) p session->dhandle->name
      $46 = 0x60300000d750 "file:WiredTigerLAS.wt"
      

      It is specifically the __wt_las_sweep function that is triggering cache activity:

      (gdb) where
      #0  __wt_las_sweep (session=0x632000001840) at ../src/cache/cache_las.c:289
      #1  0x00000000005bf76d in __sweep_server (arg=0x632000001840) at ../src/conn/conn_sweep.c:283
      #2  0x00007f68cace5df3 in start_thread () from /lib64/libpthread.so.0
      #3  0x00007f68c9ecf1ad in clone () from /lib64/libc.so.6
      

      We should stop counting eviction of lookaside file pages as relevant to the cache->evict_page count, so that the diagnostic stuck cache check will fire as expected.

        Activity

        Hide
        alexander.gorrod Alexander Gorrod added a comment -

        David Hows Could you take a look at this? First step is to reproduce, then understand how the cache stuck logic works, then figure out how to exclude LAS file pages from the algorithm that determines whether the cache is stuck.

        Show
        alexander.gorrod Alexander Gorrod added a comment - David Hows Could you take a look at this? First step is to reproduce, then understand how the cache stuck logic works, then figure out how to exclude LAS file pages from the algorithm that determines whether the cache is stuck.
        Hide
        david.hows David Hows added a comment -

        I've been able to reproduce this twice, each time about once in five runs.

        The test always shows the symptoms of WT-2731 but the bulk of runs don't appear to touch the LAS sweep code, specifically (__wt_las_sweep).

        Show
        david.hows David Hows added a comment - I've been able to reproduce this twice, each time about once in five runs. The test always shows the symptoms of WT-2731 but the bulk of runs don't appear to touch the LAS sweep code, specifically ( __wt_las_sweep ).
        Hide
        david.hows David Hows added a comment -

        I've looked through the code here and am trying to trigger a situation where we are trying to got through the __wt_page_out code with the LAS tree as our dhandle.

        So far, I haven't been able to get this workload to get into a state where it was trying to evict from the LAS tree.

        Show
        david.hows David Hows added a comment - I've looked through the code here and am trying to trigger a situation where we are trying to got through the __wt_page_out code with the LAS tree as our dhandle. So far, I haven't been able to get this workload to get into a state where it was trying to evict from the LAS tree.
        Hide
        david.hows David Hows added a comment -

        Finally managed to reproduce this by having other tasks hit disk in the background, looks like slower IO is a contributing factor.

        Show
        david.hows David Hows added a comment - Finally managed to reproduce this by having other tasks hit disk in the background, looks like slower IO is a contributing factor.
        Hide
        xgen-internal-githook Githook User added a comment -

        Author:

        {u'username': u'daveh86', u'name': u'David Hows', u'email': u'howsdav@gmail.com'}

        Message: WT-2766 Don't sweep LAS cache when aren't making progess in eviction (#2918)
        Branch: develop
        https://github.com/wiredtiger/wiredtiger/commit/06946a6abcc1b41f0f0bcada4fcbebaa97a49f7f

        Show
        xgen-internal-githook Githook User added a comment - Author: {u'username': u'daveh86', u'name': u'David Hows', u'email': u'howsdav@gmail.com'} Message: WT-2766 Don't sweep LAS cache when aren't making progess in eviction (#2918) Branch: develop https://github.com/wiredtiger/wiredtiger/commit/06946a6abcc1b41f0f0bcada4fcbebaa97a49f7f
        Hide
        xgen-internal-githook Githook User added a comment -

        Author:

        {u'username': u'daveh86', u'name': u'David Hows', u'email': u'howsdav@gmail.com'}

        Message: WT-2766 Don't sweep LAS cache when aren't making progess in eviction (#2918)
        Branch: mongodb-3.4
        https://github.com/wiredtiger/wiredtiger/commit/06946a6abcc1b41f0f0bcada4fcbebaa97a49f7f

        Show
        xgen-internal-githook Githook User added a comment - Author: {u'username': u'daveh86', u'name': u'David Hows', u'email': u'howsdav@gmail.com'} Message: WT-2766 Don't sweep LAS cache when aren't making progess in eviction (#2918) Branch: mongodb-3.4 https://github.com/wiredtiger/wiredtiger/commit/06946a6abcc1b41f0f0bcada4fcbebaa97a49f7f
        Hide
        xgen-internal-githook Githook User added a comment -

        Author:

        {u'name': u'Ramon Fernandez', u'email': u'ramon@mongodb.com'}

        Message: Import wiredtiger: 2566118fc68b0124187e806bed52eb7cdbcb1be0 from branch mongodb-3.4

        ref: 34182ad..2566118fc6
        for: 3.3.12

        WT-2631 nullptr is passed for parameters marked with attribute non-null
        WT-2638 ftruncate may not be supported
        WT-2645 wt dump: push the complexity of collecting metadata into a dump cursor
        WT-2678 The metadata should not imply that an empty value is true
        WT-2695 Integrate s390x accelerated crc32c support
        WT-2719 add fuzz testing for WiredTiger options and reconfiguration.
        WT-2734 Improve documentation of eviction behavior
        WT-2766 Don't count eviction of lookaside file pages for the purpose of checking stuck cache
        WT-2783 wtperf multi-btree.wtperf dumps core on Mac
        WT-2787 Include src/include/wiredtiger_ext.h is problematic
        WT-2795 Update documentation around read-only configuration
        WT-2807 Switch Jenkins performance tests to tcmalloc
        WT-2813 small cache usage stuck even with large cache
        WT-2814 Enhance wtperf to support single-op truncate mode
        WT-2816 Improve WiredTiger eviction performance
        WT-2817 Investigate performance regression in develop, add workload to wtperf/runners
        WT-2818 The page visibility check when queuing pages for eviction is overly restrictive
        WT-2820 add gcc warn_unused_result attribute
        WT-2822 panic mutex and other functions that cannot fail
        WT-2823 support file handles without a truncate method
        WT-2826 clang38 false positive on uninitialized variable.
        WT-2827 checkpoint log_size configuration improvements
        WT-2828 Make long wtperf tests reflect mongoDB usage
        WT-2829 Switch automated testing to use enable-strict configure option
        WT-2832 Python test uses hard-coded temporary directory
        WT-2834 Join cursor: discrepancy with bloom filters
        WT-2835 WT_CONNECTION.leak-memory can skip memory map and cache cleanup
        WT-2838 Don't free session handles on close if leak memory is configured
        WT-2839 lint: Ignoring return value of function
        WT-2840 clang analysis: garbage values
        WT-2841 Jenkins Valgrind runner is reporting errors in test wt2719_reconfig
        WT-2843 Fix a bug in recovery if there is no filesystem truncate support
        WT-2846 Several bugs related to reconfiguring eviction server at runtime
        WT-2847 Merge fair locks into read/write locks.
        WT-2850 clang 4.1 attribute warnings when building
        WT-2853 Multi threaded reader writer example shows temporary slowdown or lockup
        WT-2857 POSIX ftruncate calls should be #ifdef'd HAVE_FTRUNCATE
        WT-2862 Fix lint error in test case for forced eviction with multiple cursors
        WT-2863 Support UTF-8 paths on Windows
        Branch: master
        https://github.com/mongodb/mongo/commit/f2a613a41d6ad7b5a1b66087e386380d38e50599

        Show
        xgen-internal-githook Githook User added a comment - Author: {u'name': u'Ramon Fernandez', u'email': u'ramon@mongodb.com'} Message: Import wiredtiger: 2566118fc68b0124187e806bed52eb7cdbcb1be0 from branch mongodb-3.4 ref: 34182ad..2566118fc6 for: 3.3.12 WT-2631 nullptr is passed for parameters marked with attribute non-null WT-2638 ftruncate may not be supported WT-2645 wt dump: push the complexity of collecting metadata into a dump cursor WT-2678 The metadata should not imply that an empty value is true WT-2695 Integrate s390x accelerated crc32c support WT-2719 add fuzz testing for WiredTiger options and reconfiguration. WT-2734 Improve documentation of eviction behavior WT-2766 Don't count eviction of lookaside file pages for the purpose of checking stuck cache WT-2783 wtperf multi-btree.wtperf dumps core on Mac WT-2787 Include src/include/wiredtiger_ext.h is problematic WT-2795 Update documentation around read-only configuration WT-2807 Switch Jenkins performance tests to tcmalloc WT-2813 small cache usage stuck even with large cache WT-2814 Enhance wtperf to support single-op truncate mode WT-2816 Improve WiredTiger eviction performance WT-2817 Investigate performance regression in develop, add workload to wtperf/runners WT-2818 The page visibility check when queuing pages for eviction is overly restrictive WT-2820 add gcc warn_unused_result attribute WT-2822 panic mutex and other functions that cannot fail WT-2823 support file handles without a truncate method WT-2826 clang38 false positive on uninitialized variable. WT-2827 checkpoint log_size configuration improvements WT-2828 Make long wtperf tests reflect mongoDB usage WT-2829 Switch automated testing to use enable-strict configure option WT-2832 Python test uses hard-coded temporary directory WT-2834 Join cursor: discrepancy with bloom filters WT-2835 WT_CONNECTION.leak-memory can skip memory map and cache cleanup WT-2838 Don't free session handles on close if leak memory is configured WT-2839 lint: Ignoring return value of function WT-2840 clang analysis: garbage values WT-2841 Jenkins Valgrind runner is reporting errors in test wt2719_reconfig WT-2843 Fix a bug in recovery if there is no filesystem truncate support WT-2846 Several bugs related to reconfiguring eviction server at runtime WT-2847 Merge fair locks into read/write locks. WT-2850 clang 4.1 attribute warnings when building WT-2853 Multi threaded reader writer example shows temporary slowdown or lockup WT-2857 POSIX ftruncate calls should be #ifdef'd HAVE_FTRUNCATE WT-2862 Fix lint error in test case for forced eviction with multiple cursors WT-2863 Support UTF-8 paths on Windows Branch: master https://github.com/mongodb/mongo/commit/f2a613a41d6ad7b5a1b66087e386380d38e50599
        Hide
        xgen-internal-githook Githook User added a comment -

        Author:

        {u'username': u'daveh86', u'name': u'David Hows', u'email': u'howsdav@gmail.com'}

        Message: WT-2766 Don't sweep LAS cache when aren't making progess in eviction (#2918)
        Branch: mongodb-3.2
        https://github.com/wiredtiger/wiredtiger/commit/06946a6abcc1b41f0f0bcada4fcbebaa97a49f7f

        Show
        xgen-internal-githook Githook User added a comment - Author: {u'username': u'daveh86', u'name': u'David Hows', u'email': u'howsdav@gmail.com'} Message: WT-2766 Don't sweep LAS cache when aren't making progess in eviction (#2918) Branch: mongodb-3.2 https://github.com/wiredtiger/wiredtiger/commit/06946a6abcc1b41f0f0bcada4fcbebaa97a49f7f
        Hide
        xgen-internal-githook Githook User added a comment -

        Author:

        {u'username': u'agorrod', u'name': u'Alex Gorrod', u'email': u'alexander.gorrod@mongodb.com'}

        Message: Import wiredtiger: 911c940adab547d36ac305fc627a79e637fa3c40 from branch mongodb-3.2

        ref: dddca65..911c940ada
        for: 3.2.10

        SERVER-24971 Excessive memory held by sessions when application threads do evictions
        SERVER-25843 Coverity analysis defect 99856: Redundant test
        SERVER-25845 Coverity analysis defect 99859: Explicit null dereferenced
        SERVER-25846 Coverity analysis defect 99861: Dereference after null check
        WT-1162 Add latency to Jenkins wtperf tests and plots
        WT-2026 Maximum pages size at eviction too large
        WT-2221 Document which statistics are available via a "fast" configuration vs. an "all" configuration
        WT-2233 Investigate changing when the eviction server switches to aggressive mode.
        WT-2239 Make sure LSM cursors read up to date dsk_gen, it was racing with compact
        WT-2323 Allocate a transaction id at the beginning of join cursor iteration
        WT-2353 Failure to create async threads as part of a wiredtiger_open call will cause a hang
        WT-2380 Make scripts fail if code doesn't match style
        WT-2486 Update make check so that it runs faster
        WT-2555 make format run on Windows
        WT-2578 remove write barriers from the TAILQ_INSERT_XXX macros
        WT-2631 nullptr is passed for parameters marked with attribute non-null
        WT-2638 ftruncate may not be supported
        WT-2645 wt dump: push the complexity of collecting metadata into a dump cursor
        WT-2648 cache-line alignment for new ports
        WT-2665 Limit allocator fragmentation in WiredTiger
        WT-2678 The metadata should not imply that an empty value is true
        WT-2688 configure --enable-python doesn't check for availability of swig
        WT-2693 Check open_cursor error paths for consistent handling
        WT-2695 Integrate s390x accelerated crc32c support
        WT-2708 split child-update race with reconciliation/eviction
        WT-2711 Change statistics log configuration options
        WT-2719 add fuzz testing for WiredTiger options and reconfiguration.
        WT-2728 Don't re-read log file headers during log_flush
        WT-2729 Focus eviction walks in largest trees
        WT-2730 cursor next/prev can return the wrong key/value pair when crossing a page boundary
        WT-2731 Raw compression can create pages that are larger than expected
        WT-2732 Coverity analysis defect 99665: Redundant test
        WT-2734 Improve documentation of eviction behavior
        WT-2737 Scrub dirty pages rather than evicting them
        WT-2738 Remove the ability to change the default checkpoint name
        WT-2739 pluggable file systems documentation cleanups
        WT-2743 Thread count statistics always report 0
        WT-2744 partial line even with line buffering set
        WT-2746 track checkpoint I/O separately from eviction I/O
        WT-2751 column-store statistics incorrectly calculates the number of entries
        WT-2752 Fixes to zipfian wtperf workload config
        WT-2755 flexelint configuration treats size_t as 4B type
        WT-2756 Upgrade the autoconf archive package to check for swig 3.0
        WT-2757 Column tables behave differently when column names are provided
        WT-2759 Releasing the hot-backup lock doesn't require the schema lock.
        WT-2760 Fix a bug in backup related to directory sync. Change the filesystem API to make durable the default
        WT-2762 wtstats tool fails if checkpoint runs
        WT-2763 Unit test test_intpack failing on OSX
        WT-2764 Optimize checkpoints to reduce throughput disruption
        WT-2765 wt dump: indices need to be shown in the dump output
        WT-2766 Don't count eviction of lookaside file pages for the purpose of checking stuck cache
        WT-2767 test suite needs way to run an individual scenario
        WT-2769 Update documentation to reflect correct limits of memory_page_max
        WT-2770 Add statistics tracking schema operations
        WT-2772 Investigate log performance testing weirdness
        WT-2773 search_near in indexes does not find exact matches
        WT-2774 minor cleanups/improvements
        WT-2778 Python test suite: make scenario initialization consistent
        WT-2779 Raw compression created unexpectedly large pages on disk
        WT-2781 Enhance bulk cursor option with an option to return immediately on contention
        WT-2782 Missing a fs_directory_list_free in ex_file_system.c
        WT-2783 wtperf multi-btree.wtperf dumps core on Mac
        WT-2785 Scrub dirty pages rather than evicting them: single-page reconciliation
        WT-2787 Include src/include/wiredtiger_ext.h is problematic
        WT-2788 Java: freed memory overwrite during handle close can cause JNI crash
        WT-2791 Enhance OS X Evergreen unit test
        WT-2793 wtperf config improvements
        WT-2795 Update documentation around read-only configuration
        WT-2796 Memory leak in reconciliation uncovered by stress testing
        WT-2798 Crash vulnerability with nojournal after create during checkpoint
        WT-2800 Illegal file format in test/format on PPC
        WT-2801 Crash vulnerability from eviction of metadata during checkpoint
        WT-2802 Transaction commit causes heap-use-after free
        WT-2803 Add verbose functionality to WT Evergreen tests
        WT-2804 Don't read values in a tree without a snapshot
        WT-2805 Infinite recursion if error streams fail
        WT-2806 wtperf allocation size off-by-one
        WT-2807 Switch Jenkins performance tests to tcmalloc
        WT-2811 Reconciliation asserts that transaction time has gone backwards
        WT-2812 Error when reconfiguring cache targets
        WT-2813 small cache usage stuck even with large cache
        WT-2814 Enhance wtperf to support single-op truncate mode
        WT-2816 Improve WiredTiger eviction performance
        WT-2817 Investigate performance regression in develop, add workload to wtperf/runners
        WT-2818 The page visibility check when queuing pages for eviction is overly restrictive
        WT-2820 add gcc warn_unused_result attribute
        WT-2822 panic mutex and other functions that cannot fail
        WT-2823 support file handles without a truncate method
        WT-2824 wtperf displays connection and table create configurations twice
        WT-2826 clang38 false positive on uninitialized variable.
        WT-2827 checkpoint log_size configuration improvements
        WT-2828 Make long wtperf tests reflect mongoDB usage
        WT-2829 Switch automated testing to use enable-strict configure option
        WT-2832 Python test uses hard-coded temporary directory
        WT-2834 Join cursor: discrepancy with bloom filters
        WT-2835 WT_CONNECTION.leak-memory can skip memory map and cache cleanup
        WT-2838 Don't free session handles on close if leak memory is configured
        WT-2839 lint: Ignoring return value of function
        WT-2840 clang analysis: garbage values
        WT-2841 Jenkins Valgrind runner is reporting errors in test wt2719_reconfig
        WT-2842 split wtperf's configuration into per-database and per-run parts
        WT-2843 Fix a bug in recovery if there is no filesystem truncate support
        WT-2846 Several bugs related to reconfiguring eviction server at runtime
        WT-2847 Merge fair locks into read/write locks.
        WT-2850 clang 4.1 attribute warnings when building
        WT-2853 Multi threaded reader writer example shows temporary slowdown or lockup
        WT-2857 POSIX ftruncate calls should be #ifdef'd HAVE_FTRUNCATE
        WT-2862 Fix lint error in test case for forced eviction with multiple cursors
        WT-2863 Support UTF-8 paths on Windows
        WT-2865 eviction thread error failure
        WT-2866 Eviction server algorithm tuning
        WT-2867 Review and fix barrier usage in __lsm_tree_close
        WT-2868 Add sample_interval to checkpoint-stress wtperf config
        WT-2869 Performance regression on secondaries
        WT-2870 Rename wtperf checkpoint schema jobs
        WT-2871 __wt_verbose has the wrong GCC format attributes
        WT-2872 Recent stuck cache test/stress failures.
        WT-2873 Refactor CRC32 code
        WT-2875 Test test_wt2853_perf can run too long under valgrind
        WT-2876 Extend wtperf to support a log like table
        WT-2878 Verbose changes affected performance
        WT-2881 Add -Wpedantic to clang compiler warning flags
        WT-2883 wiredtiger_open with verbose=handleops recursive loop
        WT-2885 __wt_checkpoint_signal lint
        WT-2886 Decide how in-memory configuration and eviction_dirty_target interact
        WT-2888 Switch functions to return void where possible
        WT-2892 hot backup can race with block truncate
        WT-2896 Coverity #1362535: resource leak
        WT-2897 Checkpoints can become corrupted on failure
        WT-2901 Add option to disable checkpoint dirty stepdown phase
        WT-2903 Reduce the impact of checkpoint scrubbing on applications
        Branch: v3.2
        https://github.com/mongodb/mongo/commit/7d2acd6395ec84beca34718a75371bc11f0c9f60

        Show
        xgen-internal-githook Githook User added a comment - Author: {u'username': u'agorrod', u'name': u'Alex Gorrod', u'email': u'alexander.gorrod@mongodb.com'} Message: Import wiredtiger: 911c940adab547d36ac305fc627a79e637fa3c40 from branch mongodb-3.2 ref: dddca65..911c940ada for: 3.2.10 SERVER-24971 Excessive memory held by sessions when application threads do evictions SERVER-25843 Coverity analysis defect 99856: Redundant test SERVER-25845 Coverity analysis defect 99859: Explicit null dereferenced SERVER-25846 Coverity analysis defect 99861: Dereference after null check WT-1162 Add latency to Jenkins wtperf tests and plots WT-2026 Maximum pages size at eviction too large WT-2221 Document which statistics are available via a "fast" configuration vs. an "all" configuration WT-2233 Investigate changing when the eviction server switches to aggressive mode. WT-2239 Make sure LSM cursors read up to date dsk_gen, it was racing with compact WT-2323 Allocate a transaction id at the beginning of join cursor iteration WT-2353 Failure to create async threads as part of a wiredtiger_open call will cause a hang WT-2380 Make scripts fail if code doesn't match style WT-2486 Update make check so that it runs faster WT-2555 make format run on Windows WT-2578 remove write barriers from the TAILQ_INSERT_XXX macros WT-2631 nullptr is passed for parameters marked with attribute non-null WT-2638 ftruncate may not be supported WT-2645 wt dump: push the complexity of collecting metadata into a dump cursor WT-2648 cache-line alignment for new ports WT-2665 Limit allocator fragmentation in WiredTiger WT-2678 The metadata should not imply that an empty value is true WT-2688 configure --enable-python doesn't check for availability of swig WT-2693 Check open_cursor error paths for consistent handling WT-2695 Integrate s390x accelerated crc32c support WT-2708 split child-update race with reconciliation/eviction WT-2711 Change statistics log configuration options WT-2719 add fuzz testing for WiredTiger options and reconfiguration. WT-2728 Don't re-read log file headers during log_flush WT-2729 Focus eviction walks in largest trees WT-2730 cursor next/prev can return the wrong key/value pair when crossing a page boundary WT-2731 Raw compression can create pages that are larger than expected WT-2732 Coverity analysis defect 99665: Redundant test WT-2734 Improve documentation of eviction behavior WT-2737 Scrub dirty pages rather than evicting them WT-2738 Remove the ability to change the default checkpoint name WT-2739 pluggable file systems documentation cleanups WT-2743 Thread count statistics always report 0 WT-2744 partial line even with line buffering set WT-2746 track checkpoint I/O separately from eviction I/O WT-2751 column-store statistics incorrectly calculates the number of entries WT-2752 Fixes to zipfian wtperf workload config WT-2755 flexelint configuration treats size_t as 4B type WT-2756 Upgrade the autoconf archive package to check for swig 3.0 WT-2757 Column tables behave differently when column names are provided WT-2759 Releasing the hot-backup lock doesn't require the schema lock. WT-2760 Fix a bug in backup related to directory sync. Change the filesystem API to make durable the default WT-2762 wtstats tool fails if checkpoint runs WT-2763 Unit test test_intpack failing on OSX WT-2764 Optimize checkpoints to reduce throughput disruption WT-2765 wt dump: indices need to be shown in the dump output WT-2766 Don't count eviction of lookaside file pages for the purpose of checking stuck cache WT-2767 test suite needs way to run an individual scenario WT-2769 Update documentation to reflect correct limits of memory_page_max WT-2770 Add statistics tracking schema operations WT-2772 Investigate log performance testing weirdness WT-2773 search_near in indexes does not find exact matches WT-2774 minor cleanups/improvements WT-2778 Python test suite: make scenario initialization consistent WT-2779 Raw compression created unexpectedly large pages on disk WT-2781 Enhance bulk cursor option with an option to return immediately on contention WT-2782 Missing a fs_directory_list_free in ex_file_system.c WT-2783 wtperf multi-btree.wtperf dumps core on Mac WT-2785 Scrub dirty pages rather than evicting them: single-page reconciliation WT-2787 Include src/include/wiredtiger_ext.h is problematic WT-2788 Java: freed memory overwrite during handle close can cause JNI crash WT-2791 Enhance OS X Evergreen unit test WT-2793 wtperf config improvements WT-2795 Update documentation around read-only configuration WT-2796 Memory leak in reconciliation uncovered by stress testing WT-2798 Crash vulnerability with nojournal after create during checkpoint WT-2800 Illegal file format in test/format on PPC WT-2801 Crash vulnerability from eviction of metadata during checkpoint WT-2802 Transaction commit causes heap-use-after free WT-2803 Add verbose functionality to WT Evergreen tests WT-2804 Don't read values in a tree without a snapshot WT-2805 Infinite recursion if error streams fail WT-2806 wtperf allocation size off-by-one WT-2807 Switch Jenkins performance tests to tcmalloc WT-2811 Reconciliation asserts that transaction time has gone backwards WT-2812 Error when reconfiguring cache targets WT-2813 small cache usage stuck even with large cache WT-2814 Enhance wtperf to support single-op truncate mode WT-2816 Improve WiredTiger eviction performance WT-2817 Investigate performance regression in develop, add workload to wtperf/runners WT-2818 The page visibility check when queuing pages for eviction is overly restrictive WT-2820 add gcc warn_unused_result attribute WT-2822 panic mutex and other functions that cannot fail WT-2823 support file handles without a truncate method WT-2824 wtperf displays connection and table create configurations twice WT-2826 clang38 false positive on uninitialized variable. WT-2827 checkpoint log_size configuration improvements WT-2828 Make long wtperf tests reflect mongoDB usage WT-2829 Switch automated testing to use enable-strict configure option WT-2832 Python test uses hard-coded temporary directory WT-2834 Join cursor: discrepancy with bloom filters WT-2835 WT_CONNECTION.leak-memory can skip memory map and cache cleanup WT-2838 Don't free session handles on close if leak memory is configured WT-2839 lint: Ignoring return value of function WT-2840 clang analysis: garbage values WT-2841 Jenkins Valgrind runner is reporting errors in test wt2719_reconfig WT-2842 split wtperf's configuration into per-database and per-run parts WT-2843 Fix a bug in recovery if there is no filesystem truncate support WT-2846 Several bugs related to reconfiguring eviction server at runtime WT-2847 Merge fair locks into read/write locks. WT-2850 clang 4.1 attribute warnings when building WT-2853 Multi threaded reader writer example shows temporary slowdown or lockup WT-2857 POSIX ftruncate calls should be #ifdef'd HAVE_FTRUNCATE WT-2862 Fix lint error in test case for forced eviction with multiple cursors WT-2863 Support UTF-8 paths on Windows WT-2865 eviction thread error failure WT-2866 Eviction server algorithm tuning WT-2867 Review and fix barrier usage in __lsm_tree_close WT-2868 Add sample_interval to checkpoint-stress wtperf config WT-2869 Performance regression on secondaries WT-2870 Rename wtperf checkpoint schema jobs WT-2871 __wt_verbose has the wrong GCC format attributes WT-2872 Recent stuck cache test/stress failures. WT-2873 Refactor CRC32 code WT-2875 Test test_wt2853_perf can run too long under valgrind WT-2876 Extend wtperf to support a log like table WT-2878 Verbose changes affected performance WT-2881 Add -Wpedantic to clang compiler warning flags WT-2883 wiredtiger_open with verbose=handleops recursive loop WT-2885 __wt_checkpoint_signal lint WT-2886 Decide how in-memory configuration and eviction_dirty_target interact WT-2888 Switch functions to return void where possible WT-2892 hot backup can race with block truncate WT-2896 Coverity #1362535: resource leak WT-2897 Checkpoints can become corrupted on failure WT-2901 Add option to disable checkpoint dirty stepdown phase WT-2903 Reduce the impact of checkpoint scrubbing on applications Branch: v3.2 https://github.com/mongodb/mongo/commit/7d2acd6395ec84beca34718a75371bc11f0c9f60

          People

          • Assignee:
            david.hows David Hows
            Reporter:
            sulabh.mahajan Sulabh Mahajan
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: