summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/dist
diff options
context:
space:
mode:
authorRamon Fernandez <ramon@mongodb.com>2016-08-26 18:28:48 -0400
committerRamon Fernandez <ramon@mongodb.com>2016-08-26 18:28:48 -0400
commitf2a613a41d6ad7b5a1b66087e386380d38e50599 (patch)
tree4843fb7b6a835e72046142046e9364f7d7dda992 /src/third_party/wiredtiger/dist
parent7614c0eb2449eb4ec22d21b677177124d61f1888 (diff)
downloadmongo-f2a613a41d6ad7b5a1b66087e386380d38e50599.tar.gz
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
Diffstat (limited to 'src/third_party/wiredtiger/dist')
-rw-r--r--src/third_party/wiredtiger/dist/api_config.py6
-rw-r--r--src/third_party/wiredtiger/dist/api_data.py28
-rw-r--r--src/third_party/wiredtiger/dist/filelist6
-rw-r--r--src/third_party/wiredtiger/dist/flags.py1
-rw-r--r--src/third_party/wiredtiger/dist/s_funcs.list1
-rwxr-xr-xsrc/third_party/wiredtiger/dist/s_longlines1
-rwxr-xr-xsrc/third_party/wiredtiger/dist/s_prototypes7
-rw-r--r--src/third_party/wiredtiger/dist/s_string.ok40
-rwxr-xr-xsrc/third_party/wiredtiger/dist/s_style5
-rwxr-xr-xsrc/third_party/wiredtiger/dist/s_win2
-rw-r--r--src/third_party/wiredtiger/dist/stat_data.py6
11 files changed, 75 insertions, 28 deletions
diff --git a/src/third_party/wiredtiger/dist/api_config.py b/src/third_party/wiredtiger/dist/api_config.py
index b451e939ef3..5ccd8247b76 100644
--- a/src/third_party/wiredtiger/dist/api_config.py
+++ b/src/third_party/wiredtiger/dist/api_config.py
@@ -195,13 +195,15 @@ def checkstr(c):
def get_default(c):
t = gettype(c)
if c.default == 'false':
- return '0'
+ return 'false'
+ elif c.default == 'true':
+ return 'true'
elif t == 'string' and c.default == 'none':
return ''
elif t == 'category':
return '(%s)' % (','.join('%s=%s' % (subc.name, get_default(subc))
for subc in sorted(c.subconfig)))
- elif (c.default or t == 'int') and c.default != 'true':
+ elif c.default or t == 'int':
return str(c.default).replace('"', '\\"')
else:
return ''
diff --git a/src/third_party/wiredtiger/dist/api_data.py b/src/third_party/wiredtiger/dist/api_data.py
index 1302247e88e..e732e42d36d 100644
--- a/src/third_party/wiredtiger/dist/api_data.py
+++ b/src/third_party/wiredtiger/dist/api_data.py
@@ -375,7 +375,8 @@ connection_runtime_config = [
type='category', subconfig=[
Config('log_size', '0', r'''
wait for this amount of log record bytes to be written to
- the log between each checkpoint. A database can configure
+ the log between each checkpoint. If non-zero, this value will
+ use a minimum of the log file size. A database can configure
both log_size and wait to set an upper bound for checkpoints;
setting this value above 0 configures periodic checkpoints''',
min='0', max='2GB'),
@@ -402,23 +403,25 @@ connection_runtime_config = [
min=1, max=20),
]),
Config('eviction_dirty_target', '5', r'''
- continue evicting until the cache has less dirty memory than the
- value, as a percentage of the total cache size. Dirty pages will
- only be evicted if the cache is full enough to trigger eviction''',
+ perform eviction in worker threads when the cache contains at least
+ this much dirty content, expressed as a percentage of the total cache
+ size.''',
min=1, max=99),
Config('eviction_dirty_trigger', '20', r'''
- trigger eviction when the cache is using this much memory for dirty
- content, as a percentage of the total cache size. This setting only
- alters behavior if it is lower than eviction_trigger''',
+ trigger application threads to perform eviction when the cache contains
+ at least this much dirty content, expressed as a percentage of the
+ total cache size. This setting only alters behavior if it is lower than
+ eviction_trigger''',
min=1, max=99),
Config('eviction_target', '80', r'''
- continue evicting until the cache has less total memory than the
- value, as a percentage of the total cache size. Must be less than
- \c eviction_trigger''',
+ perform eviction in worker threads when the cache contains at least
+ this much content, expressed as a percentage of the total cache size.
+ Must be less than \c eviction_trigger''',
min=10, max=99),
Config('eviction_trigger', '95', r'''
- trigger eviction when the cache is using this much memory, as a
- percentage of the total cache size''', min=10, max=99),
+ trigger application threads to perform eviction when the cache contains
+ at least this much content, expressed as a percentage of the
+ total cache size.''', min=10, max=99),
Config('file_manager', '', r'''
control how file handles are managed''',
type='category', subconfig=[
@@ -516,6 +519,7 @@ connection_runtime_config = [
'shared_cache',
'split',
'temporary',
+ 'thread_group',
'transaction',
'verify',
'version',
diff --git a/src/third_party/wiredtiger/dist/filelist b/src/third_party/wiredtiger/dist/filelist
index 59624508cf0..e16ae879a33 100644
--- a/src/third_party/wiredtiger/dist/filelist
+++ b/src/third_party/wiredtiger/dist/filelist
@@ -47,9 +47,11 @@ src/btree/row_key.c
src/btree/row_modify.c
src/btree/row_srch.c
src/cache/cache_las.c
-src/checksum/checksum.c
src/checksum/power8/crc32.S POWERPC_HOST
src/checksum/power8/crc32_wrapper.c POWERPC_HOST
+src/checksum/x86/checksum.c X86_HOST
+src/checksum/zseries/crc32-s390x.c ZSERIES_HOST
+src/checksum/zseries/crc32le-vx.S ZSERIES_HOST
src/config/config.c
src/config/config_api.c
src/config/config_check.c
@@ -145,6 +147,7 @@ src/os_win/os_sleep.c WINDOWS_HOST
src/os_win/os_snprintf.c WINDOWS_HOST
src/os_win/os_thread.c WINDOWS_HOST
src/os_win/os_time.c WINDOWS_HOST
+src/os_win/os_utf8.c WINDOWS_HOST
src/os_win/os_vsnprintf.c WINDOWS_HOST
src/os_win/os_winerr.c WINDOWS_HOST
src/os_win/os_yield.c WINDOWS_HOST
@@ -182,6 +185,7 @@ src/support/pow.c
src/support/rand.c
src/support/scratch.c
src/support/stat.c
+src/support/thread_group.c
src/txn/txn.c
src/txn/txn_ckpt.c
src/txn/txn_ext.c
diff --git a/src/third_party/wiredtiger/dist/flags.py b/src/third_party/wiredtiger/dist/flags.py
index 8091283a8c0..93b6e0cbbf4 100644
--- a/src/third_party/wiredtiger/dist/flags.py
+++ b/src/third_party/wiredtiger/dist/flags.py
@@ -80,6 +80,7 @@ flags = {
'VERB_SHARED_CACHE',
'VERB_SPLIT',
'VERB_TEMPORARY',
+ 'VERB_THREAD_GROUP',
'VERB_TRANSACTION',
'VERB_VERIFY',
'VERB_VERSION',
diff --git a/src/third_party/wiredtiger/dist/s_funcs.list b/src/third_party/wiredtiger/dist/s_funcs.list
index c0d9f2e688f..01835390997 100644
--- a/src/third_party/wiredtiger/dist/s_funcs.list
+++ b/src/third_party/wiredtiger/dist/s_funcs.list
@@ -1,6 +1,7 @@
# List of functions that aren't found by s_funcs, but that's OK.
FUNC_END
FUNC_START
+WT_CRC32_ENTRY
WT_CURDUMP_PASS
__bit_ffs
__bit_nclr
diff --git a/src/third_party/wiredtiger/dist/s_longlines b/src/third_party/wiredtiger/dist/s_longlines
index 91dada361f4..43e350022dd 100755
--- a/src/third_party/wiredtiger/dist/s_longlines
+++ b/src/third_party/wiredtiger/dist/s_longlines
@@ -9,6 +9,7 @@ l=`(cd .. &&
find dist -name '*.py' &&
find src -name '*.in') |
sed -e '/checksum\/power8/d' \
+ -e '/checksum\/zseries/d' \
-e '/dist\/stat_data\.py/d' \
-e '/include\/extern\.h/d' \
-e '/include\/extern_posix\.h/d' \
diff --git a/src/third_party/wiredtiger/dist/s_prototypes b/src/third_party/wiredtiger/dist/s_prototypes
index 73f7be371ea..89fa750d106 100755
--- a/src/third_party/wiredtiger/dist/s_prototypes
+++ b/src/third_party/wiredtiger/dist/s_prototypes
@@ -28,7 +28,7 @@ proto()
-e 's/\* /\*/g' \
-e 's/ */ /g' \
-e 's/^/extern /' \
- -e 's/WT_GCC_FUNC_/WT_GCC_FUNC_DECL_/g' \
+ -e 's/WT_GCC_FUNC_ATTRIBUTE/WT_GCC_FUNC_DECL_ATTRIBUTE/g' \
-e '# If a line ends in #endif, appending a semicolon will result' \
-e '# in an illegal expression, force an appended newline using' \
-e '# the H command because substitute may not allow newline in' \
@@ -39,6 +39,9 @@ proto()
-e H \
-e x \
-e '}' \
+ -e '# Add the gcc 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 's/$/;/' \
-e p < $1
}
@@ -73,6 +76,8 @@ externs
f=../src/include/extern.h
l=`sed \
-e '/^[a-z]/!d' \
+ -e '/\/checksum\/power8/d' \
+ -e '/\/checksum\/zseries/d' \
-e '/os_posix/d' \
-e '/os_win/d' \
-e 's/[ ].*$//' filelist`
diff --git a/src/third_party/wiredtiger/dist/s_string.ok b/src/third_party/wiredtiger/dist/s_string.ok
index 8c5f1e99bff..30a2f1b77e9 100644
--- a/src/third_party/wiredtiger/dist/s_string.ok
+++ b/src/third_party/wiredtiger/dist/s_string.ok
@@ -5,6 +5,7 @@ AAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAA
ABCDEFGHIJKLMNOPQRSTUVWXYZ
+ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
ADDR
ADDRs
AJ
@@ -12,6 +13,7 @@ API
APIs
ARG
ARGS
+ASM
ASYNC
Addr
Ailamaki
@@ -37,6 +39,7 @@ BZ
Barack
Bitfield
Bitwise
+Brueckner
Bsearch
Btree
Buf
@@ -59,6 +62,7 @@ CSV
CURSORs
CURSTD
CallsCustDate
+Castagnoli
Checkpointing
Checksum
Checksums
@@ -67,9 +71,9 @@ CloseHandle
Comparator
Config
Coverity
-CreateFileA
CreateFileMapping
-CreateFileMappingA
+CreateFileMappingW
+CreateFileW
Crummey
CustomersPhone
DECL
@@ -85,7 +89,7 @@ DbCursor
DbEnv
Decrement
Decrypt
-DeleteFileA
+DeleteFileW
EACCES
EAGAIN
EB
@@ -135,17 +139,18 @@ GIDs
Gcc
Geoff
GetEnvironmentVariableA
-GetFileAttributesA
GetFileAttributesEx
+GetFileAttributesW
GetFileSizeEx
GetLastError
-GetModuleHandleEx
+GetModuleHandleExW
GetProcAddress
Google
HFS
HHHH
HHHHLL
HHHLL
+Hendrik
HyperLevelDB
IEC
IEEE
@@ -156,9 +161,11 @@ INCR
INIT
INITIALIZER
INMEM
+INSN
INTL
ISA
ITEMs
+InitializeCriticalSectionAndSpinCount
Inline
Intra
Ippokratis
@@ -205,6 +212,8 @@ MEMALIGN
MERCHANTABILITY
METADATA
MONGODB
+MRXB
+MRXBOPC
MSVC
MULTI
MULTIBLOCK
@@ -219,8 +228,9 @@ Mewhort
Mitzenmacher
MongoDB
MoveFile
-MoveFileA
+MoveFileW
Multi
+MultiByteToWideChar
Multithreaded
Mutex
MySecret
@@ -233,6 +243,7 @@ NOTFOUND
NOTREACHED
NOVALUE
NUL
+NUM
NetBSD
NoAddr
Noll
@@ -243,6 +254,7 @@ OUTBUFF
OVFL
ObWgfvgw
Obama
+Opcode
Outfmt
PARAM
POSIX
@@ -276,6 +288,7 @@ RMW
RNG
RPC
RUNDIR
+RXB
Radu
ReadFile
Readonly
@@ -345,6 +358,8 @@ Uryyb
VARCHAR
VLDB
VMSG
+VR
+VX
Vc
Vfprintf
Vigenere
@@ -362,6 +377,7 @@ Wconditional
WeakHashLen
Werror
Wformat
+WideCharToMultiByte
WinNT
WiredTiger
WiredTiger's
@@ -407,12 +423,14 @@ autocommit
autoconf
automake
bInheritHandle
+bal
basecfg
basho
bcr
bdb
beginthreadex
bigram
+binutils
bitcnt
bitfield
bitfields
@@ -500,6 +518,7 @@ conn
connectionp
const
constantp
+consts
cookiep
copydoc
copyin
@@ -629,6 +648,7 @@ fcntl
fd
fdatasync
fdopen
+fextend
ffc
fflush
ffs
@@ -706,7 +726,10 @@ iSh
ibackup
icount
idx
+ifdef
ifdef's
+iiSii
+iiii
iiu
ikey
im
@@ -897,6 +920,7 @@ onint
online
onpage
oo
+opcode
opendir
openfile
optimizations
@@ -904,6 +928,7 @@ optype
ori
os
osfhandle
+other's
ovfl
ownp
pR
@@ -961,6 +986,7 @@ qrrSS
qsort
quartile
qup
+rN
rS
rb
rbrace
@@ -1146,6 +1172,7 @@ usr
utf
util
uu
+vN
vW
va
valgrind
@@ -1165,6 +1192,7 @@ vsnprintf
vtype
vunpack
vw
+vxr
waitpid
walk's
warmup
diff --git a/src/third_party/wiredtiger/dist/s_style b/src/third_party/wiredtiger/dist/s_style
index e33db5a5fab..47f18ef1f18 100755
--- a/src/third_party/wiredtiger/dist/s_style
+++ b/src/third_party/wiredtiger/dist/s_style
@@ -20,7 +20,8 @@ if [ $# -ne 1 ]; then
-name '*.[chisy]' -o -name '*.in' -o -name '*.dox' |
sed -e '/Makefile.in/d' \
-e '/build_win\/wiredtiger_config.h/d' \
- -e '/checksum\/power8/d' |
+ -e '/checksum\/power8/d' \
+ -e '/checksum\/zseries/d' |
xargs $xp -n 1 -I{} sh ./dist/s_style {}
else
# General style correction and cleanup for a single file
@@ -173,7 +174,7 @@ else
-e 's/\([ ,]\)u_int64_t\([ ,]\)/\1uint64_t\2/g' \
-e 's/\([ ,]\)u_quad\([ ,]\)/\1uint64_t\2/g' \
-e 's/\([|&=+-]\) *\([^*]\)/\1 \2/' \
- -e 's/(void) \([a-zA-Z_]\)/(void)\1/' \
+ -e 's/[ ](void) \([a-zA-Z_]\)/(void)\1/' \
-e '/for /!s/;;$/;/' \
-e 's/(EOPNOTSUPP)/(ENOTSUP)/' \
-e 's/(unsigned)/(u_int)/' \
diff --git a/src/third_party/wiredtiger/dist/s_win b/src/third_party/wiredtiger/dist/s_win
index 49deb348bc3..5b45cacf0f4 100755
--- a/src/third_party/wiredtiger/dist/s_win
+++ b/src/third_party/wiredtiger/dist/s_win
@@ -19,7 +19,7 @@ win_config()
test -s $t && {
echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="
- echo "Windows #defines missing from $f"
+ echo "$f: configuration #defines do not match POSIX"
echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="
cat $t
exit 1
diff --git a/src/third_party/wiredtiger/dist/stat_data.py b/src/third_party/wiredtiger/dist/stat_data.py
index 51cc487f04c..af410a341bd 100644
--- a/src/third_party/wiredtiger/dist/stat_data.py
+++ b/src/third_party/wiredtiger/dist/stat_data.py
@@ -201,12 +201,12 @@ connection_stats = [
CacheStat('cache_eviction_queue_empty', 'eviction server candidate queue empty when topping up'),
CacheStat('cache_eviction_queue_not_empty', 'eviction server candidate queue not empty when topping up'),
CacheStat('cache_eviction_server_evicting', 'eviction server evicting pages'),
- CacheStat('cache_eviction_server_not_evicting', 'eviction server populating queue, but not evicting pages'),
CacheStat('cache_eviction_server_slept', 'eviction server slept, because we did not make progress with eviction'),
CacheStat('cache_eviction_server_toobig', 'eviction server skipped very large page'),
CacheStat('cache_eviction_slow', 'eviction server unable to reach eviction goal'),
CacheStat('cache_eviction_split_internal', 'internal pages split during eviction'),
CacheStat('cache_eviction_split_leaf', 'leaf pages split during eviction'),
+ CacheStat('cache_eviction_state', 'eviction state', 'no_clear,no_scale'),
CacheStat('cache_eviction_walk', 'pages walked for eviction'),
CacheStat('cache_eviction_walks_active', 'files with active eviction walks', 'no_clear,no_scale,size'),
CacheStat('cache_eviction_walks_started', 'files with new eviction walks started'),
@@ -276,8 +276,8 @@ connection_stats = [
LogStat('log_slot_unbuffered', 'consolidated slot unbuffered writes'),
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)'),
- LogStat('log_sync_duration', 'log sync time duration (usecs)'),
+ LogStat('log_sync_dir_duration', 'log sync_dir time duration (usecs)', 'no_clear,no_scale'),
+ LogStat('log_sync_duration', 'log sync time duration (usecs)', 'no_clear,no_scale'),
LogStat('log_write_lsn', 'log server thread advances write LSN'),
LogStat('log_write_lsn_skip', 'log server thread write LSN walk skipped'),
LogStat('log_writes', 'log write operations'),