summaryrefslogtreecommitdiff
path: root/test/tcl/env020.tcl
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2015-02-17 17:25:57 +0000
committer <>2015-03-17 16:26:24 +0000
commit780b92ada9afcf1d58085a83a0b9e6bc982203d1 (patch)
tree598f8b9fa431b228d29897e798de4ac0c1d3d970 /test/tcl/env020.tcl
parent7a2660ba9cc2dc03a69ddfcfd95369395cc87444 (diff)
downloadberkeleydb-master.tar.gz
Imported from /home/lorry/working-area/delta_berkeleydb/db-6.1.23.tar.gz.HEADdb-6.1.23master
Diffstat (limited to 'test/tcl/env020.tcl')
-rw-r--r--test/tcl/env020.tcl214
1 files changed, 174 insertions, 40 deletions
diff --git a/test/tcl/env020.tcl b/test/tcl/env020.tcl
index 58ae1773..a3b80684 100644
--- a/test/tcl/env020.tcl
+++ b/test/tcl/env020.tcl
@@ -1,6 +1,6 @@
# See the file LICENSE for redistribution information.
#
-# Copyright (c) 2011, 2012 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2015 Oracle and/or its affiliates. All rights reserved.
#
# $Id$
#
@@ -32,6 +32,7 @@ proc env020 { } {
env020_txn_stat_print
env020_bt_stat_print
env020_ham_stat_print
+ env020_heap_stat_print
env020_ram_stat_print
env020_qam_stat_print
env020_seq_stat_print
@@ -47,7 +48,7 @@ proc env020_init_include { } {
set f [open "./env020_include.tcl" w]
puts $f "global section_separator"
puts $f "global statprt_pattern"
- puts $f "global region_statprt_pattern "
+ puts $f "global region_statprt_pattern"
puts $f "global lk_statprt_pattern_def"
puts $f "global lk_statprt_pattern_params"
puts $f "global lk_statprt_pattern_conf"
@@ -79,6 +80,10 @@ proc env020_init_include { } {
puts $f "global env_statprt_pattern_ENV"
puts $f "global env_statprt_pattern_DB_ENV"
puts $f "global env_statprt_pattern_per_region"
+ puts $f "global env_statprt_pattern_allocation"
+ puts $f "global env_statprt_pattern_LOG_SUBSYSTEM"
+ puts $f "global env_statprt_pattern_LOCK_SUBSYSTEM"
+ puts $f "global env_statprt_pattern_MUTEX_SUBSYSTEM"
close $f
}
@@ -176,6 +181,8 @@ proc env020_init { } {
"Maximum number of locks stolen for any one partition"
"Number of current lockers"
"Maximum number of lockers at any one time"
+ "Number of hits in the thread locker cache"
+ "Total number of lockers reused"
"Number of current lock objects"
"Maximum number of lock objects at any one time"
"Maximum number of lock objects in any one bucket"
@@ -336,6 +343,7 @@ proc env020_init { } {
"The number of buffers frozen"
"The number of buffers thawed"
"The number of frozen buffers freed"
+ "The number of outdated intermediate versions reused"
"The number of page allocations"
"The number of hash buckets examined during allocations"
"The maximum number of hash buckets examined for an allocation"
@@ -428,6 +436,7 @@ proc env020_init { } {
{^bucket \d*:.*}
"pageno, file, ref, LSN, address, priority, flags"
{\d*, #\d*,\s*\d*,\s*\d*/\d*, 0[xX][0-9a-fA-F]*, \d*}
+ {free frozen \d* pgno \d* mtx_buf \d*}
}
set mut_statprt_pattern_def {
@@ -497,6 +506,7 @@ proc env020_init { } {
set rep_statprt_pattern_def {
"Environment configured as a replication master"
"Environment configured as a replication client"
+ "Environment not configured as view site"
"Environment not configured for replication"
"Next LSN to be used"
"Next LSN expected"
@@ -632,6 +642,12 @@ proc env020_init { } {
"Number of failed new connection attempts"
"Number of currently active election threads"
"Election threads for which space is reserved"
+ "Number of participant sites in replication group"
+ "Total number of sites in replication group"
+ "Number of view sites in replication group"
+ "Number of automatic replication process takeovers"
+ "Number of messages discarded due to incoming queue full"
+ "Incoming message size in queue"
}
set repmgr_statprt_pattern_sites {
@@ -697,6 +713,7 @@ proc env020_init { } {
"References"
"Current region size"
"Maximum region size"
+ "Process failure detected"
}
set env_statprt_pattern_filehandle {
@@ -733,6 +750,7 @@ proc env020_init { } {
"IsAlive"
"ThreadId"
"ThreadIdString"
+ "Blob dir"
"Log dir"
"Metadata dir"
"Tmp dir"
@@ -740,12 +758,14 @@ proc env020_init { } {
"Intermediate directory mode"
"Shared memory key"
"Password"
+ "Blob threshold"
"App private"
"Api1 internal"
"Api2 internal"
"Verbose flags"
"Mutex align"
"Mutex cnt"
+ "Mutex failchk timeout"
"Mutex inc"
"Mutex tas spins"
"Lock conflicts"
@@ -830,13 +850,36 @@ proc env020_init { } {
"Operation timestamp"
"Replication timestamp"
}
+
+ set env_statprt_pattern_allocation {
+ "Allocation list by address, offset: {chunk length, user length}"
+ {0[xX][0-9a-fA-F]*,\s*\d*\s*{\d*, \s*\d*}}
+ {0[xX][0-9a-fA-F]*\s*{\d*}}
+ }
+
+ set env_statprt_pattern_LOG_SUBSYSTEM {
+ "LOG FNAME list"
+ "Fid max"
+ "Log buffer size"
+ {btree\s*\d\s*\d*\s*\d\s*\d\s*\d\s*DBP}
+ {\(\d [0-9a-fA-F]* \d*\)}
+ }
+
+ set env_statprt_pattern_LOCK_SUBSYSTEM {
+ "Number of ids on the free stack"
+ {dd= \d locks held \d\s*write locks \d\s*pid/thread \d*/\d*}
+ }
+
+ set env_statprt_pattern_MUTEX_SUBSYSTEM {
+ "DB_MUTEXREGION structure:"
+ }
}
proc env020_lock_stat_print { } {
source "./env020_include.tcl"
set opts {"" "-clear" "-lk_conf" "-lk_lockers" "-lk_objects"
- "-lk_params" "-all"}
+ "-lk_params" "-all" "-all -alloc"}
set patterns [list $lk_statprt_pattern_def $lk_statprt_pattern_def \
[concat $section_separator $region_statprt_pattern \
$lk_statprt_pattern_conf] \
@@ -849,7 +892,12 @@ proc env020_lock_stat_print { } {
[concat $section_separator [env020_def_pattern lock] \
$region_statprt_pattern $lk_statprt_pattern_def \
$lk_statprt_pattern_conf $lk_statprt_pattern_lockers \
- $lk_statprt_pattern_objects $lk_statprt_pattern_params]]
+ $lk_statprt_pattern_objects $lk_statprt_pattern_params] \
+ [concat $section_separator [env020_def_pattern lock] \
+ $region_statprt_pattern $lk_statprt_pattern_def \
+ $lk_statprt_pattern_conf $lk_statprt_pattern_lockers \
+ $lk_statprt_pattern_objects $lk_statprt_pattern_params \
+ $env_statprt_pattern_allocation]]
set check_type lock_stat_print
set stp_method lock_stat_print
@@ -859,11 +907,15 @@ proc env020_lock_stat_print { } {
proc env020_log_stat_print { } {
source "./env020_include.tcl"
- set opts {"" "-clear" "-all"}
+ set opts {"" "-clear" "-all" "-all -alloc"}
set patterns [list $log_statprt_pattern_def $log_statprt_pattern_def \
[concat $section_separator [env020_def_pattern log] \
$region_statprt_pattern $log_statprt_pattern_def \
- $log_statprt_pattern_DBLOG $log_statprt_pattern_LOG]]
+ $log_statprt_pattern_DBLOG $log_statprt_pattern_LOG] \
+ [concat $section_separator [env020_def_pattern log] \
+ $region_statprt_pattern $log_statprt_pattern_def \
+ $log_statprt_pattern_DBLOG $log_statprt_pattern_LOG \
+ $env_statprt_pattern_allocation]]
set check_type log_stat_print
set stp_method log_stat_print
@@ -873,7 +925,7 @@ proc env020_log_stat_print { } {
proc env020_mpool_stat_print { } {
source "./env020_include.tcl"
- set opts {"" "-clear" "-hash" "-all"}
+ set opts {"" "-clear" "-hash" "-all" "-all -alloc"}
set patterns [list $mp_statprt_pattern_def $mp_statprt_pattern_def \
[concat $section_separator $region_statprt_pattern \
$mp_statprt_pattern_MPOOL $mp_statprt_pattern_DB_MPOOL \
@@ -883,7 +935,12 @@ proc env020_mpool_stat_print { } {
$mp_statprt_pattern_MPOOL $mp_statprt_pattern_DB_MPOOL \
$mp_statprt_pattern_DB_MPOOLFILE $mp_statprt_pattern_MPOOLFILE \
$mp_statprt_pattern_Cache $mp_statprt_pattern_def \
- [env020_def_pattern mp]]]
+ [env020_def_pattern mp]] \
+ [concat $section_separator $region_statprt_pattern \
+ $mp_statprt_pattern_MPOOL $mp_statprt_pattern_DB_MPOOL \
+ $mp_statprt_pattern_DB_MPOOLFILE $mp_statprt_pattern_MPOOLFILE \
+ $mp_statprt_pattern_Cache $mp_statprt_pattern_def \
+ [env020_def_pattern mp] $env_statprt_pattern_allocation]]
set check_type mpool_stat_print
set stp_method mpool_stat_print
@@ -893,11 +950,15 @@ proc env020_mpool_stat_print { } {
proc env020_mutex_stat_print { } {
source "./env020_include.tcl"
- set opts {"" "-clear" "-all"}
+ set opts {"" "-clear" "-all" "-all -alloc"}
set patterns [list $mut_statprt_pattern_def $mut_statprt_pattern_def \
[concat $section_separator $region_statprt_pattern \
[env020_def_pattern mut] $mut_statprt_pattern_def \
- $mut_statprt_pattern_mutex $mut_statprt_pattern_DB_MUTEXREGION]]
+ $mut_statprt_pattern_mutex $mut_statprt_pattern_DB_MUTEXREGION] \
+ [concat $section_separator $region_statprt_pattern \
+ [env020_def_pattern mut] $mut_statprt_pattern_def \
+ $mut_statprt_pattern_mutex $mut_statprt_pattern_DB_MUTEXREGION \
+ $env_statprt_pattern_allocation]]
set check_type mutex_stat_print
set stp_method mutex_stat_print
@@ -935,11 +996,15 @@ proc env020_repmgr_stat_print { } {
proc env020_txn_stat_print { } {
source "./env020_include.tcl"
- set opts {"" "-clear" "-all"}
+ set opts {"" "-clear" "-all" "-all -alloc"}
set patterns [list $txn_statprt_pattern_def $txn_statprt_pattern_def \
[concat $section_separator [env020_def_pattern txn] \
$region_statprt_pattern $txn_statprt_pattern_def \
- $txn_statprt_pattern_DB_TXNMGR $txn_statprt_pattern_DB_TXNREGION]]
+ $txn_statprt_pattern_DB_TXNMGR $txn_statprt_pattern_DB_TXNREGION] \
+ [concat $section_separator [env020_def_pattern txn] \
+ $region_statprt_pattern $txn_statprt_pattern_def \
+ $txn_statprt_pattern_DB_TXNMGR $txn_statprt_pattern_DB_TXNREGION \
+ $env_statprt_pattern_allocation]]
set check_type txn_stat_print
set stp_method txn_stat_print
@@ -949,7 +1014,8 @@ proc env020_txn_stat_print { } {
proc env020_env_stat_print { } {
source "./env020_include.tcl"
- set opts {"" "-clear" "-all" "-subsystem"}
+ set opts {"" "-clear" "-all" "-all -alloc" "-all -subsystem" \
+ "-all -subsystem -alloc"}
set patterns [list \
[concat $env_statprt_pattern_Main $section_separator \
$env_statprt_pattern_filehandle] \
@@ -959,11 +1025,52 @@ proc env020_env_stat_print { } {
$region_statprt_pattern $env_statprt_pattern_Main \
$env_statprt_pattern_filehandle $env_statprt_pattern_ENV \
$env_statprt_pattern_DB_ENV $env_statprt_pattern_per_region] \
- [concat $section_separator $env_statprt_pattern_Main \
- $env_statprt_pattern_filehandle $log_statprt_pattern_def \
- $lk_statprt_pattern_def $mp_statprt_pattern_def \
- $rep_statprt_pattern_def $repmgr_statprt_pattern_def \
- $txn_statprt_pattern_def $mut_statprt_pattern_def]]
+ [concat $section_separator [env020_def_pattern env] \
+ $region_statprt_pattern $env_statprt_pattern_Main \
+ $env_statprt_pattern_filehandle $env_statprt_pattern_ENV \
+ $env_statprt_pattern_DB_ENV $env_statprt_pattern_per_region \
+ $env_statprt_pattern_allocation] \
+ [concat $section_separator [env020_def_pattern env] \
+ $region_statprt_pattern $env_statprt_pattern_Main \
+ $env_statprt_pattern_filehandle $env_statprt_pattern_ENV \
+ $env_statprt_pattern_DB_ENV $env_statprt_pattern_per_region \
+ [env020_def_pattern log] $log_statprt_pattern_def \
+ $log_statprt_pattern_LOG $env_statprt_pattern_LOG_SUBSYSTEM \
+ [env020_def_pattern lock] $lk_statprt_pattern_def \
+ $lk_statprt_pattern_params $env_statprt_pattern_LOCK_SUBSYSTEM \
+ $lk_statprt_pattern_objects \
+ [env020_def_pattern mp] $mp_statprt_pattern_def \
+ $mp_statprt_pattern_DB_MPOOL $mp_statprt_pattern_MPOOLFILE \
+ $mp_statprt_pattern_MPOOL $mp_statprt_pattern_DB_MPOOLFILE \
+ $mp_statprt_pattern_Cache \
+ [env020_def_pattern mut] $mut_statprt_pattern_def \
+ $env_statprt_pattern_MUTEX_SUBSYSTEM \
+ [env020_def_pattern rep] $rep_statprt_pattern_def \
+ $rep_statprt_pattern_DB_REP $rep_statprt_pattern_REP \
+ $rep_statprt_pattern_LOG $repmgr_statprt_pattern_def \
+ [env020_def_pattern txn] $txn_statprt_pattern_def \
+ $txn_statprt_pattern_DB_TXNREGION] \
+ [concat $section_separator [env020_def_pattern env] \
+ $region_statprt_pattern $env_statprt_pattern_Main \
+ $env_statprt_pattern_filehandle $env_statprt_pattern_ENV \
+ $env_statprt_pattern_DB_ENV $env_statprt_pattern_per_region \
+ [env020_def_pattern log] $log_statprt_pattern_def \
+ $log_statprt_pattern_LOG $env_statprt_pattern_LOG_SUBSYSTEM \
+ [env020_def_pattern lock] $lk_statprt_pattern_def \
+ $lk_statprt_pattern_params $env_statprt_pattern_LOCK_SUBSYSTEM \
+ $lk_statprt_pattern_objects \
+ [env020_def_pattern mp] $mp_statprt_pattern_def \
+ $mp_statprt_pattern_DB_MPOOL $mp_statprt_pattern_MPOOLFILE \
+ $mp_statprt_pattern_MPOOL $mp_statprt_pattern_DB_MPOOLFILE \
+ $mp_statprt_pattern_Cache \
+ [env020_def_pattern mut] $mut_statprt_pattern_def \
+ $env_statprt_pattern_MUTEX_SUBSYSTEM \
+ [env020_def_pattern rep] $rep_statprt_pattern_def \
+ $rep_statprt_pattern_DB_REP $rep_statprt_pattern_REP \
+ $rep_statprt_pattern_LOG $repmgr_statprt_pattern_def \
+ [env020_def_pattern txn] $txn_statprt_pattern_def \
+ $txn_statprt_pattern_DB_TXNREGION $env_statprt_pattern_allocation]] \
+
set check_type stat_print
set stp_method stat_print
@@ -1046,23 +1153,24 @@ proc env020_env_stp_chk {opts patterns check_type stp_method} {
puts "\t\tUsing $opt option"
}
set pattern [lindex $patterns $i]
- $env msgfile $testdir/msgfile.$i
+ error_check_good "$env set msgfile" \
+ [$env msgfile $testdir/msgfile.$i] 0
if {$fail == 0} {
error_check_good "${check_type}($opts)" \
[eval $env $stp_method $opt] 0
- $env msgfile /dev/stdout
+ error_check_good "$env set msgfile" \
+ [$env msgfile /dev/stdout] 0
env020_check_output $pattern $testdir/msgfile.$i
} else {
set ret [catch {eval $env $stp_method $opt} res]
- $env msgfile /dev/stdout
+ error_check_good "$env set msgfile" \
+ [$env msgfile /dev/stdout] 0
error_check_bad $stp_method $ret 0
error_check_bad chk_err [regexp $failmsg $res] 0
}
- file delete -force $testdir/msgfile.$i
- error_check_good "file_not_exists" \
- [file exists $testdir/msgfile.$i] 0
+ error_check_good "$env close msgfile" \
+ [$env msgfile_close] 0
}
-
error_check_good "$txn1 commit" [$txn1 commit] 0
error_check_good "$txn2 commit" [$txn2 commit] 0
error_check_good "$db4 close" [$db4 close] 0
@@ -1102,11 +1210,13 @@ proc env020_bt_stat_print {} {
"Byte order"
"Flags"
"Minimum keys per-page"
+ "Number of pages in the database"
"Underlying database page size"
"Overflow key/data size"
"Number of levels in the tree"
"Number of unique keys in the tree"
"Number of data items in the tree"
+ "Number of blobs in the tree"
"Number of tree internal pages"
"Number of bytes free in tree internal pages"
"Number of tree leaf pages"
@@ -1146,10 +1256,11 @@ proc env020_ham_stat_print {} {
"Number of data items in the database"
"Number of hash buckets"
"Number of bytes free on bucket pages"
- "Number of overflow pages"
- "Number of bytes free in overflow pages"
+ "Number of blobs"
+ {Number of hash overflow \(big item\) pages}
+ {Number of bytes free in hash overflow \(big item\) pages}
"Number of bucket overflow pages"
- "Number of bytes free in bucket overflow pages"
+ "Number of bytes free on bucket overflow pages"
"Number of duplicate pages"
"Number of bytes free in duplicate pages"
"Number of pages on the free list"
@@ -1173,6 +1284,28 @@ proc env020_ham_stat_print {} {
env020_db_stat_print hash $pattern $all_pattern
}
+proc env020_heap_stat_print {} {
+ set pattern {
+ "Local time"
+ # Heap information
+ "Heap magic number"
+ "Heap version number"
+ "Number of records in the database"
+ "Number of blobs in the database"
+ "Number of database pages"
+ "Underlying database page size"
+ "Number of database regions"
+ "Number of pages in a region"
+ }
+
+ set all_pattern {
+ "Default Heap database information"
+ }
+
+ puts "\tEnv020: Check DB->stat_print for heap"
+ env020_db_stat_print heap $pattern $all_pattern
+}
+
proc env020_ram_stat_print {} {
set pattern {
"Local time"
@@ -1183,6 +1316,7 @@ proc env020_ram_stat_print {} {
"Flags"
"Fixed-length record size"
"Fixed-length record pad"
+ "Number of pages in the database"
"Underlying database page size"
"Number of levels in the tree"
"Number of records in the tree"
@@ -1308,6 +1442,7 @@ proc env020_db_stat_print {method pattern all_pattern} {
-msgfile $testdir/msgfile1 db1.db]
error_check_good db_stat_print [$db stat_print] 0
+ error_check_good "$db close msgfile" [$db msgfile_close] 0
error_check_good "$db close" [$db close] 0
env020_check_output $pattern $testdir/msgfile1
@@ -1316,6 +1451,7 @@ proc env020_db_stat_print {method pattern all_pattern} {
set db [eval berkdb_open_noerr -create -env $env -$method \
-msgfile $testdir/msgfile2 db2.db]
error_check_good db_stat_print [$db stat_print -fast] 0
+ error_check_good "$db close msgfile" [$db msgfile_close] 0
error_check_good "$db close" [$db close] 0
env020_check_output $pattern $testdir/msgfile2
@@ -1324,18 +1460,12 @@ proc env020_db_stat_print {method pattern all_pattern} {
set db [eval berkdb_open_noerr -create -env $env -$method \
-msgfile $testdir/msgfile3 db3.db]
error_check_good db_stat_print [$db stat_print -all] 0
+ error_check_good "$db close msgfile" [$db msgfile_close] 0
error_check_good "$db close" [$db close] 0
env020_check_output [concat $dball_pattern $pattern $all_pattern] \
$testdir/msgfile3
error_check_good "$env close" [$env close] 0
-
- file delete -force $testdir/msgfile1
- error_check_good "file_not_exists" [file exists $testdir/msgfile1] 0
- file delete -force $testdir/msgfile2
- error_check_good "file_not_exists" [file exists $testdir/msgfile2] 0
- file delete -force $testdir/msgfile3
- error_check_good "file_not_exists" [file exists $testdir/msgfile3] 0
}
proc env020_seq_stat_print { } {
@@ -1360,9 +1490,15 @@ proc env020_seq_stat_print { } {
set seq [eval berkdb sequence -create $db key1]
error_check_good check_seq [is_valid_seq $seq] TRUE
error_check_good seq_stat_print [$seq stat_print] 0
+ error_check_good "$db close msgfile" [$db msgfile_close] 0
- $env msgfile $testdir/msgfile2
+ error_check_good "$db set msgfile" [$db msgfile $testdir/msgfile2] 0
error_check_good seq_stat_print [$seq stat_print -clear] 0
+ error_check_good "$db close msgfile" [$db msgfile_close] 0
+
+ error_check_good "$db set msgfile" [$db msgfile $testdir/msgfile3] 0
+ error_check_good seq_stat_print [$seq stat_print -all] 0
+ error_check_good "$db close msgfile" [$db msgfile_close] 0
error_check_good seq_close [$seq close] 0
error_check_good "$db close" [$db close] 0
@@ -1374,8 +1510,6 @@ proc env020_seq_stat_print { } {
puts "\t\tUsing -clear option"
env020_check_output $pattern $testdir/msgfile2
- file delete -force $testdir/msgfile1
- error_check_good "file_not_exists" [file exists $testdir/msgfile1] 0
- file delete -force $testdir/msgfile2
- error_check_good "file_not_exists" [file exists $testdir/msgfile2] 0
+ puts "\t\tUsing the -all option"
+ env020_check_output $pattern $testdir/msgfile3
}