[MDEV-14253] Test with tcmalloc Created: 2017-11-02  Updated: 2021-04-05  Resolved: 2021-04-05

Status: Closed
Project: MariaDB Server
Component/s: N/A
Fix Version/s: N/A

Type: Task Priority: Major
Reporter: Sergei Golubchik Assignee: Daniel Bartholomew
Resolution: Won't Do Votes: 0
Labels: None

Issue Links:
Blocks
is blocked by MDEV-14298 run test steps on rpm builders Closed

 Description   

we have users that use mariadb with tcmalloc. we'd better test this configuration on at least one of the builders.

This means

  • installing tcmalloc on test VMs
  • LD_PRELOAD=libtcmalloc.so before mysql-test-run.pl


 Comments   
Comment by Sergei Golubchik [ 2017-11-06 ]

elenst any suggestions what builder to use?

Comment by Elena Stepanova [ 2017-11-06 ]

serg, I'd think – the one that represents the system which [most of] said users use.

Comment by Sergei Golubchik [ 2017-11-06 ]

Probably, some of centos7 family, then

Comment by Elena Stepanova [ 2017-11-07 ]

Maybe it's better to install it at runtime during the test?
It comes with gperftools, which pulls a lot of dependencies, I'm not sure that we want all of that pre-installed on the VM.

Although, of course installing at runtime adds external factors to pass/fail results.

Comment by Daniel Bartholomew [ 2017-11-07 ]

Can we get by with just installing gperftools-devel at runtime instead of gperftools? On CentOS 7.4 the only dependencies for it are the gperftools-libs package and libunwind, and the total size of all three is only 621kB. There's still a bit of an external factor involved, but it's not nearly as big as if gperftools was being installed.

Comment by Sergei Golubchik [ 2017-11-07 ]

I suspect we only need gperftools-libs, nothing else. (Total download size: 329 k)
Why it cannot be preinstalled?

Comment by Elena Stepanova [ 2017-11-07 ]

I think it's much easier to install at runtime. It only takes a couple seconds, and this way we can easily switch the logic to another machine or architecture if we so prefer, without modifying the images. I suggest we see how it works installed dynamically, and if we have problems, we can always resort to pre-installing.

Meanwhile, I will change it from gperftools-devel to gpertools-libs, it's another thing that's primitive to do if it's done at runtime.

Comment by Alvin Richards (Inactive) [ 2017-11-07 ]

Can we add gpertools-libs and others as a dependency on the RPM? In that way a customer gets it automatically with the install - then they do not have to perform a second step install if required. In larger customers / installs there is typically a sign off process to make a change to a system, esp. a production system. A second install would add an additional step.

Comment by Sergei Golubchik [ 2017-11-07 ]

Not really, we don't want to impose gpertools-libs on everyone

Comment by Elena Stepanova [ 2017-11-08 ]

I've switched the config from installing gperftools-devel to gperftools-libs (still at runtime), made it find the library, it seems to be working, except that it crashes on 10.0 TokuDB tests massively and quits.

tcmalloc test is running on CentOS 7.3. It seemed to be suitable, since the builder is running two runs anyway – once 7.3 binaries on 7.3 VM, and another time 7.3 binaries on 7.4 VM. So now the first run (7.3. on 7.3) runs with tcmalloc, and the other one runs without.

I'm returning the task back to dbart. No harm is done, If you decide to go with pre-installing the library, you can still do it, we'll just remove a few lines from the config file. Otherwise please feel free to close it.

Generated at Thu Feb 08 08:12:07 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.