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

De-experiment isolated plugin checkout #2694

Merged
merged 1 commit into from Mar 20, 2024

Conversation

triarius
Copy link
Contributor

Description

Isolated plugin checkout was an experiment that ensures each agent worker checks out plugins into a separate directory.
The experiment was made because the previous behavior of sharing the a plugin's directory between agents works was not locking the checkouts correctly.
If two agent workers run two different version of a plugin concurrenlty, the worker that checked out last would control the version of the plugin used by both agent workers.

A solution involving shared and exclusive locks was proposed at the time, but as plugins are usually a small collection of bash scripts, the complexity of the solution was not worth the benefit.

Context

#2301
https://coda.io/d/Escalations-Feedback_dHnUHNps1YO/Escalations_sudOj#Escalations-Table_tuS42/r22&view=modal

Changes

Promote the isolated plugin checkout experiment so that the only behavior is that each work has an independent copy of every plugin.

Testing

  • Tests have run locally (with go test ./...). Buildkite employees may check this if the pipeline has run automatically.
  • Code is formatted (with go fmt ./...)

Comment on lines +57 to +63
ANSITimestamps: standardPromotionMsg(ANSITimestamps, "v3.48.0"),
AvoidRecursiveTrap: standardPromotionMsg(AvoidRecursiveTrap, "v3.66.0"),
FlockFileLocks: standardPromotionMsg(FlockFileLocks, "v3.48.0"),
GitMirrors: standardPromotionMsg(GitMirrors, "v3.47.0"),
InbuiltStatusPage: standardPromotionMsg(InbuiltStatusPage, "v3.48.0"),
IsolatedPluginCheckout: standardPromotionMsg(IsolatedPluginCheckout, "v3.67.0"),
JobAPI: standardPromotionMsg(JobAPI, "v3.64.0"),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we sort these by version number instead of alphabetically?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that's a good idea, but enforcing it will not be straight forward at the moment. Always happy to review a PR by you that does it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why by version number? Not really seeing a reason

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

eh, i was thinking to sort by recency? but also it really doesn't matter that much, i think

@triarius triarius requested a review from moskyb March 20, 2024 02:20
@triarius triarius merged commit 47e381c into main Mar 20, 2024
1 check passed
@triarius triarius deleted the triarius/promte-isolated-plugin-checkout branch March 20, 2024 03:50
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.

None yet

3 participants