Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
4668e079
Commit
4668e079
authored
Aug 06, 2020
by
Sergei Golubchik
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '10.2' into 10.3
parents
223aee2e
fbcae42c
Changes
45
Show whitespace changes
Inline
Side-by-side
Showing
45 changed files
with
124 additions
and
104 deletions
+124
-104
mysql-test/suite/rpl/r/rpl_parallel2.result
mysql-test/suite/rpl/r/rpl_parallel2.result
+3
-0
mysql-test/suite/rpl/t/rpl_parallel2.test
mysql-test/suite/rpl/t/rpl_parallel2.test
+3
-0
mysys/stacktrace.c
mysys/stacktrace.c
+1
-1
sql/rpl_parallel.cc
sql/rpl_parallel.cc
+23
-4
storage/tokudb/CMakeLists.txt
storage/tokudb/CMakeLists.txt
+2
-1
storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake
...ge/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake
+7
-16
storage/tokudb/PerconaFT/ft/logger/logger.cc
storage/tokudb/PerconaFT/ft/logger/logger.cc
+3
-0
storage/tokudb/PerconaFT/ft/serialize/rbtree_mhs.h
storage/tokudb/PerconaFT/ft/serialize/rbtree_mhs.h
+1
-0
storage/tokudb/PerconaFT/ft/tests/cachetable-simple-close.cc
storage/tokudb/PerconaFT/ft/tests/cachetable-simple-close.cc
+5
-5
storage/tokudb/PerconaFT/ft/tests/ft-bfe-query.cc
storage/tokudb/PerconaFT/ft/tests/ft-bfe-query.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/ft-clock-test.cc
storage/tokudb/PerconaFT/ft/tests/ft-clock-test.cc
+3
-3
storage/tokudb/PerconaFT/ft/tests/ft-serialize-benchmark.cc
storage/tokudb/PerconaFT/ft/tests/ft-serialize-benchmark.cc
+3
-3
storage/tokudb/PerconaFT/ft/tests/ft-serialize-test.cc
storage/tokudb/PerconaFT/ft/tests/ft-serialize-test.cc
+7
-7
storage/tokudb/PerconaFT/ft/tests/ft-test-header.cc
storage/tokudb/PerconaFT/ft/tests/ft-test-header.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/make-tree.cc
storage/tokudb/PerconaFT/ft/tests/make-tree.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/mempool-115.cc
storage/tokudb/PerconaFT/ft/tests/mempool-115.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/msnfilter.cc
storage/tokudb/PerconaFT/ft/tests/msnfilter.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/recovery-test5123.cc
storage/tokudb/PerconaFT/ft/tests/recovery-test5123.cc
+3
-3
storage/tokudb/PerconaFT/ft/tests/test-checkpoint-during-flush.cc
...tokudb/PerconaFT/ft/tests/test-checkpoint-during-flush.cc
+2
-2
storage/tokudb/PerconaFT/ft/tests/test-checkpoint-during-merge.cc
...tokudb/PerconaFT/ft/tests/test-checkpoint-during-merge.cc
+4
-4
storage/tokudb/PerconaFT/ft/tests/test-checkpoint-during-rebalance.cc
...db/PerconaFT/ft/tests/test-checkpoint-during-rebalance.cc
+3
-3
storage/tokudb/PerconaFT/ft/tests/test-checkpoint-during-split.cc
...tokudb/PerconaFT/ft/tests/test-checkpoint-during-split.cc
+4
-4
storage/tokudb/PerconaFT/ft/tests/test-dirty-flushes-on-cleaner.cc
...okudb/PerconaFT/ft/tests/test-dirty-flushes-on-cleaner.cc
+3
-3
storage/tokudb/PerconaFT/ft/tests/test-flushes-on-cleaner.cc
storage/tokudb/PerconaFT/ft/tests/test-flushes-on-cleaner.cc
+3
-3
storage/tokudb/PerconaFT/ft/tests/test-pick-child-to-flush.cc
...age/tokudb/PerconaFT/ft/tests/test-pick-child-to-flush.cc
+10
-10
storage/tokudb/PerconaFT/ft/tests/test3884.cc
storage/tokudb/PerconaFT/ft/tests/test3884.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/verify-bad-msn.cc
storage/tokudb/PerconaFT/ft/tests/verify-bad-msn.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/verify-bad-pivots.cc
storage/tokudb/PerconaFT/ft/tests/verify-bad-pivots.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/verify-dup-in-leaf.cc
storage/tokudb/PerconaFT/ft/tests/verify-dup-in-leaf.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/verify-dup-pivots.cc
storage/tokudb/PerconaFT/ft/tests/verify-dup-pivots.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/verify-misrouted-msgs.cc
storage/tokudb/PerconaFT/ft/tests/verify-misrouted-msgs.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/verify-unsorted-leaf.cc
storage/tokudb/PerconaFT/ft/tests/verify-unsorted-leaf.cc
+1
-1
storage/tokudb/PerconaFT/ft/tests/verify-unsorted-pivots.cc
storage/tokudb/PerconaFT/ft/tests/verify-unsorted-pivots.cc
+1
-1
storage/tokudb/PerconaFT/ftcxx/cursor.hpp
storage/tokudb/PerconaFT/ftcxx/cursor.hpp
+2
-2
storage/tokudb/PerconaFT/locktree/lock_request.cc
storage/tokudb/PerconaFT/locktree/lock_request.cc
+4
-0
storage/tokudb/PerconaFT/locktree/lock_request.h
storage/tokudb/PerconaFT/locktree/lock_request.h
+1
-0
storage/tokudb/PerconaFT/locktree/tests/lock_request_start_retry_race.cc
...PerconaFT/locktree/tests/lock_request_start_retry_race.cc
+1
-1
storage/tokudb/PerconaFT/locktree/tests/lock_request_start_retry_race_3.cc
...rconaFT/locktree/tests/lock_request_start_retry_race_3.cc
+1
-1
storage/tokudb/PerconaFT/locktree/tests/lock_request_start_retry_wait_race_2.cc
...FT/locktree/tests/lock_request_start_retry_wait_race_2.cc
+1
-1
storage/tokudb/PerconaFT/src/tests/test.h
storage/tokudb/PerconaFT/src/tests/test.h
+2
-2
storage/tokudb/PerconaFT/src/tests/test_mostly_seq.cc
storage/tokudb/PerconaFT/src/tests/test_mostly_seq.cc
+1
-1
storage/tokudb/PerconaFT/src/tests/threaded_stress_test_helpers.h
...tokudb/PerconaFT/src/tests/threaded_stress_test_helpers.h
+3
-3
storage/tokudb/PerconaFT/src/ydb.cc
storage/tokudb/PerconaFT/src/ydb.cc
+1
-3
storage/tokudb/PerconaFT/src/ydb_db.cc
storage/tokudb/PerconaFT/src/ydb_db.cc
+1
-1
storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb-slave.opt
...age/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb-slave.opt
+0
-4
No files found.
mysql-test/suite/rpl/r/rpl_parallel2.result
View file @
4668e079
...
@@ -2,8 +2,10 @@ include/rpl_init.inc [topology=1->2]
...
@@ -2,8 +2,10 @@ include/rpl_init.inc [topology=1->2]
*** MDEV-5509: Incorrect value for Seconds_Behind_Master if parallel replication ***
*** MDEV-5509: Incorrect value for Seconds_Behind_Master if parallel replication ***
connection server_2;
connection server_2;
SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
set @old_parallel_mode= @@GLOBAL.slave_parallel_mode;
include/stop_slave.inc
include/stop_slave.inc
SET GLOBAL slave_parallel_threads=5;
SET GLOBAL slave_parallel_threads=5;
set global slave_parallel_mode= optimistic;
include/start_slave.inc
include/start_slave.inc
connection server_1;
connection server_1;
CREATE TABLE t1 (a INT PRIMARY KEY, b INT);
CREATE TABLE t1 (a INT PRIMARY KEY, b INT);
...
@@ -157,6 +159,7 @@ UNLOCK TABLES;
...
@@ -157,6 +159,7 @@ UNLOCK TABLES;
connection server_2;
connection server_2;
include/stop_slave.inc
include/stop_slave.inc
SET GLOBAL slave_parallel_threads=@old_parallel_threads;
SET GLOBAL slave_parallel_threads=@old_parallel_threads;
set global slave_parallel_mode= @old_parallel_mode;
include/start_slave.inc
include/start_slave.inc
connection server_1;
connection server_1;
DROP TABLE t1, t2;
DROP TABLE t1, t2;
...
...
mysql-test/suite/rpl/t/rpl_parallel2.test
View file @
4668e079
...
@@ -8,8 +8,10 @@
...
@@ -8,8 +8,10 @@
--
connection
server_2
--
connection
server_2
SET
@
old_parallel_threads
=@@
GLOBAL
.
slave_parallel_threads
;
SET
@
old_parallel_threads
=@@
GLOBAL
.
slave_parallel_threads
;
set
@
old_parallel_mode
=
@@
GLOBAL
.
slave_parallel_mode
;
--
source
include
/
stop_slave
.
inc
--
source
include
/
stop_slave
.
inc
SET
GLOBAL
slave_parallel_threads
=
5
;
SET
GLOBAL
slave_parallel_threads
=
5
;
set
global
slave_parallel_mode
=
optimistic
;
--
source
include
/
start_slave
.
inc
--
source
include
/
start_slave
.
inc
--
connection
server_1
--
connection
server_1
...
@@ -219,6 +221,7 @@ UNLOCK TABLES;
...
@@ -219,6 +221,7 @@ UNLOCK TABLES;
--
connection
server_2
--
connection
server_2
--
source
include
/
stop_slave
.
inc
--
source
include
/
stop_slave
.
inc
SET
GLOBAL
slave_parallel_threads
=@
old_parallel_threads
;
SET
GLOBAL
slave_parallel_threads
=@
old_parallel_threads
;
set
global
slave_parallel_mode
=
@
old_parallel_mode
;
--
source
include
/
start_slave
.
inc
--
source
include
/
start_slave
.
inc
--
connection
server_1
--
connection
server_1
...
...
mysys/stacktrace.c
View file @
4668e079
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
#ifdef __linux__
#ifdef __linux__
#define PTR_SANE(p) ((p) && (char*)(p) >= heap_start && (char*)(p) <= heap_end)
#define PTR_SANE(p) ((p) && (char*)(p) >= heap_start && (char*)(p) <= heap_end)
static
char
*
heap_start
;
static
char
*
heap_start
;
extern
char
*
__bss_start
;
char
*
__bss_start
;
#else
#else
#define PTR_SANE(p) (p)
#define PTR_SANE(p) (p)
#endif
/* __linux */
#endif
/* __linux */
...
...
sql/rpl_parallel.cc
View file @
4668e079
...
@@ -378,13 +378,14 @@ do_gco_wait(rpl_group_info *rgi, group_commit_orderer *gco,
...
@@ -378,13 +378,14 @@ do_gco_wait(rpl_group_info *rgi, group_commit_orderer *gco,
}
}
static
void
static
bool
do_ftwrl_wait
(
rpl_group_info
*
rgi
,
do_ftwrl_wait
(
rpl_group_info
*
rgi
,
bool
*
did_enter_cond
,
PSI_stage_info
*
old_stage
)
bool
*
did_enter_cond
,
PSI_stage_info
*
old_stage
)
{
{
THD
*
thd
=
rgi
->
thd
;
THD
*
thd
=
rgi
->
thd
;
rpl_parallel_entry
*
entry
=
rgi
->
parallel_entry
;
rpl_parallel_entry
*
entry
=
rgi
->
parallel_entry
;
uint64
sub_id
=
rgi
->
gtid_sub_id
;
uint64
sub_id
=
rgi
->
gtid_sub_id
;
bool
aborted
=
false
;
DBUG_ENTER
(
"do_ftwrl_wait"
);
DBUG_ENTER
(
"do_ftwrl_wait"
);
mysql_mutex_assert_owner
(
&
entry
->
LOCK_parallel_entry
);
mysql_mutex_assert_owner
(
&
entry
->
LOCK_parallel_entry
);
...
@@ -407,7 +408,10 @@ do_ftwrl_wait(rpl_group_info *rgi,
...
@@ -407,7 +408,10 @@ do_ftwrl_wait(rpl_group_info *rgi,
do
do
{
{
if
(
entry
->
force_abort
||
rgi
->
worker_error
)
if
(
entry
->
force_abort
||
rgi
->
worker_error
)
{
aborted
=
true
;
break
;
break
;
}
if
(
unlikely
(
thd
->
check_killed
()))
if
(
unlikely
(
thd
->
check_killed
()))
{
{
slave_output_error_info
(
rgi
,
thd
);
slave_output_error_info
(
rgi
,
thd
);
...
@@ -426,7 +430,7 @@ do_ftwrl_wait(rpl_group_info *rgi,
...
@@ -426,7 +430,7 @@ do_ftwrl_wait(rpl_group_info *rgi,
if
(
sub_id
>
entry
->
largest_started_sub_id
)
if
(
sub_id
>
entry
->
largest_started_sub_id
)
entry
->
largest_started_sub_id
=
sub_id
;
entry
->
largest_started_sub_id
=
sub_id
;
DBUG_
VOID_RETURN
;
DBUG_
RETURN
(
aborted
)
;
}
}
...
@@ -511,6 +515,21 @@ rpl_unpause_after_ftwrl(THD *thd)
...
@@ -511,6 +515,21 @@ rpl_unpause_after_ftwrl(THD *thd)
mysql_mutex_lock
(
&
e
->
LOCK_parallel_entry
);
mysql_mutex_lock
(
&
e
->
LOCK_parallel_entry
);
rpt
->
pause_for_ftwrl
=
false
;
rpt
->
pause_for_ftwrl
=
false
;
mysql_mutex_unlock
(
&
rpt
->
LOCK_rpl_thread
);
mysql_mutex_unlock
(
&
rpt
->
LOCK_rpl_thread
);
/*
Do not change pause_sub_id if force_abort is set.
force_abort is set in case of STOP SLAVE.
Reason: If pause_sub_id is not changed and force_abort_is set,
any parallel slave thread waiting in do_ftwrl_wait() will
on wakeup return from do_ftwrl_wait() with 1. This will set
skip_event_group to 1 in handle_rpl_parallel_thread() and the
parallel thread will abort at once.
If pause_sub_id is changed, the code in handle_rpl_parallel_thread()
would continue to execute the transaction in the queue, which would
cause some transactions to be lost.
*/
if
(
!
e
->
force_abort
)
e
->
pause_sub_id
=
(
uint64
)
ULONGLONG_MAX
;
e
->
pause_sub_id
=
(
uint64
)
ULONGLONG_MAX
;
mysql_cond_broadcast
(
&
e
->
COND_parallel_entry
);
mysql_cond_broadcast
(
&
e
->
COND_parallel_entry
);
mysql_mutex_unlock
(
&
e
->
LOCK_parallel_entry
);
mysql_mutex_unlock
(
&
e
->
LOCK_parallel_entry
);
...
@@ -1195,7 +1214,7 @@ handle_rpl_parallel_thread(void *arg)
...
@@ -1195,7 +1214,7 @@ handle_rpl_parallel_thread(void *arg)
rgi
->
worker_error
=
1
;
rgi
->
worker_error
=
1
;
}
}
if
(
likely
(
!
skip_event_group
))
if
(
likely
(
!
skip_event_group
))
do_ftwrl_wait
(
rgi
,
&
did_enter_cond
,
&
old_stage
);
skip_event_group
=
do_ftwrl_wait
(
rgi
,
&
did_enter_cond
,
&
old_stage
);
/*
/*
Register ourself to wait for the previous commit, if we need to do
Register ourself to wait for the previous commit, if we need to do
...
...
storage/tokudb/CMakeLists.txt
View file @
4668e079
SET
(
TOKUDB_VERSION 5.6.4
1-84.1
)
SET
(
TOKUDB_VERSION 5.6.4
9-89.0
)
# PerconaFT only supports x86-64 and cmake-2.8.9+
# PerconaFT only supports x86-64 and cmake-2.8.9+
IF
(
WIN32
)
IF
(
WIN32
)
# tokudb never worked there
# tokudb never worked there
...
@@ -136,6 +136,7 @@ IF(DEFINED TOKUDB_NOPATCH_CONFIG)
...
@@ -136,6 +136,7 @@ IF(DEFINED TOKUDB_NOPATCH_CONFIG)
ADD_DEFINITIONS
(
"-DTOKUDB_NOPATCH_CONFIG=
${
TOKUDB_NOPATCH_CONFIG
}
"
)
ADD_DEFINITIONS
(
"-DTOKUDB_NOPATCH_CONFIG=
${
TOKUDB_NOPATCH_CONFIG
}
"
)
ENDIF
()
ENDIF
()
MY_CHECK_AND_SET_COMPILER_FLAG
(
-Wno-missing-format-attribute
)
MY_CHECK_AND_SET_COMPILER_FLAG
(
-Wno-missing-field-initializers
)
MY_CHECK_AND_SET_COMPILER_FLAG
(
-Wno-missing-field-initializers
)
IF
(
EXISTS
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/PerconaFT/"
)
IF
(
EXISTS
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/PerconaFT/"
)
...
...
storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake
View file @
4668e079
...
@@ -47,20 +47,18 @@ include(CheckCCompilerFlag)
...
@@ -47,20 +47,18 @@ include(CheckCCompilerFlag)
include
(
CheckCXXCompilerFlag
)
include
(
CheckCXXCompilerFlag
)
## adds a compiler flag if the compiler supports it
## adds a compiler flag if the compiler supports it
macro
(
set
_cflags_if_supported
)
macro
(
prepend
_cflags_if_supported
)
foreach
(
flag
${
ARGN
}
)
foreach
(
flag
${
ARGN
}
)
MY_CHECK_AND_SET_COMPILER_FLAG
(
${
flag
}
)
MY_CHECK_AND_SET_COMPILER_FLAG
(
${
flag
}
)
endforeach
(
flag
)
endforeach
(
flag
)
endmacro
(
set
_cflags_if_supported
)
endmacro
(
prepend
_cflags_if_supported
)
if
(
NOT DEFINED MYSQL_PROJECT_NAME_DOCSTRING
)
if
(
NOT DEFINED MYSQL_PROJECT_NAME_DOCSTRING
)
set
(
OPTIONAL_CFLAGS
"
${
OPTIONAL_CFLAGS
}
-Wmissing-format-attribute"
)
set
(
OPTIONAL_CFLAGS
"
${
OPTIONAL_CFLAGS
}
-Wmissing-format-attribute"
)
endif
()
endif
()
## disable some warnings
## disable some warnings
## missing-format-attribute causes warnings in some MySQL include files
prepend_cflags_if_supported
(
## if the library is built as a part of TokuDB MySQL storage engine
set_cflags_if_supported
(
-Wno-missing-field-initializers
-Wno-missing-field-initializers
-Wstrict-null-sentinel
-Wstrict-null-sentinel
-Winit-self
-Winit-self
...
@@ -77,28 +75,21 @@ set_cflags_if_supported(
...
@@ -77,28 +75,21 @@ set_cflags_if_supported(
-fno-exceptions
-fno-exceptions
-Wno-error=nonnull-compare
-Wno-error=nonnull-compare
)
)
## set_cflags_if_supported_named("-Weffc++" -Weffcpp)
## Clang has stricter POD checks. So, only enable this warning on our other builds (Linux + GCC)
## Clang has stricter POD checks. So, only enable this warning on our other builds (Linux + GCC)
if
(
NOT CMAKE_CXX_COMPILER_ID MATCHES Clang
)
if
(
NOT CMAKE_CXX_COMPILER_ID MATCHES Clang
)
set
_cflags_if_supported
(
prepend
_cflags_if_supported
(
-Wpacked
-Wpacked
)
)
endif
()
endif
()
option
(
PROFILING
"Allow profiling and debug"
ON
)
option
(
PROFILING
"Allow profiling and debug"
ON
)
if
(
PROFILING
)
if
(
PROFILING
)
set
_cflags_if_supported
(
prepend
_cflags_if_supported
(
-fno-omit-frame-pointer
-fno-omit-frame-pointer
)
)
endif
()
endif
()
## this hits with optimized builds somewhere in ftleaf_split, we don't
## know why but we don't think it's a big deal
set_cflags_if_supported
(
-Wno-error=strict-overflow
)
# new flag sets in MySQL 8.0 seem to explicitly disable this
# new flag sets in MySQL 8.0 seem to explicitly disable this
set
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
-fexceptions"
)
set
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
-fexceptions"
)
...
@@ -136,7 +127,7 @@ else ()
...
@@ -136,7 +127,7 @@ else ()
endif
()
endif
()
## set warnings
## set warnings
set
_cflags_if_supported
(
prepend
_cflags_if_supported
(
-Wextra
-Wextra
-Wbad-function-cast
-Wbad-function-cast
-Wno-missing-noreturn
-Wno-missing-noreturn
...
@@ -159,7 +150,7 @@ set_cflags_if_supported(
...
@@ -159,7 +150,7 @@ set_cflags_if_supported(
if
(
NOT CMAKE_CXX_COMPILER_ID STREQUAL Clang
)
if
(
NOT CMAKE_CXX_COMPILER_ID STREQUAL Clang
)
# Disabling -Wcast-align with clang. TODO: fix casting and re-enable it, someday.
# Disabling -Wcast-align with clang. TODO: fix casting and re-enable it, someday.
set
_cflags_if_supported
(
-Wcast-align
)
prepend
_cflags_if_supported
(
-Wcast-align
)
endif
()
endif
()
## never want these
## never want these
...
...
storage/tokudb/PerconaFT/ft/logger/logger.cc
View file @
4668e079
...
@@ -51,6 +51,9 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
...
@@ -51,6 +51,9 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
#include "util/status.h"
#include "util/status.h"
int
writing_rollback
=
0
;
int
writing_rollback
=
0
;
extern
"C"
{
uint
force_recovery
=
0
;
}
static
const
int
log_format_version
=
TOKU_LOG_VERSION
;
static
const
int
log_format_version
=
TOKU_LOG_VERSION
;
...
...
storage/tokudb/PerconaFT/ft/serialize/rbtree_mhs.h
View file @
4668e079
...
@@ -193,6 +193,7 @@ namespace MhsRbTree {
...
@@ -193,6 +193,7 @@ namespace MhsRbTree {
BlockPair
(
OUUInt64
o
,
OUUInt64
s
)
:
_offset
(
o
),
_size
(
s
)
{}
BlockPair
(
OUUInt64
o
,
OUUInt64
s
)
:
_offset
(
o
),
_size
(
s
)
{}
BlockPair
(
const
BlockPair
&
o
)
BlockPair
(
const
BlockPair
&
o
)
:
_offset
(
o
.
_offset
),
_size
(
o
.
_size
)
{}
:
_offset
(
o
.
_offset
),
_size
(
o
.
_size
)
{}
BlockPair
&
operator
=
(
const
BlockPair
&
)
=
default
;
int
operator
<
(
const
BlockPair
&
rhs
)
const
{
int
operator
<
(
const
BlockPair
&
rhs
)
const
{
return
_offset
<
rhs
.
_offset
;
return
_offset
<
rhs
.
_offset
;
...
...
storage/tokudb/PerconaFT/ft/tests/cachetable-simple-close.cc
View file @
4668e079
...
@@ -195,13 +195,13 @@ static void test_multiple_cachefiles(bool use_same_hash) {
...
@@ -195,13 +195,13 @@ static void test_multiple_cachefiles(bool use_same_hash) {
char
fname1
[
strlen
(
TOKU_TEST_FILENAME
)
+
sizeof
(
"_1"
)];
char
fname1
[
strlen
(
TOKU_TEST_FILENAME
)
+
sizeof
(
"_1"
)];
strcpy
(
fname1
,
TOKU_TEST_FILENAME
);
strcpy
(
fname1
,
TOKU_TEST_FILENAME
);
str
ncat
(
fname1
,
"_1"
,
sizeof
(
"_1"
)
);
str
cat
(
fname1
,
"_1"
);
char
fname2
[
strlen
(
TOKU_TEST_FILENAME
)
+
sizeof
(
"_2"
)];
char
fname2
[
strlen
(
TOKU_TEST_FILENAME
)
+
sizeof
(
"_2"
)];
strcpy
(
fname2
,
TOKU_TEST_FILENAME
);
strcpy
(
fname2
,
TOKU_TEST_FILENAME
);
str
ncat
(
fname2
,
"_2"
,
sizeof
(
"_2"
)
);
str
cat
(
fname2
,
"_2"
);
char
fname3
[
strlen
(
TOKU_TEST_FILENAME
)
+
sizeof
(
"_3"
)];
char
fname3
[
strlen
(
TOKU_TEST_FILENAME
)
+
sizeof
(
"_3"
)];
strcpy
(
fname3
,
TOKU_TEST_FILENAME
);
strcpy
(
fname3
,
TOKU_TEST_FILENAME
);
str
ncat
(
fname3
,
"_3"
,
sizeof
(
"_3"
)
);
str
cat
(
fname3
,
"_3"
);
unlink
(
fname1
);
unlink
(
fname1
);
unlink
(
fname2
);
unlink
(
fname2
);
...
@@ -280,10 +280,10 @@ static void test_evictor(void) {
...
@@ -280,10 +280,10 @@ static void test_evictor(void) {
char
fname1
[
strlen
(
TOKU_TEST_FILENAME
)
+
sizeof
(
"_1"
)];
char
fname1
[
strlen
(
TOKU_TEST_FILENAME
)
+
sizeof
(
"_1"
)];
strcpy
(
fname1
,
TOKU_TEST_FILENAME
);
strcpy
(
fname1
,
TOKU_TEST_FILENAME
);
str
ncat
(
fname1
,
"_1"
,
sizeof
(
"_1"
)
);
str
cat
(
fname1
,
"_1"
);
char
fname2
[
strlen
(
TOKU_TEST_FILENAME
)
+
sizeof
(
"_2"
)];
char
fname2
[
strlen
(
TOKU_TEST_FILENAME
)
+
sizeof
(
"_2"
)];
strcpy
(
fname2
,
TOKU_TEST_FILENAME
);
strcpy
(
fname2
,
TOKU_TEST_FILENAME
);
str
ncat
(
fname2
,
"_2"
,
sizeof
(
"_2"
)
);
str
cat
(
fname2
,
"_2"
);
unlink
(
fname1
);
unlink
(
fname1
);
unlink
(
fname2
);
unlink
(
fname2
);
...
...
storage/tokudb/PerconaFT/ft/tests/ft-bfe-query.cc
View file @
4668e079
...
@@ -337,7 +337,7 @@ static void test_prefetching(void) {
...
@@ -337,7 +337,7 @@ static void test_prefetching(void) {
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
1
;
sn
.
height
=
1
;
sn
.
n_children
=
3
;
sn
.
n_children
=
3
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
uint64_t
key1
=
100
;
uint64_t
key1
=
100
;
...
...
storage/tokudb/PerconaFT/ft/tests/ft-clock-test.cc
View file @
4668e079
...
@@ -133,7 +133,7 @@ static void test1(int fd, FT ft_h, FTNODE *dn) {
...
@@ -133,7 +133,7 @@ static void test1(int fd, FT ft_h, FTNODE *dn) {
for
(
int
i
=
0
;
i
<
(
*
dn
)
->
n_children
;
i
++
)
{
for
(
int
i
=
0
;
i
<
(
*
dn
)
->
n_children
;
i
++
)
{
invariant
(
BP_STATE
(
*
dn
,
i
)
==
PT_AVAIL
);
invariant
(
BP_STATE
(
*
dn
,
i
)
==
PT_AVAIL
);
}
}
(
*
dn
)
->
dirty
=
1
;
(
*
dn
)
->
set_dirty
()
;
toku_ftnode_pe_callback
(
*
dn
,
attr
,
ft_h
,
def_pe_finalize_impl
,
nullptr
);
toku_ftnode_pe_callback
(
*
dn
,
attr
,
ft_h
,
def_pe_finalize_impl
,
nullptr
);
toku_ftnode_pe_callback
(
*
dn
,
attr
,
ft_h
,
def_pe_finalize_impl
,
nullptr
);
toku_ftnode_pe_callback
(
*
dn
,
attr
,
ft_h
,
def_pe_finalize_impl
,
nullptr
);
toku_ftnode_pe_callback
(
*
dn
,
attr
,
ft_h
,
def_pe_finalize_impl
,
nullptr
);
toku_ftnode_pe_callback
(
*
dn
,
attr
,
ft_h
,
def_pe_finalize_impl
,
nullptr
);
...
@@ -246,7 +246,7 @@ static void test_serialize_nonleaf(void) {
...
@@ -246,7 +246,7 @@ static void test_serialize_nonleaf(void) {
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
1
;
sn
.
height
=
1
;
sn
.
n_children
=
2
;
sn
.
n_children
=
2
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
2
,
sn
.
bp
);
MALLOC_N
(
2
,
sn
.
bp
);
DBT
pivotkey
;
DBT
pivotkey
;
...
@@ -384,7 +384,7 @@ static void test_serialize_leaf(void) {
...
@@ -384,7 +384,7 @@ static void test_serialize_leaf(void) {
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
0
;
sn
.
height
=
0
;
sn
.
n_children
=
2
;
sn
.
n_children
=
2
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
DBT
pivotkey
;
DBT
pivotkey
;
...
...
storage/tokudb/PerconaFT/ft/tests/ft-serialize-benchmark.cc
View file @
4668e079
...
@@ -95,7 +95,7 @@ static void test_serialize_leaf(int valsize,
...
@@ -95,7 +95,7 @@ static void test_serialize_leaf(int valsize,
sn
->
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
->
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
->
height
=
0
;
sn
->
height
=
0
;
sn
->
n_children
=
8
;
sn
->
n_children
=
8
;
sn
->
dirty
=
1
;
sn
->
set_dirty
()
;
sn
->
oldest_referenced_xid_known
=
TXNID_NONE
;
sn
->
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
->
n_children
,
sn
->
bp
);
MALLOC_N
(
sn
->
n_children
,
sn
->
bp
);
sn
->
pivotkeys
.
create_empty
();
sn
->
pivotkeys
.
create_empty
();
...
@@ -173,7 +173,7 @@ static void test_serialize_leaf(int valsize,
...
@@ -173,7 +173,7 @@ static void test_serialize_leaf(int valsize,
for
(
int
i
=
0
;
i
<
ser_runs
;
i
++
)
{
for
(
int
i
=
0
;
i
<
ser_runs
;
i
++
)
{
gettimeofday
(
&
t
[
0
],
NULL
);
gettimeofday
(
&
t
[
0
],
NULL
);
ndd
=
NULL
;
ndd
=
NULL
;
sn
->
dirty
=
1
;
sn
->
set_dirty
()
;
r
=
toku_serialize_ftnode_to
(
r
=
toku_serialize_ftnode_to
(
fd
,
make_blocknum
(
20
),
sn
,
&
ndd
,
true
,
ft
->
ft
,
false
);
fd
,
make_blocknum
(
20
),
sn
,
&
ndd
,
true
,
ft
->
ft
,
false
);
invariant
(
r
==
0
);
invariant
(
r
==
0
);
...
@@ -265,7 +265,7 @@ static void test_serialize_nonleaf(int valsize,
...
@@ -265,7 +265,7 @@ static void test_serialize_nonleaf(int valsize,
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
1
;
sn
.
height
=
1
;
sn
.
n_children
=
8
;
sn
.
n_children
=
8
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
sn
.
pivotkeys
.
create_empty
();
sn
.
pivotkeys
.
create_empty
();
...
...
storage/tokudb/PerconaFT/ft/tests/ft-serialize-test.cc
View file @
4668e079
...
@@ -238,7 +238,7 @@ static void test_serialize_leaf_check_msn(enum ftnode_verify_type bft,
...
@@ -238,7 +238,7 @@ static void test_serialize_leaf_check_msn(enum ftnode_verify_type bft,
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
0
;
sn
.
height
=
0
;
sn
.
n_children
=
2
;
sn
.
n_children
=
2
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
DBT
pivotkey
;
DBT
pivotkey
;
...
@@ -381,7 +381,7 @@ static void test_serialize_leaf_with_large_pivots(enum ftnode_verify_type bft,
...
@@ -381,7 +381,7 @@ static void test_serialize_leaf_with_large_pivots(enum ftnode_verify_type bft,
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
0
;
sn
.
height
=
0
;
sn
.
n_children
=
nrows
;
sn
.
n_children
=
nrows
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
...
@@ -538,7 +538,7 @@ static void test_serialize_leaf_with_many_rows(enum ftnode_verify_type bft,
...
@@ -538,7 +538,7 @@ static void test_serialize_leaf_with_many_rows(enum ftnode_verify_type bft,
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
0
;
sn
.
height
=
0
;
sn
.
n_children
=
1
;
sn
.
n_children
=
1
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
XMALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
XMALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
...
@@ -693,7 +693,7 @@ static void test_serialize_leaf_with_large_rows(enum ftnode_verify_type bft,
...
@@ -693,7 +693,7 @@ static void test_serialize_leaf_with_large_rows(enum ftnode_verify_type bft,
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
0
;
sn
.
height
=
0
;
sn
.
n_children
=
1
;
sn
.
n_children
=
1
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
...
@@ -845,7 +845,7 @@ static void test_serialize_leaf_with_empty_basement_nodes(
...
@@ -845,7 +845,7 @@ static void test_serialize_leaf_with_empty_basement_nodes(
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
0
;
sn
.
height
=
0
;
sn
.
n_children
=
7
;
sn
.
n_children
=
7
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
DBT
pivotkeys
[
6
];
DBT
pivotkeys
[
6
];
...
@@ -989,7 +989,7 @@ static void test_serialize_leaf_with_multiple_empty_basement_nodes(
...
@@ -989,7 +989,7 @@ static void test_serialize_leaf_with_multiple_empty_basement_nodes(
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
0
;
sn
.
height
=
0
;
sn
.
n_children
=
4
;
sn
.
n_children
=
4
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
DBT
pivotkeys
[
3
];
DBT
pivotkeys
[
3
];
...
@@ -1100,7 +1100,7 @@ static void test_serialize_nonleaf(enum ftnode_verify_type bft, bool do_clone) {
...
@@ -1100,7 +1100,7 @@ static void test_serialize_nonleaf(enum ftnode_verify_type bft, bool do_clone) {
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
1
;
sn
.
height
=
1
;
sn
.
n_children
=
2
;
sn
.
n_children
=
2
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
2
,
sn
.
bp
);
MALLOC_N
(
2
,
sn
.
bp
);
DBT
pivotkey
;
DBT
pivotkey
;
...
...
storage/tokudb/PerconaFT/ft/tests/ft-test-header.cc
View file @
4668e079
...
@@ -57,7 +57,7 @@ static void test_header (void) {
...
@@ -57,7 +57,7 @@ static void test_header (void) {
assert
(
r
==
0
);
assert
(
r
==
0
);
// now insert some info into the header
// now insert some info into the header
FT
ft
=
t
->
ft
;
FT
ft
=
t
->
ft
;
ft
->
h
->
dirty
=
1
;
ft
->
h
->
set_dirty
()
;
// cast away const because we actually want to fiddle with the header
// cast away const because we actually want to fiddle with the header
// in this test
// in this test
*
((
int
*
)
&
ft
->
h
->
layout_version_original
)
=
13
;
*
((
int
*
)
&
ft
->
h
->
layout_version_original
)
=
13
;
...
...
storage/tokudb/PerconaFT/ft/tests/make-tree.cc
View file @
4668e079
...
@@ -88,7 +88,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
...
@@ -88,7 +88,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
leafnode
->
max_msn_applied_to_node_on_disk
=
msn
;
leafnode
->
max_msn_applied_to_node_on_disk
=
msn
;
// don't forget to dirty the node
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
}
static
void
static
void
...
...
storage/tokudb/PerconaFT/ft/tests/mempool-115.cc
View file @
4668e079
...
@@ -102,7 +102,7 @@ class bndata_bugfix_test {
...
@@ -102,7 +102,7 @@ class bndata_bugfix_test {
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
layout_version_original
=
FT_LAYOUT_VERSION
;
sn
.
height
=
0
;
sn
.
height
=
0
;
sn
.
n_children
=
2
;
sn
.
n_children
=
2
;
sn
.
dirty
=
1
;
sn
.
set_dirty
()
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
sn
.
oldest_referenced_xid_known
=
TXNID_NONE
;
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
MALLOC_N
(
sn
.
n_children
,
sn
.
bp
);
DBT
pivotkey
;
DBT
pivotkey
;
...
...
storage/tokudb/PerconaFT/ft/tests/msnfilter.cc
View file @
4668e079
...
@@ -161,7 +161,7 @@ append_leaf(FT_HANDLE ft, FTNODE leafnode, void *key, uint32_t keylen, void *val
...
@@ -161,7 +161,7 @@ append_leaf(FT_HANDLE ft, FTNODE leafnode, void *key, uint32_t keylen, void *val
}
}
// don't forget to dirty the node
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
}
static
void
static
void
...
...
storage/tokudb/PerconaFT/ft/tests/recovery-test5123.cc
View file @
4668e079
...
@@ -49,9 +49,9 @@ static void test_5123(void) {
...
@@ -49,9 +49,9 @@ static void test_5123(void) {
test_setup
(
TOKU_TEST_FILENAME
,
&
logger
,
&
ct
);
test_setup
(
TOKU_TEST_FILENAME
,
&
logger
,
&
ct
);
int
r
;
int
r
;
TXNID_PAIR
one
=
{
.
parent_id64
=
(
TXNID
)
1
,
TXNID_NONE
};
TXNID_PAIR
one
=
{
(
TXNID
)
1
,
TXNID_NONE
};
TXNID_PAIR
two
=
{
.
parent_id64
=
(
TXNID
)
2
,
TXNID_NONE
};
TXNID_PAIR
two
=
{
(
TXNID
)
2
,
TXNID_NONE
};
TXNID_PAIR
three
=
{
.
parent_id64
=
(
TXNID
)
3
,
TXNID_NONE
};
TXNID_PAIR
three
=
{
(
TXNID
)
3
,
TXNID_NONE
};
toku_log_xbegin
(
logger
,
NULL
,
false
,
one
,
TXNID_PAIR_NONE
);
toku_log_xbegin
(
logger
,
NULL
,
false
,
one
,
TXNID_PAIR_NONE
);
toku_log_xbegin
(
logger
,
NULL
,
false
,
three
,
TXNID_PAIR_NONE
);
toku_log_xbegin
(
logger
,
NULL
,
false
,
three
,
TXNID_PAIR_NONE
);
...
...
storage/tokudb/PerconaFT/ft/tests/test-checkpoint-during-flush.cc
View file @
4668e079
...
@@ -245,7 +245,7 @@ doit (bool after_child_pin) {
...
@@ -245,7 +245,7 @@ doit (bool after_child_pin) {
true
true
);
);
assert
(
node
->
height
==
1
);
assert
(
node
->
height
==
1
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
node
->
n_children
==
1
);
if
(
after_child_pin
)
{
if
(
after_child_pin
)
{
assert
(
toku_bnc_nbytesinbuf
(
BNC
(
node
,
0
))
==
0
);
assert
(
toku_bnc_nbytesinbuf
(
BNC
(
node
,
0
))
==
0
);
...
@@ -265,7 +265,7 @@ doit (bool after_child_pin) {
...
@@ -265,7 +265,7 @@ doit (bool after_child_pin) {
true
true
);
);
assert
(
node
->
height
==
0
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
node
->
n_children
==
1
);
if
(
after_child_pin
)
{
if
(
after_child_pin
)
{
assert
(
BLB_NBYTESINDATA
(
node
,
0
)
>
0
);
assert
(
BLB_NBYTESINDATA
(
node
,
0
)
>
0
);
...
...
storage/tokudb/PerconaFT/ft/tests/test-checkpoint-during-merge.cc
View file @
4668e079
...
@@ -270,7 +270,7 @@ doit (int state) {
...
@@ -270,7 +270,7 @@ doit (int state) {
true
true
);
);
assert
(
node
->
height
==
1
);
assert
(
node
->
height
==
1
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
BLOCKNUM
left_child
,
right_child
;
BLOCKNUM
left_child
,
right_child
;
// cases where we expect the checkpoint to contain the merge
// cases where we expect the checkpoint to contain the merge
if
(
state
==
ft_flush_aflter_merge
||
state
==
flt_flush_before_unpin_remove
)
{
if
(
state
==
ft_flush_aflter_merge
||
state
==
flt_flush_before_unpin_remove
)
{
...
@@ -301,7 +301,7 @@ doit (int state) {
...
@@ -301,7 +301,7 @@ doit (int state) {
true
true
);
);
assert
(
node
->
height
==
0
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
node
->
n_children
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
1
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
...
@@ -318,7 +318,7 @@ doit (int state) {
...
@@ -318,7 +318,7 @@ doit (int state) {
true
true
);
);
assert
(
node
->
height
==
0
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
node
->
n_children
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
1
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
...
@@ -336,7 +336,7 @@ doit (int state) {
...
@@ -336,7 +336,7 @@ doit (int state) {
true
true
);
);
assert
(
node
->
height
==
0
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
node
->
n_children
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
2
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
2
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
...
...
storage/tokudb/PerconaFT/ft/tests/test-checkpoint-during-rebalance.cc
View file @
4668e079
...
@@ -284,7 +284,7 @@ doit (int state) {
...
@@ -284,7 +284,7 @@ doit (int state) {
true
true
);
);
assert
(
node
->
height
==
1
);
assert
(
node
->
height
==
1
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
BLOCKNUM
left_child
,
right_child
;
BLOCKNUM
left_child
,
right_child
;
assert
(
node
->
n_children
==
2
);
assert
(
node
->
n_children
==
2
);
...
@@ -304,7 +304,7 @@ doit (int state) {
...
@@ -304,7 +304,7 @@ doit (int state) {
true
true
);
);
assert
(
node
->
height
==
0
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
node
->
n_children
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
2
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
2
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
...
@@ -319,7 +319,7 @@ doit (int state) {
...
@@ -319,7 +319,7 @@ doit (int state) {
true
true
);
);
assert
(
node
->
height
==
0
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
node
->
n_children
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
2
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
2
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
...
...
storage/tokudb/PerconaFT/ft/tests/test-checkpoint-during-split.cc
View file @
4668e079
...
@@ -260,7 +260,7 @@ doit (bool after_split) {
...
@@ -260,7 +260,7 @@ doit (bool after_split) {
true
true
);
);
assert
(
node
->
height
==
1
);
assert
(
node
->
height
==
1
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
BLOCKNUM
left_child
,
right_child
;
BLOCKNUM
left_child
,
right_child
;
if
(
after_split
)
{
if
(
after_split
)
{
assert
(
node
->
n_children
==
2
);
assert
(
node
->
n_children
==
2
);
...
@@ -287,7 +287,7 @@ doit (bool after_split) {
...
@@ -287,7 +287,7 @@ doit (bool after_split) {
true
true
);
);
assert
(
node
->
height
==
0
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
node
->
n_children
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
1
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
...
@@ -302,7 +302,7 @@ doit (bool after_split) {
...
@@ -302,7 +302,7 @@ doit (bool after_split) {
true
true
);
);
assert
(
node
->
height
==
0
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
node
->
n_children
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
1
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
...
@@ -318,7 +318,7 @@ doit (bool after_split) {
...
@@ -318,7 +318,7 @@ doit (bool after_split) {
true
true
);
);
assert
(
node
->
height
==
0
);
assert
(
node
->
height
==
0
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
1
);
assert
(
node
->
n_children
==
1
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
2
);
assert
(
BLB_DATA
(
node
,
0
)
->
num_klpairs
()
==
2
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
toku_unpin_ftnode
(
c_ft
->
ft
,
node
);
...
...
storage/tokudb/PerconaFT/ft/tests/test-dirty-flushes-on-cleaner.cc
View file @
4668e079
...
@@ -199,7 +199,7 @@ doit (void) {
...
@@ -199,7 +199,7 @@ doit (void) {
&
node
,
&
node
,
true
true
);
);
assert
(
node
->
dirty
);
assert
(
node
->
dirty
()
);
assert
(
node
->
n_children
==
2
);
assert
(
node
->
n_children
==
2
);
assert
(
BP_STATE
(
node
,
0
)
==
PT_AVAIL
);
assert
(
BP_STATE
(
node
,
0
)
==
PT_AVAIL
);
assert
(
BP_STATE
(
node
,
1
)
==
PT_AVAIL
);
assert
(
BP_STATE
(
node
,
1
)
==
PT_AVAIL
);
...
@@ -229,7 +229,7 @@ doit (void) {
...
@@ -229,7 +229,7 @@ doit (void) {
&
node
,
&
node
,
true
true
);
);
assert
(
node
->
dirty
);
assert
(
node
->
dirty
()
);
assert
(
node
->
n_children
==
2
);
assert
(
node
->
n_children
==
2
);
assert
(
BP_STATE
(
node
,
0
)
==
PT_AVAIL
);
assert
(
BP_STATE
(
node
,
0
)
==
PT_AVAIL
);
assert
(
BP_STATE
(
node
,
1
)
==
PT_AVAIL
);
assert
(
BP_STATE
(
node
,
1
)
==
PT_AVAIL
);
...
@@ -250,7 +250,7 @@ doit (void) {
...
@@ -250,7 +250,7 @@ doit (void) {
&
node
,
&
node
,
true
true
);
);
assert
(
node
->
dirty
);
assert
(
node
->
dirty
()
);
// we expect that this flushes its buffer, that
// we expect that this flushes its buffer, that
// a merge is not done, and that the lookup
// a merge is not done, and that the lookup
...
...
storage/tokudb/PerconaFT/ft/tests/test-flushes-on-cleaner.cc
View file @
4668e079
...
@@ -203,7 +203,7 @@ doit (bool keep_other_bn_in_memory) {
...
@@ -203,7 +203,7 @@ doit (bool keep_other_bn_in_memory) {
&
node
,
&
node
,
true
true
);
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
2
);
assert
(
node
->
n_children
==
2
);
// a hack to get the basement nodes evicted
// a hack to get the basement nodes evicted
for
(
int
i
=
0
;
i
<
20
;
i
++
)
{
for
(
int
i
=
0
;
i
<
20
;
i
++
)
{
...
@@ -249,7 +249,7 @@ doit (bool keep_other_bn_in_memory) {
...
@@ -249,7 +249,7 @@ doit (bool keep_other_bn_in_memory) {
&
node
,
&
node
,
true
true
);
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
node
->
n_children
==
2
);
assert
(
node
->
n_children
==
2
);
assert
(
BP_STATE
(
node
,
0
)
==
PT_AVAIL
);
assert
(
BP_STATE
(
node
,
0
)
==
PT_AVAIL
);
if
(
keep_other_bn_in_memory
)
{
if
(
keep_other_bn_in_memory
)
{
...
@@ -273,7 +273,7 @@ doit (bool keep_other_bn_in_memory) {
...
@@ -273,7 +273,7 @@ doit (bool keep_other_bn_in_memory) {
&
node
,
&
node
,
true
true
);
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
// we expect that this flushes its buffer, that
// we expect that this flushes its buffer, that
// a merge is not done, and that the lookup
// a merge is not done, and that the lookup
...
...
storage/tokudb/PerconaFT/ft/tests/test-pick-child-to-flush.cc
View file @
4668e079
...
@@ -194,7 +194,7 @@ doit (void) {
...
@@ -194,7 +194,7 @@ doit (void) {
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
toku_ftnode_assert_fully_in_memory
(
node
);
toku_ftnode_assert_fully_in_memory
(
node
);
assert
(
node
->
n_children
==
2
);
assert
(
node
->
n_children
==
2
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
assert
(
toku_bnc_n_entries
(
node
->
bp
[
0
].
ptr
.
u
.
nonleaf
)
>
0
);
assert
(
toku_bnc_n_entries
(
node
->
bp
[
0
].
ptr
.
u
.
nonleaf
)
>
0
);
assert
(
toku_bnc_n_entries
(
node
->
bp
[
1
].
ptr
.
u
.
nonleaf
)
>
0
);
assert
(
toku_bnc_n_entries
(
node
->
bp
[
1
].
ptr
.
u
.
nonleaf
)
>
0
);
...
@@ -216,7 +216,7 @@ doit (void) {
...
@@ -216,7 +216,7 @@ doit (void) {
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
toku_ftnode_assert_fully_in_memory
(
node
);
toku_ftnode_assert_fully_in_memory
(
node
);
assert
(
node
->
dirty
);
assert
(
node
->
dirty
()
);
assert
(
node
->
n_children
==
2
);
assert
(
node
->
n_children
==
2
);
// child 0 should have empty buffer because it flushed
// child 0 should have empty buffer because it flushed
// child 1 should still have message in buffer
// child 1 should still have message in buffer
...
@@ -226,14 +226,14 @@ doit (void) {
...
@@ -226,14 +226,14 @@ doit (void) {
r
=
toku_checkpoint
(
cp
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
CLIENT_CHECKPOINT
);
r
=
toku_checkpoint
(
cp
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
CLIENT_CHECKPOINT
);
assert_zero
(
r
);
assert_zero
(
r
);
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
curr_child_to_flush
=
1
;
curr_child_to_flush
=
1
;
num_flushes_called
=
0
;
num_flushes_called
=
0
;
toku_ft_flush_some_child
(
t
->
ft
,
node
,
&
fa
);
toku_ft_flush_some_child
(
t
->
ft
,
node
,
&
fa
);
assert
(
num_flushes_called
==
1
);
assert
(
num_flushes_called
==
1
);
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
assert
(
node
->
dirty
);
assert
(
node
->
dirty
()
);
toku_ftnode_assert_fully_in_memory
(
node
);
toku_ftnode_assert_fully_in_memory
(
node
);
assert
(
node
->
n_children
==
2
);
assert
(
node
->
n_children
==
2
);
// both buffers should be empty now
// both buffers should be empty now
...
@@ -244,14 +244,14 @@ doit (void) {
...
@@ -244,14 +244,14 @@ doit (void) {
r
=
toku_checkpoint
(
cp
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
CLIENT_CHECKPOINT
);
r
=
toku_checkpoint
(
cp
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
CLIENT_CHECKPOINT
);
assert_zero
(
r
);
assert_zero
(
r
);
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
curr_child_to_flush
=
0
;
curr_child_to_flush
=
0
;
num_flushes_called
=
0
;
num_flushes_called
=
0
;
toku_ft_flush_some_child
(
t
->
ft
,
node
,
&
fa
);
toku_ft_flush_some_child
(
t
->
ft
,
node
,
&
fa
);
assert
(
num_flushes_called
==
1
);
assert
(
num_flushes_called
==
1
);
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
assert
(
node
->
dirty
);
// nothing was flushed, but since we were trying to flush to a leaf, both become dirty
assert
(
node
->
dirty
()
);
// nothing was flushed, but since we were trying to flush to a leaf, both become dirty
toku_ftnode_assert_fully_in_memory
(
node
);
toku_ftnode_assert_fully_in_memory
(
node
);
assert
(
node
->
n_children
==
2
);
assert
(
node
->
n_children
==
2
);
// both buffers should be empty now
// both buffers should be empty now
...
@@ -280,17 +280,17 @@ doit (void) {
...
@@ -280,17 +280,17 @@ doit (void) {
assert
(
num_flushes_called
==
2
);
assert
(
num_flushes_called
==
2
);
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
toku_pin_node_with_min_bfe
(
&
node
,
node_internal
,
t
);
assert
(
node
->
dirty
);
assert
(
node
->
dirty
()
);
toku_unpin_ftnode
(
t
->
ft
,
node
);
toku_unpin_ftnode
(
t
->
ft
,
node
);
toku_pin_node_with_min_bfe
(
&
node
,
node_leaf
[
0
],
t
);
toku_pin_node_with_min_bfe
(
&
node
,
node_leaf
[
0
],
t
);
assert
(
node
->
dirty
);
assert
(
node
->
dirty
()
);
toku_unpin_ftnode
(
t
->
ft
,
node
);
toku_unpin_ftnode
(
t
->
ft
,
node
);
toku_pin_node_with_min_bfe
(
&
node
,
node_leaf
[
1
],
t
);
toku_pin_node_with_min_bfe
(
&
node
,
node_leaf
[
1
],
t
);
if
(
i
==
0
)
{
if
(
i
==
0
)
{
assert
(
!
node
->
dirty
);
assert
(
!
node
->
dirty
()
);
}
}
else
{
else
{
assert
(
node
->
dirty
);
assert
(
node
->
dirty
()
);
}
}
toku_unpin_ftnode
(
t
->
ft
,
node
);
toku_unpin_ftnode
(
t
->
ft
,
node
);
}
}
...
...
storage/tokudb/PerconaFT/ft/tests/test3884.cc
View file @
4668e079
...
@@ -105,7 +105,7 @@ setup_ftnode_header(struct ftnode *node)
...
@@ -105,7 +105,7 @@ setup_ftnode_header(struct ftnode *node)
node
->
layout_version
=
FT_LAYOUT_VERSION
;
node
->
layout_version
=
FT_LAYOUT_VERSION
;
node
->
layout_version_original
=
FT_LAYOUT_VERSION
;
node
->
layout_version_original
=
FT_LAYOUT_VERSION
;
node
->
height
=
0
;
node
->
height
=
0
;
node
->
dirty
=
1
;
node
->
set_dirty
()
;
node
->
oldest_referenced_xid_known
=
TXNID_NONE
;
node
->
oldest_referenced_xid_known
=
TXNID_NONE
;
}
}
...
...
storage/tokudb/PerconaFT/ft/tests/verify-bad-msn.cc
View file @
4668e079
...
@@ -93,7 +93,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
...
@@ -93,7 +93,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
// leafnode->max_msn_applied_to_node = msn;
// leafnode->max_msn_applied_to_node = msn;
// don't forget to dirty the node
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
}
static
void
static
void
...
...
storage/tokudb/PerconaFT/ft/tests/verify-bad-pivots.cc
View file @
4668e079
...
@@ -77,7 +77,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
...
@@ -77,7 +77,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
NULL
);
NULL
);
// don't forget to dirty the node
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
}
static
void
static
void
...
...
storage/tokudb/PerconaFT/ft/tests/verify-dup-in-leaf.cc
View file @
4668e079
...
@@ -78,7 +78,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
...
@@ -78,7 +78,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
NULL
);
NULL
);
// don't forget to dirty the node
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
}
static
void
static
void
...
...
storage/tokudb/PerconaFT/ft/tests/verify-dup-pivots.cc
View file @
4668e079
...
@@ -77,7 +77,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
...
@@ -77,7 +77,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
NULL
);
NULL
);
// don't forget to dirty the node
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
}
static
void
static
void
...
...
storage/tokudb/PerconaFT/ft/tests/verify-misrouted-msgs.cc
View file @
4668e079
...
@@ -78,7 +78,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
...
@@ -78,7 +78,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
NULL
);
NULL
);
// don't forget to dirty the node
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
}
static
void
static
void
...
...
storage/tokudb/PerconaFT/ft/tests/verify-unsorted-leaf.cc
View file @
4668e079
...
@@ -80,7 +80,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
...
@@ -80,7 +80,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
NULL
);
NULL
);
// don't forget to dirty the node
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
}
static
void
static
void
...
...
storage/tokudb/PerconaFT/ft/tests/verify-unsorted-pivots.cc
View file @
4668e079
...
@@ -77,7 +77,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
...
@@ -77,7 +77,7 @@ append_leaf(FTNODE leafnode, void *key, size_t keylen, void *val, size_t vallen)
NULL
);
NULL
);
// don't forget to dirty the node
// don't forget to dirty the node
leafnode
->
dirty
=
1
;
leafnode
->
set_dirty
()
;
}
}
static
void
static
void
...
...
storage/tokudb/PerconaFT/ftcxx/cursor.hpp
View file @
4668e079
...
@@ -398,8 +398,8 @@ namespace ftcxx {
...
@@ -398,8 +398,8 @@ namespace ftcxx {
{}
{}
bool
operator
()(
const
DBT
*
key
,
const
DBT
*
val
)
{
bool
operator
()(
const
DBT
*
key
,
const
DBT
*
val
)
{
_key
=
std
::
move
(
Slice
(
*
key
).
owned
()
);
_key
=
Slice
(
*
key
).
owned
(
);
_val
=
std
::
move
(
Slice
(
*
val
).
owned
()
);
_val
=
Slice
(
*
val
).
owned
(
);
// Don't bulk fetch.
// Don't bulk fetch.
return
false
;
return
false
;
...
...
storage/tokudb/PerconaFT/locktree/lock_request.cc
View file @
4668e079
...
@@ -93,6 +93,10 @@ void lock_request::destroy(void) {
...
@@ -93,6 +93,10 @@ void lock_request::destroy(void) {
toku_cond_destroy
(
&
m_wait_cond
);
toku_cond_destroy
(
&
m_wait_cond
);
}
}
void
lock_request
::
clearmem
(
char
c
)
{
memset
(
this
,
c
,
sizeof
(
*
this
));
}
// set the lock request parameters. this API allows a lock request to be reused.
// set the lock request parameters. this API allows a lock request to be reused.
void
lock_request
::
set
(
locktree
*
lt
,
TXNID
txnid
,
const
DBT
*
left_key
,
const
DBT
*
right_key
,
lock_request
::
type
lock_type
,
bool
big_txn
,
void
*
extra
)
{
void
lock_request
::
set
(
locktree
*
lt
,
TXNID
txnid
,
const
DBT
*
left_key
,
const
DBT
*
right_key
,
lock_request
::
type
lock_type
,
bool
big_txn
,
void
*
extra
)
{
invariant
(
m_state
!=
state
::
PENDING
);
invariant
(
m_state
!=
state
::
PENDING
);
...
...
storage/tokudb/PerconaFT/locktree/lock_request.h
View file @
4668e079
...
@@ -89,6 +89,7 @@ class lock_request {
...
@@ -89,6 +89,7 @@ class lock_request {
// effect: Destroys a lock request.
// effect: Destroys a lock request.
void
destroy
(
void
);
void
destroy
(
void
);
void
clearmem
(
char
c
);
// effect: Resets the lock request parameters, allowing it to be reused.
// effect: Resets the lock request parameters, allowing it to be reused.
// requires: Lock request was already created at some point
// requires: Lock request was already created at some point
...
...
storage/tokudb/PerconaFT/locktree/tests/lock_request_start_retry_race.cc
View file @
4668e079
...
@@ -83,7 +83,7 @@ namespace toku {
...
@@ -83,7 +83,7 @@ namespace toku {
}
}
request
.
destroy
();
request
.
destroy
();
memset
(
&
request
,
0xab
,
sizeof
request
);
request
.
clearmem
(
0xab
);
toku_pthread_yield
();
toku_pthread_yield
();
if
((
i
%
10
)
==
0
)
if
((
i
%
10
)
==
0
)
...
...
storage/tokudb/PerconaFT/locktree/tests/lock_request_start_retry_race_3.cc
View file @
4668e079
...
@@ -96,7 +96,7 @@ namespace toku {
...
@@ -96,7 +96,7 @@ namespace toku {
}
}
request
.
destroy
();
request
.
destroy
();
memset
(
&
request
,
0xab
,
sizeof
request
);
request
.
clearmem
(
0xab
);
toku_pthread_yield
();
toku_pthread_yield
();
if
((
i
%
10
)
==
0
)
if
((
i
%
10
)
==
0
)
...
...
storage/tokudb/PerconaFT/locktree/tests/lock_request_start_retry_wait_race_2.cc
View file @
4668e079
...
@@ -98,7 +98,7 @@ namespace toku {
...
@@ -98,7 +98,7 @@ namespace toku {
}
}
request
.
destroy
();
request
.
destroy
();
memset
(
&
request
,
0xab
,
sizeof
request
);
request
.
clearmem
(
0xab
);
toku_pthread_yield
();
toku_pthread_yield
();
if
((
i
%
10
)
==
0
)
if
((
i
%
10
)
==
0
)
...
...
storage/tokudb/PerconaFT/src/tests/test.h
View file @
4668e079
...
@@ -428,14 +428,14 @@ static int env_del_multiple_test_no_array(
...
@@ -428,14 +428,14 @@ static int env_del_multiple_test_no_array(
/* Some macros for evaluating blocks or functions within the scope of a
/* Some macros for evaluating blocks or functions within the scope of a
* transaction. */
* transaction. */
#define IN_TXN_COMMIT(env, parent, txn, flags, expr) ({ \
#define IN_TXN_COMMIT(env, parent, txn, flags, expr) ({ \
DB_TXN *
(txn);
\
DB_TXN *
txn;
\
{ int chk_r = (env)->txn_begin((env), (parent), &(txn), (flags)); CKERR(chk_r); } \
{ int chk_r = (env)->txn_begin((env), (parent), &(txn), (flags)); CKERR(chk_r); } \
(expr); \
(expr); \
{ int chk_r = (txn)->commit((txn), 0); CKERR(chk_r); } \
{ int chk_r = (txn)->commit((txn), 0); CKERR(chk_r); } \
})
})
#define IN_TXN_ABORT(env, parent, txn, flags, expr) ({ \
#define IN_TXN_ABORT(env, parent, txn, flags, expr) ({ \
DB_TXN *
(txn);
\
DB_TXN *
txn;
\
{ int chk_r = (env)->txn_begin((env), (parent), &(txn), (flags)); CKERR(chk_r); } \
{ int chk_r = (env)->txn_begin((env), (parent), &(txn), (flags)); CKERR(chk_r); } \
(expr); \
(expr); \
{ int chk_r = (txn)->abort(txn); CKERR(chk_r); } \
{ int chk_r = (txn)->abort(txn); CKERR(chk_r); } \
...
...
storage/tokudb/PerconaFT/src/tests/test_mostly_seq.cc
View file @
4668e079
...
@@ -68,7 +68,7 @@ seqinsert (int n, float p) {
...
@@ -68,7 +68,7 @@ seqinsert (int n, float p) {
int
v
=
i
;
int
v
=
i
;
DBT
key
,
val
;
DBT
key
,
val
;
r
=
db
->
put
(
db
,
0
,
dbt_init
(
&
key
,
&
k
,
sizeof
k
),
dbt_init
(
&
val
,
&
v
,
sizeof
v
),
0
);
assert
(
r
==
0
);
r
=
db
->
put
(
db
,
0
,
dbt_init
(
&
key
,
&
k
,
sizeof
k
),
dbt_init
(
&
val
,
&
v
,
sizeof
v
),
0
);
assert
(
r
==
0
);
if
(
random
()
<=
RAND_MAX
*
p
)
{
if
(
random
()
<=
static_cast
<
float
>
(
RAND_MAX
)
*
p
)
{
k
=
htonl
(
i
-
1
);
k
=
htonl
(
i
-
1
);
v
=
i
-
1
;
v
=
i
-
1
;
r
=
db
->
put
(
db
,
0
,
dbt_init
(
&
key
,
&
k
,
sizeof
k
),
dbt_init
(
&
val
,
&
v
,
sizeof
v
),
0
);
assert
(
r
==
0
);
r
=
db
->
put
(
db
,
0
,
dbt_init
(
&
key
,
&
k
,
sizeof
k
),
dbt_init
(
&
val
,
&
v
,
sizeof
v
),
0
);
assert
(
r
==
0
);
...
...
storage/tokudb/PerconaFT/src/tests/threaded_stress_test_helpers.h
View file @
4668e079
...
@@ -432,17 +432,17 @@ tsv_print_perf_totals(const struct cli_args *cli_args, uint64_t *counters[], con
...
@@ -432,17 +432,17 @@ tsv_print_perf_totals(const struct cli_args *cli_args, uint64_t *counters[], con
}
}
const
struct
perf_formatter
perf_formatters
[]
=
{
const
struct
perf_formatter
perf_formatters
[]
=
{
[
HUMAN
]
=
{
{
/* HUMAN */
.
header
=
human_print_perf_header
,
.
header
=
human_print_perf_header
,
.
iteration
=
human_print_perf_iteration
,
.
iteration
=
human_print_perf_iteration
,
.
totals
=
human_print_perf_totals
.
totals
=
human_print_perf_totals
},
},
[
CSV
]
=
{
{
/* CSV */
.
header
=
csv_print_perf_header
,
.
header
=
csv_print_perf_header
,
.
iteration
=
csv_print_perf_iteration
,
.
iteration
=
csv_print_perf_iteration
,
.
totals
=
csv_print_perf_totals
.
totals
=
csv_print_perf_totals
},
},
[
TSV
]
=
{
{
/* TSV */
.
header
=
tsv_print_perf_header
,
.
header
=
tsv_print_perf_header
,
.
iteration
=
tsv_print_perf_iteration
,
.
iteration
=
tsv_print_perf_iteration
,
.
totals
=
tsv_print_perf_totals
.
totals
=
tsv_print_perf_totals
...
...
storage/tokudb/PerconaFT/src/ydb.cc
View file @
4668e079
...
@@ -91,9 +91,7 @@ extern int writing_rollback;
...
@@ -91,9 +91,7 @@ extern int writing_rollback;
int
toku_close_trace_file
(
void
)
{
return
0
;
}
int
toku_close_trace_file
(
void
)
{
return
0
;
}
#endif
#endif
extern
"C"
{
extern
uint
force_recovery
;
uint
force_recovery
=
0
;
}
// Set when env is panicked, never cleared.
// Set when env is panicked, never cleared.
static
int
env_is_panicked
=
0
;
static
int
env_is_panicked
=
0
;
...
...
storage/tokudb/PerconaFT/src/ydb_db.cc
View file @
4668e079
...
@@ -509,7 +509,7 @@ int toku_db_open_iname(DB * db, DB_TXN * txn, const char *iname_in_env, uint32_t
...
@@ -509,7 +509,7 @@ int toku_db_open_iname(DB * db, DB_TXN * txn, const char *iname_in_env, uint32_t
struct
lt_on_create_callback_extra
on_create_extra
=
{
struct
lt_on_create_callback_extra
on_create_extra
=
{
.
txn
=
txn
,
.
txn
=
txn
,
.
ft_handle
=
db
->
i
->
ft_handle
,
.
ft_handle
=
db
->
i
->
ft_handle
,
open_rw
.
open_rw
=
false
};
};
db
->
i
->
lt
=
db
->
dbenv
->
i
->
ltm
.
get_lt
(
db
->
i
->
dict_id
,
db
->
i
->
lt
=
db
->
dbenv
->
i
->
ltm
.
get_lt
(
db
->
i
->
dict_id
,
toku_ft_get_comparator
(
db
->
i
->
ft_handle
),
toku_ft_get_comparator
(
db
->
i
->
ft_handle
),
...
...
storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb-slave.opt
View file @
4668e079
--log-warnings=0 --slave-transaction-retries=0
--log-warnings=0 --slave-transaction-retries=0
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment