Skip to content

Commit 3cd4da3

Browse files
committed
5.6.39-83.1
1 parent f6716ce commit 3cd4da3

22 files changed

+200
-58
lines changed

storage/tokudb/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
SET(TOKUDB_VERSION 5.6.38-83.0)
1+
SET(TOKUDB_VERSION 5.6.39-83.1)
22
# PerconaFT only supports x86-64 and cmake-2.8.9+
33
IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND
44
NOT CMAKE_VERSION VERSION_LESS "2.8.9")
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
Language: Cpp
2+
BasedOnStyle: Google
3+
4+
# The following parameters are default for Google style,
5+
# but as they are important for our project they
6+
# are set explicitly here
7+
AlignAfterOpenBracket: Align
8+
BreakBeforeBinaryOperators: None
9+
ColumnLimit: 80
10+
PointerAlignment: Left
11+
SpaceAfterCStyleCast: false
12+
SpaceBeforeAssignmentOperators: true
13+
SpaceBeforeParens: ControlStatements
14+
SpaceInEmptyParentheses: false
15+
SpacesBeforeTrailingComments: 2
16+
SpacesInAngles: false
17+
SpacesInContainerLiterals: true
18+
SpacesInCStyleCastParentheses: false
19+
SpacesInParentheses: false
20+
SpacesInSquareBrackets: false
21+
UseTab: Never
22+
23+
# Non-default parametes
24+
NamespaceIndentation: All
25+
IndentWidth: 4
26+
TabWidth: 4
27+
AllowShortIfStatementsOnASingleLine: false
28+
AllowShortLoopsOnASingleLine: false
29+
BinPackParameters: false
30+
BinPackArguments: false
31+
ExperimentalAutoDetectBinPacking: false
32+
AllowAllParametersOfDeclarationOnNextLine: false
33+
#AlignConsecutiveAssignments: yes
34+
#AlignConsecutiveDeclarations: yes
35+
BreakStringLiterals: false
36+
ReflowComments: true

storage/tokudb/PerconaFT/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@ project(TokuDB)
99
set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
1010
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
1111

12+
# See: https://jira.percona.com/browse/TDB-93
13+
IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
14+
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-address-of-packed-member")
15+
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-address-of-packed-member")
16+
ENDIF()
17+
1218
# detect when we are being built as a subproject
1319
if (DEFINED MYSQL_PROJECT_NAME_DOCSTRING)
1420
add_definitions( -DMYSQL_TOKUDB_ENGINE=1)

storage/tokudb/PerconaFT/README.md

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,18 @@ PerconaFT is provided as a shared library with an interface similar to
99
Berkeley DB.
1010

1111
To build the full MySQL product, see the instructions for
12-
[Percona/tokudb-engine][tokudb-engine]. To build TokuMX, see the instructions
13-
for [Percona/percona-server-mongodb][mongo]. This document covers PerconaFT only.
12+
[Percona/percona-server][percona-server]. This document covers PerconaFT only.
1413

15-
[tokudb-engine]: https://github.com/Percona/tokudb-engine
16-
[mongo]: https://github.com/Percona/percona-server-mongodb
14+
[percona-server]: https://github.com/Percona/percona-server
1715

1816

1917
Building
2018
--------
2119

2220
PerconaFT is built using CMake >= 2.8.9. Out-of-source builds are
23-
recommended. You need a C++11 compiler, though only GCC >= 4.7 and
24-
Apple's Clang are tested. You also need zlib development packages
25-
(`yum install zlib-devel` or `apt-get install zlib1g-dev`).
21+
recommended. You need a C++11 compiler, though only some versions
22+
of GCC >= 4.7 and Clang are tested. You also need zlib development
23+
packages (`yum install zlib-devel` or `apt-get install zlib1g-dev`).
2624

