Skip to content
This repository has been archived by the owner on Feb 10, 2023. It is now read-only.

Backport percona server 5.7.29 32 #3

Merged
merged 23 commits into from
May 6, 2020

Conversation

TCeason
Copy link

@TCeason TCeason commented May 5, 2020

No description provided.

George O. Lorch III and others added 22 commits February 6, 2019 11:45
- jemalloc mallctl_f("opt.lg_chunk", ...) is failing in memory init with
  jemalloc 5.1.0.  This option was removed in 5.0.0 and versions of jemalloc
  greater than 5.0 no longer operate with the concept of lg_chunk.  There is no
  equivalent replacement functionality.  For this specific issue, lg_chunk is
  used by PerconaFT to set the threshold where allocations will switch to using
  mmap instead of the standard allocator.  It is reasonable to recognize the
  lg_chunk query failure and pick a rational value and continue on rather than
  failing and asserting.  For the older jemalloc versions, this value was 4MB
  by default.

- Fixed missing initialization of global flag indicating memory startup status.

- Added more assertions in the startup path to catch specific issues.

- Altered behavior of jemalloc startup to recognize when lg_chunk is not
  supported and use 4MB instead.
PS-5406 - jemalloc 5.0.x causes TokuDB/PerconaFT to assert on load
- Fixed some incomplete relicensed files from previous round.

- Added missing license text to some.

- Relicensed more files to Apache V2 that locktree depends on.
PS-5501 : Re-license PerconaFT 'locktree' to Apache V2
"-lpthread" is passed as a dependency to to library merge functions,
causing a CMake error because of a non existent target. This patch
excludes anything that isn't a target, fixing this issue.
PS-5102: Fix configuration error with MySQL 8.0.16
Current cmake and build scripts refer to a "build_jemalloc" target,
which was never actually present in the git tree. Starting with
8.0.16, MySQL CMake scripts set CMP00046 to NEW, which emits errors
on non existing dependencies: the scripts work as before, and omit
a working makefile, but cmake reports an exit code of 1 in the end,
causing jenkins failures.

This change removes every mention of the build_jemalloc target,
fixing the issue.
PS-5102: Remove old build_jemalloc target
- MySQL Commit e4148f2a22922687f7652c4e3d21a22da07c9e78 alters PSI rwlock
  interface, bumps version and deprecates prior interface.  This breaks
  PerconaFT portability layer.  Must add #ifdef on
  PSI_CURRENT_RWLOCK_VERSION to compile to appropriate interface for
  unlock_rwlock.
This could be useful when the server crashed with a corrupted rollback file,
and is unable to start up. Specifying --tokudb--force-recovery=6 --super-read-only
should start it up in a read-only, but usable state. Some data may be lost and
unrecoverable.

Starting the server without the read only option is *NOT* supported.
PS-5932: Implementing --tokudb-force-recovery=6 to skip reading the logs
PS-5932: disable cleaner thread and assert on dirty pages
The FT layer is initialized in toku_ft_layer_init, which is
normally called in ydb_lib.cc as part of the DLL initialization
process.

For some reason, the linker previously optimized these construction
functions out in tools, and manual initialization calls were added.

In the original PS-5932 pull request, a global variable was added
to ydb.cc, which changed the linker beheavior: it no longer
optimized out the dll initialization function. This resulted in
double initialization in tools, asserting in debug builds.

Fix: as tokudb uses C++11 on all platforms, a static bool variable
is added as a guards around toku_ft_layer_init and _destroy:
the functions can be safely called multiple times now.
PS-5932: Fix double initialization in ft tools
PS-5674: Fixed compilation error caused by #warning in sys/sysctrl.h
…rconaFT into backport-Percona-Server-5.7.29-32

Percona Server release 5.7.26-29
…rconaFT into backport-Percona-Server-5.7.29-32

Percona Server release 5.7.27-30
…rconaFT into backport-Percona-Server-5.7.29-32

Percona Server release 5.7.28-31
…rconaFT into backport-Percona-Server-5.7.29-32

Percona Server release 5.7.29-32
@TCeason TCeason force-pushed the backport-Percona-Server-5.7.29-32 branch from 29f74b1 to c38143f Compare May 5, 2020 10:45
@TCeason TCeason force-pushed the backport-Percona-Server-5.7.29-32 branch from c38143f to b55731f Compare May 5, 2020 11:42
@BohuTANG BohuTANG merged commit d424e21 into xelabs:master May 6, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
5 participants