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

Support multiple regions in batch #4453

Merged
merged 19 commits into from
Nov 26, 2024
Merged

Support multiple regions in batch #4453

merged 19 commits into from
Nov 26, 2024

Conversation

jonathanmetzman
Copy link
Collaborator

Use randomness to "load balance" for now.

jonathanmetzman and others added 19 commits November 12, 2024 14:31
…g filing (#4415)

### Motivation

As per Chrome request, it is desirable to know how long it takes for an
issue to be opened, from the moment a testcase is created.

Part of #4271
…#4414)

### Motivation

Chrome folks need to know how long on average a fuzzer takes to generate
a testcase. This PR implements that.

Part of #4271
### Motivation

Cumulative distribution metrics from the monitoring initiative were
incorrectly set to use the fixed width bucketer, and/or width=0.05 and
max_buckets=20. This caused percentile metrics to cap at 1, which was
wrong behavior.

This PR attempts to fix that by moving them all to Geometric Bucketer,
without the aforementioned limits. It also reverts #4429 , since it
apparently broke triage.py in chrome.

Part of #4271
Fetching the testcase from the datastore has been wrongly moved before
the call to `_update_testcase`. This leads to us holding an outdated
version of the testcase.
…4437)

Some parts of CF will chdir, breaking relative paths.
### Motivation

Chrome folks want to know what build revision is being used in fuzz
task. This PR implements that.
1. Don't unnecessarily list features about blobs other than names
2. Memoize leak blacklist stuff.
3. Properly skip cleanup.
Previously we tried to handle it by finding the fuzz targets in the
list. But we still failed because it wasn't in the db. Save it to the db
to solve this problem.
Getting credentials is pretty slow since it launches a gcloud process.
We should just cache credentials. Supposedly the library itself handles
refreshes. We are also caching in storage.py so there's proof it's safe.
We want tworkers to skip the function, not non-tworkers.
It's important for speed, probably safe on tworkers, and it will be very
easy to notice if things go wrong since the preprocess queue will pile
up.
This PR also fixes a bad bug where the max_pool_size was not obeyed, but
in practice since this code never runs on machines with more than 2
cores, it's unlikely to matter.
Partial undoes #4430
@jonathanmetzman
Copy link
Collaborator Author

Supersedes #4399

@jonathanmetzman jonathanmetzman merged commit 40e8ffb into oss-fuzz Nov 26, 2024
3 checks passed
@jonathanmetzman jonathanmetzman deleted the ragions branch November 26, 2024 22:14
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