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

Move Session to its own file. #11222

Merged
merged 1 commit into from
Nov 20, 2020

Conversation

stuhood
Copy link
Member

@stuhood stuhood commented Nov 20, 2020

Problem

Scheduler and Session play distinct roles, and have each grown large. The Scheduler is global, and typically created once per process, whereas the Session is created once per run, and so there will (soon) be more than one of them in existence concurrently.

But they are both still living in the same file, making it slightly harder to understand and isolate their roles.

Solution

Move Session to its own module: session.rs.

[ci skip-build-wheels]

[ci skip-build-wheels]
@stuhood stuhood closed this Nov 20, 2020
@stuhood stuhood deleted the stuhood/isolate-session branch November 20, 2020 22:27
@stuhood stuhood restored the stuhood/isolate-session branch November 20, 2020 22:28
@stuhood stuhood reopened this Nov 20, 2020
Copy link
Contributor

@tdyas tdyas left a comment

Choose a reason for hiding this comment

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

lgtm

@coveralls
Copy link

Coverage Status

Coverage remained the same at 0.0% when pulling 36dde19 on stuhood:stuhood/isolate-session into b7409ff on pantsbuild:master.

@stuhood stuhood merged commit 6b79455 into pantsbuild:master Nov 20, 2020
Eric-Arellano added a commit that referenced this pull request Nov 25, 2020
Internal only changes:

* Rewrite changelog helper to Python and use markdown for changelog ([#11224](#11224))

* Update to nails `0.8.0`. ([#11226](#11226))

* upgrade to Rust v1.48.0 ([#11210](#11210))

* Move Session to its own file. ([#11222](#11222))

* Port InteractiveProcess to Tokio to unblock async interruption ([#11219](#11219))

* Add `./cargo` script to facilitate Rust development ([#11218](#11218))

* Add partition metadata ([#11212](#11212))

* Hotfix unbound `$PY` variable breaking cargo script ([#11209](#11209))

* Remove dataclasses backport ([#11208](#11208))

* Stop using Python 3.6 internally and in CI ([#11175](#11175))

* Update to tokio 0.2.23. ([#11200](#11200))

* Add test address metadata ([#11193](#11193))

* Port more tests from `TestBase` to `RuleRunner` ([#11183](#11183))

* acquire GIL during work unit conversion ([#11186](#11186))

* Add counter metrics for remote execution  ([#11155](#11155))

* add metrics to local cache code paths ([#11146](#11146))

* Deprecate the `sources` field for `python_awslambda` ([#11176](#11176))

* Make S3 bucket expiry deletion handling robust. ([#11156](#11156))

* Detect delete markers in our s3 cache of native_engine.so. ([#11140](#11140))

* Fix target globs for deleted file `pants_run_integration_test.py`. ([#11127](#11127))

* Deduplicate `Platform` and `PlatformConstraint` ([#11157](#11157))

* move counter increment into check_action_cache ([#11154](#11154))

* Replace the "base target" concept with "BUILD targets" ([#11136](#11136))

* Re-land the port of Pants' nailgun client to Rust ([#11147](#11147))

* Flatten execution and target PlatformConstraints in MultiPlatformProcess ([#11145](#11145))

* Prepare 2.1.0rc2 ([#11180](#11180))

* Prepare 2.1.0rc1 ([#11144](#11144))

* Prepare 2.0.1rc0 ([#11141](#11141))

* Prepare 2.0.1rc2 ([#11220](#11220))

* Prepare 2.1.1rc0 ([#11221](#11221))

* Prepare 2.1.0 ([#11198](#11198))

* Prepare 2.0.1rc1 ([#11192](#11192))

* Prepare 2.1.0rc3 ([#11191](#11191))

[ci skip-rust]
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