Skip to content
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

ybase: add regularVsNonRegular or similar #9534

Open
jaki opened this issue Jul 29, 2021 · 4 comments
Open

ybase: add regularVsNonRegular or similar #9534

jaki opened this issue Jul 29, 2021 · 4 comments
Assignees
Labels
area/docdb YugabyteDB core features kind/enhancement This is an enhancement of an existing feature priority/medium Medium priority issue

Comments

@jaki
Copy link
Contributor

jaki commented Jul 29, 2021

Jira Link: DB-2165
We have macros and functions that switch between two given values depending on whether the build type is sanitizer or nonsanitizer. This is mostly used for timing in tests because sanitizer builds tend to take longer.

Commit 80b8598, titled "[#6643] Disable optimizations for debug build", changes the debug build type so that it disables compiler optimizations, going from -O1 to nothing. It is noticeable how much slower operations are with that change. I estimate that timing at least doubled. SELECTs to an empty table take ~10ms instead of ~5ms; CREATE INDEX (concurrently) takes ~10s instead of ~3s.

This affects the amount of time tests take, so existing tests can more easily hit timeout. One of my in-progress Java tests TestPgRegressGin hits 500s timeout consistently (on debug build) after rebasing over this commit. After bumping up the timeout, it appears that the test takes 712.844s. This is very similar to ASAN, which takes 891.754s.

The point is that debug probably belongs in the sanitizers category of timing. release and fastdebug take about half as long as debug, asan, and tsan. Therefore, new switch functions should be created for this arrangement (or the existing ones should update the arrangement (and probably rename themselves accordingly)).

keywords: SanitizerUtil.nonSanitizerVsSanitizer, SanitizerUtil, nonSanitizerVsSanitizer, RegularBuildVsSanitizers, IsSanitizer, NonTsanVsTsan

@jaki jaki added kind/failing-test Tests and testing infra area/docdb YugabyteDB core features labels Jul 29, 2021
@jaki
Copy link
Contributor Author

jaki commented Jul 30, 2021

org.yb.cql.TestYbBackup Java tests keep failing by timeout on our Jenkins runs. They always fail on the centos debug builds. They also failed on the centos debug runs for D10121 (the disable debug optimizations revision).

@jaki
Copy link
Contributor Author

jaki commented Jul 30, 2021

I hit the 1800s timeout on TestPgRegressTypesUDT java test on centos-gcc-debug. According to logs, it reached yb_pg_rangetypes test, the second-to-last test.

@ttyusupov
Copy link
Contributor

Note that originally we had optimizations disabled for debug build type, but it was enabled during the quick fix of #1291 (while the proper fix was #4789 / 4142c34).

@ttyusupov
Copy link
Contributor

Based on comparison of 2.6 debug build vs latest master debug build test runs, the most overhead without optimisation under debug build is from the following tests:
org.yb.multiapi.*
org.yb.pgsql.*
PgIndexBackfillTest
PgLibPqTest
TwoDCTestParams/TwoDCTest
TwoDCTestParams/TwoDCYsqlTest
PgMiniTest

@yugabyte-ci yugabyte-ci added kind/bug This issue is a bug priority/medium Medium priority issue labels Jun 9, 2022
@yugabyte-ci yugabyte-ci assigned rthallamko3 and unassigned bmatican Jul 27, 2022
@yugabyte-ci yugabyte-ci added kind/enhancement This is an enhancement of an existing feature and removed kind/failing-test Tests and testing infra kind/bug This issue is a bug labels Jul 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/docdb YugabyteDB core features kind/enhancement This is an enhancement of an existing feature priority/medium Medium priority issue
Projects
None yet
Development

No branches or pull requests

5 participants