-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Single-line std::string::_Rep::_S_create
stack traces in heap profiles
#3116
Comments
Some investigation results:
We don't need to use |
mbautin
pushed a commit
to yugabyte/yugabyte-db-thirdparty
that referenced
this issue
Dec 9, 2019
ttyusupov
added a commit
that referenced
this issue
Dec 12, 2019
Summary: We use a `-D_GLIBCXX_USE_CXX11_ABI=0` build option which we actually don't need and this causes single-line `std::string::_Rep::_S_create` stack traces in heap profiles which are responsible for a high amount of memory consumption in some of the scenarios we've seen investigating OOM issues. This change removes this option from both YB and third-party builds, so we will be using correct `std::string` implementation instead of the old one for GCC builds. Test Plan: - Jenkins - Populated cluster with data using `java -jar ~/code/yb-sample-apps.jar --workload CassandraBatchTimeseries --nodes $NODES --num_writes 100000 --num_threads_read 1 --num_threads_write 4 --min_metrics_count 10000 --max_metrics_count 20000 --num_unique_keys 1000000000 --nouuid --value_size 100`. Performed rolling upgrade. Checked that data is kept and there are no backward compatibility errors. - Checked local RF=3 cluster on AWS m3.xlarge with Xeon E5-2665. Tried load and query ysql sample data. Reviewers: sergei, mikhail Reviewed By: mikhail Subscribers: ybase Differential Revision: https://phabricator.dev.yugabyte.com/D7673
mbautin
added a commit
that referenced
this issue
Mar 19, 2020
Summary: Backport Jenkins-related fixes to remove NFS usage to the 2.0.5 branch Updating third-party dependencies to point to the same versions as in the C++11 ABI change by @ttyusupov (http://github.com/yugabyte/yugabyte-db/commit/aa35010bdd44dc7d3c5f2cb7cf58873b57402a6e): - build-support/shared_thirdparty_version_for_jenkins_centos.txt (2019-12-07T23_26_21) - build-support/shared_thirdparty_version_for_jenkins_mac.txt (2019-12-07T15_28_30) - build-support/thirdparty_url_centos.txt (https://github.com/yugabyte/yugabyte-db-thirdparty/releases/download/v20191209181439-7fc63d1583/yugabyte-db-thirdparty-v20191209181439-7fc63d1583-centos.tar.gz) Here is the list of commits from master that were used in this diff: - [#3663] Remove unused macro-based DSL in pggate Author: @mbautin fb14bd1 https://phabricator.dev.yugabyte.com/D7940 - Fix how we choose the compiler to use in the third-party build Author: @mbautin 44f2aee https://phabricator.dev.yugabyte.com/D7851 - Fix yb_release after recent NFS build infra changes Author: @bmatican 20e2073 https://phabricator.dev.yugabyte.com/D7834 - Fix build in CLion and YB_SRC_ROOT detection in Java tests Author: @mbautin bb6d7eb https://phabricator.dev.yugabyte.com/D7826 - Fix run_tests_on_spark.py when run without --send_archive_to_workers Author: @mbautin 4b0eabb https://phabricator.dev.yugabyte.com/D7822 - #3411 Run tests on Spark without NFS Author: @mbautin http://github.com/yugabyte/yugabyte-db/commit/7ffccc8cf87239778bf87d36d5888297256f568b https://phabricator.dev.yugabyte.com/D7801 - [YCQL] Disabling test org.yb.cql.TestBigNumShards for ASAN configuration Author: @OlegLoginov 95abd92 https://phabricator.dev.yugabyte.com/D7747 - Fix ASAN build on Jenkins Author: @mbautin 7372863 https://phabricator.dev.yugabyte.com/D7841 - #3116: Enable CXX11 ABI Author: @ttyusupov http://github.com/yugabyte/yugabyte-db/commit/aa35010bdd44dc7d3c5f2cb7cf58873b57402a6e https://phabricator.dev.yugabyte.com/D7673 - [#2979] Allow controlling ccache directory location with an environment variable Author: @mbautin d030aa0 https://phabricator.dev.yugabyte.com/D7595 - Update CppCassandraDriverTest to use only cassandra.h Author: @spolitov a1572d1 https://phabricator.dev.yugabyte.com/D7553 - Automatic download of prebuilt third-party dependencies and Homebrew/Linuxbrew Author: @mbautin de42d48 https://phabricator.dev.yugabyte.com/D7511 Test Plan: Jenkins: auto rebase: no Reviewers: bogdan Reviewed By: bogdan Subscribers: bogdan Differential Revision: https://phabricator.dev.yugabyte.com/D7871
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Several times investigating OOM issues we noticed that there are single-line
std::string::_Rep::_S_create
stack traces in heap profiles which are responsible for a high amount of memory consumption.Some related issues: #3041, #2566
The text was updated successfully, but these errors were encountered: