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

roachtest: exclude stats.json from artifacts.zip #125022

Merged

Conversation

srosenberg
Copy link
Member

Upon test completion, the test runner invokes zipArtifacts() in order to reduce the footprint of all test-specific logs retained by TC. In case of a successful benchmark, performance artifacts (i.e., stats.json) are fetched. Historically, those do not get zipped. Instead, they are uploaded (as is) into GCS.

In [1], a new pattern was introduced, wherein stats.json is written directly on the test runner node, as opposed to, on some remote (cluster) node. Since zipArtifacts runs before fetching performance artifacts, stats.json is effectively evaporated; i.e., the CI script no longer finds it.

This PR adds an exclusion filter to zipArtifacts, to ignore all paths ending in stats.json.

Unrelated, we also disable verbose ssh
logging for roachprod.SetupSSH, which can result in thousands of useless logs; this was observed in the same CI run, while debugging the "disappering" stats.json issue.

[1] #124664

Epic: none
Informs: #124827

Release note: None

Upon test completion, the test runner invokes `zipArtifacts()`
in order to reduce the footprint of all test-specific logs
retained by TC. In case of a successful benchmark, performance
artifacts (i.e., stats.json) are fetched. Historically, those
do not get zipped. Instead, they are uploaded (as is) into GCS.

In [1], a new pattern was introduced, wherein `stats.json` is
written directly on the test runner node, as opposed to, on some
remote (cluster) node. Since `zipArtifacts` runs _before_ fetching
performance artifacts, `stats.json` is effectively evaporated; i.e.,
the CI script no longer finds it.

This PR adds an exclusion filter to `zipArtifacts`, to ignore
all paths ending in `stats.json`.

Unrelated, we also disable _verbose_ ssh
logging for `roachprod.SetupSSH`, which can result in _thousands_
of useless logs; this was observed in the same CI run, while
debugging the "disappering" `stats.json` issue.

[1] cockroachdb#124664

Epic: none
Informs: cockroachdb#124827

Release note: None
@srosenberg srosenberg requested a review from a team as a code owner June 4, 2024 01:47
@srosenberg srosenberg requested review from herkolategan and DarrylWong and removed request for a team June 4, 2024 01:47
@cockroach-teamcity
Copy link
Member

This change is Reviewable

@srosenberg
Copy link
Member Author

TFTR!

bors r=herkolategan

@craig craig bot merged commit be9d35d into cockroachdb:master Jun 4, 2024
22 checks passed
DarrylWong added a commit to DarrylWong/fork that referenced this pull request Jun 10, 2024
In cockroachdb#125022, we excluded stats.json files from being zipped.
However, because the stats.json file lives in a .perf dir,
this dir is found first by filterDirEntries and zipped.

This change instead excludes the .perf directory from
being zipped.

Release note: none
Epic: none
Fixes: none
srosenberg added a commit to srosenberg/cockroach that referenced this pull request Jun 10, 2024
In cockroachdb#125022, we excluded stats.json files from being zipped.
However, because the stats.json file lives in a .perf dir
this dir is found first by filterDirEntries and zipped.
This change instead excludes the .perf directory from being zipped.

Epic: none
Fixes: none

Release note: None

Co-authored-by: Darryl Wong <darryl@cockroachlabs.com>
srosenberg added a commit to srosenberg/cockroach that referenced this pull request Jun 10, 2024
In cockroachdb#125022, we excluded stats.json files from being zipped.
However, because the stats.json file lives in a .perf dir
this dir is found first by filterDirEntries and zipped.
This change instead excludes the .perf directory from being zipped.

Epic: none
Fixes: none

Release note: None

Co-authored-by: Darryl Wong <darryl@cockroachlabs.com>
craig bot pushed a commit that referenced this pull request Jun 10, 2024
125152: sql: extend EXPLAIN ANALYZE for follower reads and AOST r=yuzefovich a=yuzefovich

**sql: extend EXPLAIN ANALYZE to indicate that follower reads were used**

This commit extends EXPLAIN ANALYZE output for KV-reading operators to indicate whether the follower reads were used. This is achieved by reusing existing `ScanStats` infrastructure by adding a "marker" protobuf message. Note that we couldn't directly reuse the same `kvpb.ScanStats` object as the one we create in `evaluateBatch` since the determination whether the follower reads are eligible is done at a different point in time. We could have extended that protobuf and created a fresh object, but that seems a bit wrong.

Co-authored with `@Uzair5162.`

Release note (sql change): New field "used follower read" is added to EXPLAIN ANALYZE output to SQL operators whenever their reads were served by the follower replicas (previously, this information was only available in the trace).

**sql: extend EXPLAIN ANALYZE for "historical" reads**

This commit adds `historical: AS OF SYSTEM TIME ...` top-level attribute to EXPLAIN ANALYZE whenever the txn is historical (meaning AS OF SYSTEM TIME was specified either in the stmt or at the txn level).

Release note (sql change): New attribute `historical: AS OF SYSTEM TIME ...` is now included into EXPLAIN ANALYZE output whenever the query performs historical reads.

Fixes: #99984.

125431: roachtest: exclude .perf directories from artifacts.zip r=DarrylWong,renatolabs a=srosenberg

In #125022, we excluded stats.json files from being zipped. However, because the stats.json file lives in a .perf dir this dir is found first by filterDirEntries and zipped. This change instead excludes the .perf directory from being zipped.

Epic: none
Fixes: none

Release note: None

Co-authored-by: Yahor Yuzefovich <yahor@cockroachlabs.com>
Co-authored-by: Stan Rosenberg <stan.rosenberg@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants