diff options
Diffstat (limited to 'dist')
-rw-r--r-- | dist/api_data.py | 1 | ||||
-rw-r--r-- | dist/api_err.py | 24 | ||||
-rw-r--r-- | dist/filelist | 1 | ||||
-rw-r--r-- | dist/flags.py | 2 | ||||
-rw-r--r-- | dist/package/wiredtiger.spec | 2 | ||||
-rwxr-xr-x | dist/s_c_test_create | 2 | ||||
-rwxr-xr-x | dist/s_copyright | 9 | ||||
-rw-r--r-- | dist/s_copyright.list | 5 | ||||
-rw-r--r-- | dist/s_define.list | 1 | ||||
-rwxr-xr-x | dist/s_prototypes | 3 | ||||
-rwxr-xr-x | dist/s_stat | 7 | ||||
-rw-r--r-- | dist/s_string.ok | 17 | ||||
-rwxr-xr-x | dist/s_void | 4 | ||||
-rwxr-xr-x | dist/s_whitespace | 1 | ||||
-rw-r--r-- | dist/stat_data.py | 45 |
15 files changed, 91 insertions, 33 deletions
diff --git a/dist/api_data.py b/dist/api_data.py index 22600dd5e29..3297c68147a 100644 --- a/dist/api_data.py +++ b/dist/api_data.py @@ -529,6 +529,7 @@ connection_runtime_config = [ 'fileops', 'handleops', 'log', + 'lookaside_activity', 'lsm', 'lsm_manager', 'metadata', diff --git a/dist/api_err.py b/dist/api_err.py index bd379ac8d70..bfa4459d438 100644 --- a/dist/api_err.py +++ b/dist/api_err.py @@ -41,10 +41,10 @@ errors = [ WT_CURSOR::update or WT_CURSOR::remove.'''), Error('WT_PANIC', -31804, 'WiredTiger library panic', ''' - This error indicates an underlying problem that requires the - application exit and restart. The application can exit - immediately when \c WT_PANIC is returned from a WiredTiger - interface, no further WiredTiger calls are required.'''), + This error indicates an underlying problem that requires a database + restart. The application may exit immediately, no further WiredTiger + calls are required (and further calls will themselves immediately + fail).'''), Error('WT_RESTART', -31805, 'restart the operation (internal)', undoc=True), Error('WT_RUN_RECOVERY', -31806, @@ -112,8 +112,6 @@ tfile.write('''/* DO NOT EDIT: automatically built by dist/api_err.py. */ const char * __wt_wiredtiger_error(int error) { -\tconst char *p; - \t/* \t * Check for WiredTiger specific errors. \t */ @@ -125,14 +123,20 @@ for err in errors: tfile.write('\t\treturn ("' + err.name + ': ' + err.desc + '");\n') tfile.write('''\t} +\t/* Windows strerror doesn't support ENOTSUP. */ +\tif (error == ENOTSUP) +\t\treturn ("Operation not supported"); + \t/* -\t * POSIX errors are non-negative integers; check for 0 explicitly incase -\t * the underlying strerror doesn't handle 0, some historically didn't. +\t * Check for 0 in case the underlying strerror doesn't handle it, some +\t * historically didn't. \t */ \tif (error == 0) \t\treturn ("Successful return: 0"); -\tif (error > 0 && (p = strerror(error)) != NULL) -\t\treturn (p); + +\t/* POSIX errors are non-negative integers. */ +\tif (error > 0) +\t\treturn (strerror(error)); \treturn (NULL); } diff --git a/dist/filelist b/dist/filelist index 5a3348b940a..6b6e617c4b1 100644 --- a/dist/filelist +++ b/dist/filelist @@ -179,6 +179,7 @@ src/session/session_salvage.c src/support/cond_auto.c src/support/crypto.c src/support/err.c +src/support/generation.c src/support/global.c src/support/hash_city.c src/support/hash_fnv.c diff --git a/dist/flags.py b/dist/flags.py index 64b5d789e72..8edabd69648 100644 --- a/dist/flags.py +++ b/dist/flags.py @@ -32,7 +32,6 @@ flags = { 'READ_PREV', 'READ_RESTART_OK', 'READ_SKIP_INTL', - 'READ_SKIP_LEAF', 'READ_TRUNCATE', 'READ_WONT_NEED', ], @@ -68,6 +67,7 @@ flags = { 'VERB_FILEOPS', 'VERB_HANDLEOPS', 'VERB_LOG', + 'VERB_LOOKASIDE', 'VERB_LSM', 'VERB_LSM_MANAGER', 'VERB_METADATA', diff --git a/dist/package/wiredtiger.spec b/dist/package/wiredtiger.spec index aacdf327c98..9d9bdd3949c 100644 --- a/dist/package/wiredtiger.spec +++ b/dist/package/wiredtiger.spec @@ -1,5 +1,5 @@ Name: wiredtiger -Version: 2.9.2 +Version: 2.9.3 Release: 1%{?dist} Summary: WiredTiger data storage engine diff --git a/dist/s_c_test_create b/dist/s_c_test_create index f4f9eb3ac1f..1d379664e75 100755 --- a/dist/s_c_test_create +++ b/dist/s_c_test_create @@ -35,7 +35,7 @@ mkdir $CSUITE_DIRECTORY/$TEST_NAME (cat <<EOF /*- - * Public Domain 2014-2016 MongoDB, Inc. + * Public Domain 2014-2017 MongoDB, Inc. * Public Domain 2008-2014 WiredTiger, Inc. * * This is free and unencumbered software released into the public domain. diff --git a/dist/s_copyright b/dist/s_copyright index 9ff6c20492e..4a93be73fb6 100755 --- a/dist/s_copyright +++ b/dist/s_copyright @@ -53,7 +53,7 @@ if [ $# -ne 0 ]; then exit 0 fi -trap 'rm -f $c1 $c2 $c3 $c4' 0 1 2 3 13 15 +trap 'rm -f $c1 $c2 $c3 $c4 $c5' 0 1 2 3 13 15 year=`date +%Y` @@ -117,18 +117,24 @@ fi -e '/api\/leveldb\/hyperleveldb\//d' \ -e '/api\/leveldb\/leveldb\//d' \ -e '/api\/leveldb\/rocksdb\//d' \ + -e '/checksum\/power8\//d' \ + -e '/checksum\/zseries\//d' \ -e '/\/3rdparty\//d' \ -e '/\/node_modules\//d' \ -e '/dist\/__/d' \ -e 's/^\.\///' | xargs $xp -n 1 -I{} sh dist/s_copyright {}) +# One-offs. +(cd .. && sh dist/s_copyright test/syscall/wt2336_base/base.run) + # A few special cases: LICENSE, documentation, wt utility, some of which have # more than one copyright notice in the file. For files that have only a single # copyright notice, we give it to MongoDB, from 2008 to now. string1="Copyright \(c\) 2014-$year MongoDB, Inc." string2="Copyright \(c\) 2008-$year MongoDB, Inc." string3="printf.*Copyright \(c\) 2008-$year MongoDB, Inc." +string4="Public Domain 2014-$year MongoDB, Inc." special_copyright() { cnt=`egrep "$3" ../$1 | wc -l` @@ -138,6 +144,7 @@ special_copyright() } special_copyright LICENSE 1 "$string1" +special_copyright dist/s_c_test_create 1 "$string4" special_copyright src/docs/build-javadoc.sh 1 "$string2" special_copyright src/docs/style/footer.html 2 "$string2" special_copyright src/utilities/util_cpyright.c 1 "$string3" diff --git a/dist/s_copyright.list b/dist/s_copyright.list index 4999d2a37a2..2ac63bcb159 100644 --- a/dist/s_copyright.list +++ b/dist/s_copyright.list @@ -1,4 +1,7 @@ +skip api/leveldb/leveldb_wt_config.h skip api/leveldb/leveldb_wt_config.in +skip bench/workgen/workgen/workgen.py +skip bench/workgen/workgen_wrap.cxx skip build_win/wiredtiger_config.h skip dist/api_config.py skip dist/api_data.py @@ -9,9 +12,11 @@ skip dist/flags.py skip dist/java_doc.py skip dist/log.py skip dist/log_data.py +skip dist/s_label_loop.py skip dist/stat.py skip dist/stat_data.py skip dist/style.py +skip dist/wtperf_config.py skip lang/java/java_doc.i skip lang/java/src/com/wiredtiger/db/AsyncOp.java skip lang/java/src/com/wiredtiger/db/AsyncOpType.java diff --git a/dist/s_define.list b/dist/s_define.list index 8911d888077..9f94132f584 100644 --- a/dist/s_define.list +++ b/dist/s_define.list @@ -58,6 +58,7 @@ WT_STAT_INCRV_BASE WT_STAT_WRITE WT_TIMEDIFF_US WT_TRET_ERROR_OK +WT_UPDATE_SIZE WT_WITH_LOCK_NOWAIT WT_WITH_LOCK_WAIT __F diff --git a/dist/s_prototypes b/dist/s_prototypes index d6228866f08..9675cd5a843 100755 --- a/dist/s_prototypes +++ b/dist/s_prototypes @@ -42,9 +42,6 @@ proto() -e '# Add the warn_unused_result attribute to any external' \ -e '# functions that return an int.' \ -e '/^extern int /s/$/ WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result))/' \ - -e '# Add the hidden attribute to any external functions without' \ - -e '# an explicit visibility.' \ - -e '/visibility/!s/$/ WT_GCC_FUNC_DECL_ATTRIBUTE((visibility("hidden")))/' \ -e 's/$/;/' \ -e p < $1 } diff --git a/dist/s_stat b/dist/s_stat index 6aeeca6faa6..cf9303e5f95 100755 --- a/dist/s_stat +++ b/dist/s_stat @@ -25,15 +25,20 @@ cat << UNUSED_STAT_FIELDS lock_checkpoint_count lock_checkpoint_wait_application lock_checkpoint_wait_internal +lock_dhandle_read_count +lock_dhandle_wait_application +lock_dhandle_wait_internal +lock_dhandle_write_count lock_metadata_count lock_metadata_wait_application lock_metadata_wait_internal lock_schema_count lock_schema_wait_application lock_schema_wait_internal -lock_table_count +lock_table_read_count lock_table_wait_application lock_table_wait_internal +lock_table_write_count UNUSED_STAT_FIELDS echo "$search" diff --git a/dist/s_string.ok b/dist/s_string.ok index 1f7f7d9fd3a..4ddb64297f4 100644 --- a/dist/s_string.ok +++ b/dist/s_string.ok @@ -305,6 +305,7 @@ RMW RNG RPC RUNDIR +RWLOCK RXB Radu ReadFile @@ -344,6 +345,7 @@ Split's Stoica StoreLoad StoreStore +Su Syscall TAILQ TCMalloc @@ -353,6 +355,8 @@ TORTIOUS TSO TXN TXNC +ThreadList +ThreadListWrapper Timespec Timestamp TryCV @@ -515,11 +519,13 @@ change's changelog chdir checkfmt +checkkey checkpointed checkpointer checkpointing checksum checksums +checkvalue children's chk chmod @@ -731,6 +737,7 @@ fsyncLock fsyncs ftruncate func +fvisibility gcc gdb ge @@ -806,6 +813,7 @@ intl intnum intpack intptr +intr intrin inuse io @@ -864,7 +872,9 @@ llll llu loadtext localTime +localkey localtime +localvalue logf logmgr lognum @@ -938,7 +948,10 @@ nbits nchunks nclr nd +needkey +needvalue negint +nentries newbar newfile newuri @@ -957,6 +970,7 @@ noraw notfound notsup notused +novalue nowait nset nsnap @@ -1081,6 +1095,7 @@ rotN rotn rp rpc +ru run's runtime rwlock @@ -1186,6 +1201,7 @@ txnid txnmin txt typedef +typemaps uB uS ui @@ -1266,6 +1282,7 @@ whitespace wiredTiger wiredtiger workFactor +workgen wrapup writeable writelock diff --git a/dist/s_void b/dist/s_void index 249f043d029..d7f2c81a211 100755 --- a/dist/s_void +++ b/dist/s_void @@ -88,8 +88,8 @@ func_ok() -e '/int handle_progress$/d' \ -e '/int helium_cursor_reset$/d' \ -e '/int helium_session_verify$/d' \ - -e '/int index_compare_primary$/d' \ -e '/int index_compare_S$/d' \ + -e '/int index_compare_primary$/d' \ -e '/int index_compare_u$/d' \ -e '/int index_extractor_u$/d' \ -e '/int log_print_err$/d' \ @@ -103,7 +103,6 @@ func_ok() -e '/int nop_pre_size$/d' \ -e '/int nop_sizing$/d' \ -e '/int nop_terminate$/d' \ - -e '/int nop_terminate$/d' \ -e '/int os_errno$/d' \ -e '/int revint_terminate$/d' \ -e '/int rotn_error$/d' \ @@ -111,6 +110,7 @@ func_ok() -e '/int rotn_terminate$/d' \ -e '/int snappy_pre_size$/d' \ -e '/int snappy_terminate$/d' \ + -e '/int subtest_error_handler$/d' \ -e '/int uri2name$/d' \ -e '/int usage$/d' \ -e '/int util_err$/d' \ diff --git a/dist/s_whitespace b/dist/s_whitespace index 0de59bc5825..874074dfb50 100755 --- a/dist/s_whitespace +++ b/dist/s_whitespace @@ -8,6 +8,7 @@ trap 'rm -f $t' 0 1 2 3 13 15 # into a single line, discard trailing empty lines. whitespace() { + ! head $1 | grep -q 'automatically generated by SWIG' || return sed -e 's/[ ][ ]*$//' < $1 | \ cat -s | \ sed -e '${' -e '/^$/d' -e '}' > $t diff --git a/dist/stat_data.py b/dist/stat_data.py index ac79ffd029a..7b919848003 100644 --- a/dist/stat_data.py +++ b/dist/stat_data.py @@ -150,6 +150,7 @@ connection_stats = [ ConnStat('read_io', 'total read I/Os'), ConnStat('rwlock_read', 'pthread mutex shared lock read-lock calls'), ConnStat('rwlock_write', 'pthread mutex shared lock write-lock calls'), + ConnStat('time_travel', 'detected system time went backwards'), ConnStat('write_io', 'total write I/Os'), ########################################## @@ -203,9 +204,12 @@ connection_stats = [ CacheStat('cache_eviction_dirty', 'modified pages evicted'), CacheStat('cache_eviction_empty_score', 'eviction empty score', 'no_clear,no_scale'), CacheStat('cache_eviction_fail', 'pages selected for eviction unable to be evicted'), - CacheStat('cache_eviction_force', 'pages evicted because they exceeded the in-memory maximum'), - CacheStat('cache_eviction_force_delete', 'pages evicted because they had chains of deleted items'), - CacheStat('cache_eviction_force_fail', 'failed eviction of pages that exceeded the in-memory maximum'), + CacheStat('cache_eviction_force', 'pages evicted because they exceeded the in-memory maximum count'), + CacheStat('cache_eviction_force_time', 'pages evicted because they exceeded the in-memory maximum time (usecs)'), + CacheStat('cache_eviction_force_delete', 'pages evicted because they had chains of deleted items count'), + CacheStat('cache_eviction_force_delete_time', 'pages evicted because they had chains of deleted items time (usecs)'), + CacheStat('cache_eviction_force_fail', 'failed eviction of pages that exceeded the in-memory maximum count'), + CacheStat('cache_eviction_force_fail_time', 'failed eviction of pages that exceeded the in-memory maximum time (usecs)'), CacheStat('cache_eviction_force_retune', 'force re-tuning of eviction workers once in a while'), CacheStat('cache_eviction_get_ref', 'eviction calls to get a page'), CacheStat('cache_eviction_get_ref_empty', 'eviction calls to get a page found queue empty'), @@ -230,8 +234,8 @@ connection_stats = [ CacheStat('cache_eviction_walks_abandoned', 'eviction walks abandoned'), CacheStat('cache_eviction_walks_active', 'files with active eviction walks', 'no_clear,no_scale'), CacheStat('cache_eviction_walks_started', 'files with new eviction walks started'), - CacheStat('cache_eviction_worker_evicting', 'eviction worker thread evicting pages'), CacheStat('cache_eviction_worker_created', 'eviction worker thread created'), + CacheStat('cache_eviction_worker_evicting', 'eviction worker thread evicting pages'), CacheStat('cache_eviction_worker_removed', 'eviction worker thread removed'), CacheStat('cache_hazard_checks', 'hazard pointer check calls'), CacheStat('cache_hazard_max', 'hazard pointer maximum array length', 'max_aggregate,no_scale'), @@ -261,9 +265,11 @@ connection_stats = [ ########################################## CursorStat('cursor_create', 'cursor create calls'), CursorStat('cursor_insert', 'cursor insert calls'), + CursorStat('cursor_modify', 'cursor modify calls'), CursorStat('cursor_next', 'cursor next calls'), CursorStat('cursor_prev', 'cursor prev calls'), CursorStat('cursor_remove', 'cursor remove calls'), + CursorStat('cursor_reserve', 'cursor reserve calls'), CursorStat('cursor_reset', 'cursor reset calls'), CursorStat('cursor_restart', 'cursor restarted searches'), CursorStat('cursor_search', 'cursor search calls'), @@ -289,16 +295,20 @@ connection_stats = [ LockStat('lock_checkpoint_count', 'checkpoint lock acquisitions'), LockStat('lock_checkpoint_wait_application', 'checkpoint lock application thread wait time (usecs)'), LockStat('lock_checkpoint_wait_internal', 'checkpoint lock internal thread wait time (usecs)'), - LockStat('lock_handle_list_wait_eviction', 'handle-list lock eviction thread wait time (usecs)'), + LockStat('lock_dhandle_read_count', 'dhandle read lock acquisitions'), + LockStat('lock_dhandle_wait_application', 'dhandle lock application thread time waiting for the dhandle lock (usecs)'), + LockStat('lock_dhandle_wait_internal', 'dhandle lock internal thread time waiting for the dhandle lock (usecs)'), + LockStat('lock_dhandle_write_count', 'dhandle write lock acquisitions'), LockStat('lock_metadata_count', 'metadata lock acquisitions'), LockStat('lock_metadata_wait_application', 'metadata lock application thread wait time (usecs)'), LockStat('lock_metadata_wait_internal', 'metadata lock internal thread wait time (usecs)'), LockStat('lock_schema_count', 'schema lock acquisitions'), LockStat('lock_schema_wait_application', 'schema lock application thread wait time (usecs)'), LockStat('lock_schema_wait_internal', 'schema lock internal thread wait time (usecs)'), - LockStat('lock_table_count', 'table lock acquisitions'), + LockStat('lock_table_read_count', 'table read lock acquisitions'), LockStat('lock_table_wait_application', 'table lock application thread time waiting for the table lock (usecs)'), LockStat('lock_table_wait_internal', 'table lock internal thread time waiting for the table lock (usecs)'), + LockStat('lock_table_write_count', 'table write lock acquisitions'), ########################################## # Logging statistics @@ -324,16 +334,22 @@ connection_stats = [ LogStat('log_scan_records', 'records processed by log scan'), LogStat('log_scan_rereads', 'log scan records requiring two reads'), LogStat('log_scans', 'log scan operations'), - LogStat('log_slot_active_closed', 'consolidated slot join active slot closed'), - LogStat('log_slot_closes', 'consolidated slot closures'), + LogStat('log_slot_active_closed', 'slot join found active slot closed'), + LogStat('log_slot_close_race', 'slot close lost race'), + LogStat('log_slot_close_unbuf', 'slot close unbuffered waits'), + LogStat('log_slot_closes', 'slot closures'), LogStat('log_slot_coalesced', 'written slots coalesced'), LogStat('log_slot_consolidated', 'logging bytes consolidated', 'size'), - LogStat('log_slot_joins', 'consolidated slot joins'), - LogStat('log_slot_no_free_slots', 'consolidated slot transitions unable to find free slot'), - LogStat('log_slot_races', 'consolidated slot join races'), + LogStat('log_slot_immediate', 'slot join calls did not yield'), + LogStat('log_slot_no_free_slots', 'slot transitions unable to find free slot'), + LogStat('log_slot_races', 'slot join atomic update races'), LogStat('log_slot_switch_busy', 'busy returns attempting to switch slots'), - LogStat('log_slot_transitions', 'consolidated slot join transitions'), - LogStat('log_slot_unbuffered', 'consolidated slot unbuffered writes'), + LogStat('log_slot_unbuffered', 'slot unbuffered writes'), + LogStat('log_slot_yield', 'slot join calls yielded'), + LogStat('log_slot_yield_close', 'slot join calls found active slot closed'), + LogStat('log_slot_yield_duration', 'slot joins yield time (usecs)', 'no_clear,no_scale'), + LogStat('log_slot_yield_race', 'slot join calls atomic updates raced'), + LogStat('log_slot_yield_sleep', 'slot join calls slept'), LogStat('log_sync', 'log sync operations'), LogStat('log_sync_dir', 'log sync_dir operations'), LogStat('log_sync_dir_duration', 'log sync_dir time duration (usecs)', 'no_clear,no_scale'), @@ -424,6 +440,7 @@ connection_stats = [ TxnStat('txn_snapshots_created', 'number of named snapshots created'), TxnStat('txn_snapshots_dropped', 'number of named snapshots dropped'), TxnStat('txn_sync', 'transaction sync calls'), + TxnStat('txn_update_conflict', 'update conflicts'), ########################################## # Yield statistics @@ -546,10 +563,12 @@ dsrc_stats = [ CursorStat('cursor_insert', 'insert calls'), CursorStat('cursor_insert_bulk', 'bulk-loaded cursor-insert calls'), CursorStat('cursor_insert_bytes', 'cursor-insert key and value bytes inserted', 'size'), + CursorStat('cursor_modify', 'modify calls'), CursorStat('cursor_next', 'next calls'), CursorStat('cursor_prev', 'prev calls'), CursorStat('cursor_remove', 'remove calls'), CursorStat('cursor_remove_bytes', 'cursor-remove key bytes removed', 'size'), + CursorStat('cursor_reserve', 'reserve calls'), CursorStat('cursor_reset', 'reset calls'), CursorStat('cursor_restart', 'restarted searches'), CursorStat('cursor_search', 'search calls'), |