-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
Service Arch 2023-03-06
We are using an old version.
Reading changelogs, the upstream has made significant improvements in the past 2 years.
Motivation (from Slack thread in pm-1812 channel):
Google's open source offerings (tcmalloc, abseil, grpc) have basically discarded semantic versioning and are going with a "live at head" initiative, which is directly harmful to non-google versioned projects like ours. We are going to have a hard time tracking projects like "evaluate tcmalloc upgrade" or "evaluate grpc" without considering holistic effects of upgrading everything everygoogle all at once. We'll have to adapt to stress on "evergreen cache capacity" and incur cognitive load in interpreting experimental branch perf results as well.
Staying up to date is no longer optional, as Google's other upstream products that we need (tcmalloc, grpc) are going to be moving forward with dependencies on "head" abseil. We'd need a strong reason to defer upgrading.
About 1 month ago, a revision tag was introduced upstream.
- LIB_GIT_REVISION=20210324.1 + LIB_GIT_REVISION=20230125.0
The upstream is tracked by our https://github.com/mongodb-forks/abseil-cpp/ repo, which is the direct origin of our third_party lib.
Fortunately, we no longer maintain site-specific customizations.
(depended on by SERVER-74420)
(related to SERVER-51476)
All LTS branches as of right now:
remotes/google/lts_2018_06_20
remotes/google/lts_2018_12_18
remotes/google/lts_2019_08_08
remotes/google/lts_2020_02_25
remotes/google/lts_2020_09_23
remotes/google/lts_2021_03_24 <= we are here (but a patch release behind the tip of this branch)
remotes/google/lts_2021_11_02 <= minimum gRPC requirement
remotes/google/lts_2022_06_23
remotes/google/lts_2023_01_25
Minimum required Abseil for TCMalloc hasn't been figured out (not provided by upstream docs), but we can proceed without knowing it.
- fixes
-
SERVER-83522 absl::hash doesn't guarantee hashing values of different C++ types the same but we rely on that in SBE
- Closed
- is depended on by
-
SERVER-75761 Upgrade gRPC third-party libraries
- Closed
-
SERVER-74420 Set up the import of tcmalloc
- Closed
- is related to
-
SERVER-51476 Upgrade Abseil to 20210324.1
- Closed
-
SERVER-54747 Vendor tcmalloc into MongoDB's third party sources
- Closed