2725
You will also need the source code for jemalloc, checked out in
2826
`third_party/`.
@@ -42,16 +40,16 @@ CC=gcc47 CXX=g++47 cmake \
4240
cmake --build . --target install
4341
```
4442

45-
This will build `libtokudb.so` and `libtokuportability.so` and install it,
43+
This will build `libft.so` and `libtokuportability.so` and install it,
4644
some header files, and some examples to `percona-ft/prefix/`. It will also
4745
build jemalloc and install it alongside these libraries, you should link
4846
to that if you are planning to run benchmarks or in production.
4947

5048
### Platforms
5149

52-
PerconaFT is supported on 64-bit Centos, should work on other 64-bit linux
53-
distributions, and may work on OSX 10.8 and FreeBSD. PerconaFT is not
54-
supported on 32-bit systems.
50+
PerconaFT is supported on 64-bit Centos, Debian, and Ubuntu and should work
51+
on other 64-bit linux distributions, and may work on OSX 10.8 and FreeBSD.
52+
PerconaFT is not supported on 32-bit systems.
5553

5654
[Transparent hugepages][transparent-hugepages] is a feature in newer linux
5755
kernel versions that causes problems for the memory usage tracking
@@ -97,16 +95,9 @@ We have two publicly accessible mailing lists for TokuDB:
9795
- tokudb-dev@googlegroups.com is for discussion of the development of
9896
TokuDB.
9997

100-
and two for TokuMX:
101-
102-
- tokumx-user@googlegroups.com is for general and support related
103-
questions about the use of TokuMX.
104-
- tokumx-dev@googlegroups.com is for discussion of the development of
105-
TokuMX.
106-
10798
All source code and test contributions must be provided under a [BSD 2-Clause][bsd-2] license. For any small change set, the license text may be contained within the commit comment and the pull request. For larger contributions, the license must be presented in a COPYING.<feature_name> file in the root of the PerconaFT project. Please see the [BSD 2-Clause license template][bsd-2] for the content of the license text.
10899

109-
[jira]: https://tokutek.atlassian.net/browse/FT/
100+
[jira]: https://jira.percona.com/projects/TDB
110101
[bsd-2]: http://opensource.org/licenses/BSD-2-Clause/
111102

112103

storage/tokudb/PerconaFT/ft/ft-ops.cc

Lines changed: 89 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4880,6 +4880,94 @@ static void toku_pfs_keys_init(const char *toku_instr_group_name) {
48804880
toku_instr_probe_1 = new toku_instr_probe(*fti_probe_1_key);
48814881
}
48824882

4883+
static void toku_pfs_keys_destroy(void) {
4884+
delete kibbutz_mutex_key;
4885+
delete minicron_p_mutex_key;
4886+
delete queue_result_mutex_key;
4887+
delete tpool_lock_mutex_key;
4888+
delete workset_lock_mutex_key;
4889+
delete bjm_jobs_lock_mutex_key;
4890+
delete log_internal_lock_mutex_key;
4891+
delete cachetable_ev_thread_lock_mutex_key;
4892+
delete cachetable_disk_nb_mutex_key;
4893+
delete safe_file_size_lock_mutex_key;
4894+
delete cachetable_m_mutex_key;
4895+
delete checkpoint_safe_mutex_key;
4896+
delete ft_ref_lock_mutex_key;
4897+
delete ft_open_close_lock_mutex_key;
4898+
delete loader_error_mutex_key;
4899+
delete bfs_mutex_key;
4900+
delete loader_bl_mutex_key;
4901+
delete loader_fi_lock_mutex_key;
4902+
delete loader_out_mutex_key;
4903+
delete result_output_condition_lock_mutex_key;
4904+
delete block_table_mutex_key;
4905+
delete rollback_log_node_cache_mutex_key;
4906+
delete txn_lock_mutex_key;
4907+
delete txn_state_lock_mutex_key;
4908+
delete txn_child_manager_mutex_key;
4909+
delete txn_manager_lock_mutex_key;
4910+
delete treenode_mutex_key;
4911+
delete locktree_request_info_mutex_key;
4912+
delete locktree_request_info_retry_mutex_key;
4913+
delete manager_mutex_key;
4914+
delete manager_escalation_mutex_key;
4915+
delete db_txn_struct_i_txn_mutex_key;
4916+
delete manager_escalator_mutex_key;
4917+
delete indexer_i_indexer_lock_mutex_key;
4918+
delete indexer_i_indexer_estimate_lock_mutex_key;
4919+
4920+
delete tokudb_file_data_key;
4921+
delete tokudb_file_load_key;
4922+
delete tokudb_file_tmp_key;
4923+
delete tokudb_file_log_key;
4924+
4925+
delete fti_probe_1_key;
4926+
4927+
delete extractor_thread_key;
4928+
delete fractal_thread_key;
4929+
delete io_thread_key;
4930+
delete eviction_thread_key;
4931+
delete kibbutz_thread_key;
4932+
delete minicron_thread_key;
4933+
delete tp_internal_thread_key;
4934+
4935+
delete result_state_cond_key;
4936+
delete bjm_jobs_wait_key;
4937+
delete cachetable_p_refcount_wait_key;
4938+
delete cachetable_m_flow_control_cond_key;
4939+
delete cachetable_m_ev_thread_cond_key;
4940+
delete bfs_cond_key;
4941+
delete result_output_condition_key;
4942+
delete manager_m_escalator_done_key;
4943+
delete lock_request_m_wait_cond_key;
4944+
delete queue_result_cond_key;
4945+
delete ws_worker_wait_key;
4946+
delete rwlock_wait_read_key;
4947+
delete rwlock_wait_write_key;
4948+
delete rwlock_cond_key;
4949+
delete tp_thread_wait_key;
4950+
delete tp_pool_wait_free_key;
4951+
delete frwlock_m_wait_read_key;
4952+
delete kibbutz_k_cond_key;
4953+
delete minicron_p_condvar_key;
4954+
delete locktree_request_info_retry_cv_key;
4955+
4956+
delete multi_operation_lock_key;
4957+
delete low_priority_multi_operation_lock_key;
4958+
delete cachetable_m_list_lock_key;
4959+
delete cachetable_m_pending_lock_expensive_key;
4960+
delete cachetable_m_pending_lock_cheap_key;
4961+
delete cachetable_m_lock_key;
4962+
delete result_i_open_dbs_rwlock_key;
4963+
delete checkpoint_safe_rwlock_key;
4964+
delete cachetable_value_key;
4965+
delete safe_file_size_lock_rwlock_key;
4966+
4967+
delete cachetable_disk_nb_rwlock_key;
4968+
delete toku_instr_probe_1;
4969+
}
4970+
48834971
int toku_ft_layer_init(void) {
48844972
int r = 0;
48854973

@@ -4916,8 +5004,7 @@ void toku_ft_layer_destroy(void) {
49165004
toku_status_destroy();
49175005
partitioned_counters_destroy();
49185006
toku_scoped_malloc_destroy();
4919-
4920-
delete toku_instr_probe_1;
5007+
toku_pfs_keys_destroy();
49215008

49225009
// Portability must be cleaned up last
49235010
toku_portability_destroy();

storage/tokudb/PerconaFT/ft/tests/ft-clock-test.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,11 +184,11 @@ static void test2(int fd, FT ft_h, FTNODE *dn) {
184184
PAIR_ATTR attr;
185185
memset(&attr, 0, sizeof(attr));
186186
toku_ftnode_pe_callback(*dn, attr, ft_h, def_pe_finalize_impl, nullptr);
187-
invariant(BP_STATE(*dn, 0) == (is_leaf) ? PT_ON_DISK : PT_COMPRESSED);
187+
invariant(BP_STATE(*dn, 0) == ((is_leaf) ? PT_ON_DISK : PT_COMPRESSED));
188188
invariant(BP_STATE(*dn, 1) == PT_AVAIL);
189189
invariant(BP_SHOULD_EVICT(*dn, 1));
190190
toku_ftnode_pe_callback(*dn, attr, ft_h, def_pe_finalize_impl, nullptr);
191-
invariant(BP_STATE(*dn, 1) == (is_leaf) ? PT_ON_DISK : PT_COMPRESSED);
191+
invariant(BP_STATE(*dn, 1) == ((is_leaf) ? PT_ON_DISK : PT_COMPRESSED));
192192

193193
bool req = toku_ftnode_pf_req_callback(*dn, &bfe_subset);
194194
invariant(req);

storage/tokudb/PerconaFT/ft/tests/log-test4.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ test_main (int argc __attribute__((__unused__)),
5454
{
5555
ml_lock(&logger->input_lock);
5656
toku_logger_make_space_in_inbuf(logger, 5);
57-
snprintf(logger->inbuf.buf+logger->inbuf.n_in_buf, 5, "a1234");
57+
memcpy(logger->inbuf.buf+logger->inbuf.n_in_buf, "a1234", 5);
5858
logger->inbuf.n_in_buf+=5;
5959
logger->lsn.lsn++;
6060
logger->inbuf.max_lsn_in_buf = logger->lsn;

storage/tokudb/PerconaFT/portability/tests/test-max-data.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ int main(int argc, char *const argv[]) {
6464
if (verbose) printf("maxdata=%" PRIu64 " 0x%" PRIx64 "\n", maxdata, maxdata);
6565

6666
// check the data size
67-
#if defined(__x86_64__) || defined(__aarch64__)
67+
#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__)
6868
assert(maxdata > (1ULL << 32));
6969
#elif __i386__
7070
assert(maxdata < (1ULL << 32));

storage/tokudb/PerconaFT/portability/toku_instrumentation.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ class toku_instr_key {
5252
UU(const char *name)) {}
5353

5454
explicit toku_instr_key(UU(pfs_key_t key_id)) {}
55+
56+
~toku_instr_key() {}
5557
};
5658

5759
typedef toku_instr_probe_empty toku_instr_probe;

storage/tokudb/PerconaFT/portability/toku_portability.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ extern "C" {
157157
#endif
158158

159159
// Deprecated functions.
160-
#if !defined(TOKU_ALLOW_DEPRECATED)
160+
#if !defined(TOKU_ALLOW_DEPRECATED) && !defined(__clang__)
161161
int creat(const char *pathname, mode_t mode) __attribute__((__deprecated__));
162162
int fstat(int fd, struct stat *buf) __attribute__((__deprecated__));
163163
int stat(const char *path, struct stat *buf) __attribute__((__deprecated__));

0 commit comments

Comments
 (0)