Skip to content

[WIP] Split query execution into hot and cold paths #69109

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

Closed
wants to merge 2 commits into from

Conversation

Zoxc
Copy link
Contributor

@Zoxc Zoxc commented Feb 12, 2020

No description provided.

@rust-highfive
Copy link
Contributor

r? @ecstatic-morse

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Feb 12, 2020
@Zoxc
Copy link
Contributor Author

Zoxc commented Feb 12, 2020

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion

bors added a commit that referenced this pull request Feb 12, 2020
[WIP] Split query execution into hot and cold paths
@bors
Copy link
Collaborator

bors commented Feb 12, 2020

⌛ Trying commit 2807fd9 with merge 14e4345...

@rust-highfive
Copy link
Contributor

The job mingw-check of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2020-02-12T20:57:23.2423374Z ========================== Starting Command Output ===========================
2020-02-12T20:57:23.2424857Z [command]/bin/bash --noprofile --norc /home/vsts/work/_temp/7fb020f8-8782-4239-a02e-06c2b64815d7.sh
2020-02-12T20:57:23.2424887Z 
2020-02-12T20:57:23.2426962Z ##[section]Finishing: Disable git automatic line ending conversion
2020-02-12T20:57:23.2433621Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/69109/merge to s
2020-02-12T20:57:23.2435275Z Task         : Get sources
2020-02-12T20:57:23.2435310Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
2020-02-12T20:57:23.2435345Z Version      : 1.0.0
2020-02-12T20:57:23.2435381Z Author       : Microsoft
---
2020-02-12T20:57:24.0040222Z ##[command]git remote add origin https://github.com/rust-lang/rust
2020-02-12T20:57:24.0143290Z ##[command]git config gc.auto 0
2020-02-12T20:57:24.0282835Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2020-02-12T20:57:24.0328580Z ##[command]git config --get-all http.proxy
2020-02-12T20:57:24.0449528Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/69109/merge:refs/remotes/pull/69109/merge
---
2020-02-12T21:03:55.8669979Z     Checking rustc_parse v0.0.0 (/checkout/src/librustc_parse)
2020-02-12T21:03:58.0584442Z     Checking rustc_ast_passes v0.0.0 (/checkout/src/librustc_ast_passes)
2020-02-12T21:03:58.7283233Z     Checking rustc_expand v0.0.0 (/checkout/src/librustc_expand)
2020-02-12T21:04:00.0799650Z     Checking rustc_builtin_macros v0.0.0 (/checkout/src/librustc_builtin_macros)
2020-02-12T21:04:09.8361896Z error[E0609]: no field `cache_hits` on type `&mut ty::query::plumbing::QueryCache<'_, Q>`
2020-02-12T21:04:09.8363129Z    --> src/librustc/ty/query/plumbing.rs:396:36
2020-02-12T21:04:09.8363671Z     |
2020-02-12T21:04:09.8364561Z 396 |         let cache_hits = &mut lock.cache_hits;
2020-02-12T21:04:09.8365700Z     |
2020-02-12T21:04:09.8365700Z     |
2020-02-12T21:04:09.8366299Z     = note: available fields are: `results`, `active`, `jobs`
2020-02-12T21:04:13.2243154Z error: aborting due to previous error
2020-02-12T21:04:13.2244036Z 
2020-02-12T21:04:13.2244688Z For more information about this error, try `rustc --explain E0609`.
2020-02-12T21:04:13.2513835Z error: could not compile `rustc`.
2020-02-12T21:04:13.2513835Z error: could not compile `rustc`.
2020-02-12T21:04:13.2514556Z 
2020-02-12T21:04:13.2515034Z To learn more, run the command again with --verbose.
2020-02-12T21:04:13.2538193Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "check" "-Zconfig-profile" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--color" "always" "--features" " llvm" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "--message-format" "json-render-diagnostics"
2020-02-12T21:04:13.2551005Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap check
2020-02-12T21:04:13.2551223Z Build completed unsuccessfully in 0:04:34
2020-02-12T21:04:13.2603436Z == clock drift check ==
2020-02-12T21:04:13.2614454Z   local time: Wed Feb 12 21:04:13 UTC 2020
2020-02-12T21:04:13.2614454Z   local time: Wed Feb 12 21:04:13 UTC 2020
2020-02-12T21:04:13.4231251Z   network time: Wed, 12 Feb 2020 21:04:13 GMT
2020-02-12T21:04:13.4235903Z == end clock drift check ==
2020-02-12T21:04:13.7923013Z 
2020-02-12T21:04:13.8009133Z ##[error]Bash exited with code '1'.
2020-02-12T21:04:13.8020276Z ##[section]Finishing: Run build
2020-02-12T21:04:13.8034893Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/69109/merge to s
2020-02-12T21:04:13.8036641Z Task         : Get sources
2020-02-12T21:04:13.8036691Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
2020-02-12T21:04:13.8036759Z Version      : 1.0.0
2020-02-12T21:04:13.8036803Z Author       : Microsoft
2020-02-12T21:04:13.8036803Z Author       : Microsoft
2020-02-12T21:04:13.8036853Z Help         : [More Information](https://go.microsoft.com/fwlink/?LinkId=798199)
2020-02-12T21:04:13.8036921Z ==============================================================================
2020-02-12T21:04:14.1993668Z Cleaning any cached credential from repository: rust-lang/rust (GitHub)
2020-02-12T21:04:14.2039271Z ##[section]Finishing: Checkout rust-lang/rust@refs/pull/69109/merge to s
2020-02-12T21:04:14.2159142Z Cleaning up task key
2020-02-12T21:04:14.2159931Z Start cleaning up orphan processes.
2020-02-12T21:04:14.2257170Z Terminate orphan process: pid (3896) (python)
2020-02-12T21:04:14.2437894Z ##[section]Finishing: Finalize Job

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@rust-highfive
Copy link
Contributor

The job dist-x86_64-linux-alt of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2020-02-12T21:37:14.3288970Z    Compiling rustc_session v0.0.0 (/checkout/src/librustc_session)
2020-02-12T21:37:15.9446050Z    Compiling rustc_hir v0.0.0 (/checkout/src/librustc_hir)
2020-02-12T21:37:29.5527509Z    Compiling rustc_attr v0.0.0 (/checkout/src/librustc_attr)
2020-02-12T21:37:34.8686716Z    Compiling rustc_parse v0.0.0 (/checkout/src/librustc_parse)
2020-02-12T21:37:44.6964828Z error[E0609]: no field `cache_hits` on type `&mut ty::query::plumbing::QueryCache<'_, Q>`
2020-02-12T21:37:44.6965979Z    --> src/librustc/ty/query/plumbing.rs:396:36
2020-02-12T21:37:44.6966480Z     |
2020-02-12T21:37:44.6967042Z 396 |         let cache_hits = &mut lock.cache_hits;
2020-02-12T21:37:44.6968181Z     |
2020-02-12T21:37:44.6968181Z     |
2020-02-12T21:37:44.6968732Z     = note: available fields are: `results`, `active`, `jobs`
2020-02-12T21:37:48.1299151Z error: aborting due to previous error
2020-02-12T21:37:48.1300019Z 
2020-02-12T21:37:48.1300599Z For more information about this error, try `rustc --explain E0609`.
2020-02-12T21:37:48.1547843Z error: could not compile `rustc`.
---
2020-02-12T21:38:02.3351008Z   local time: Wed Feb 12 21:38:02 UTC 2020
2020-02-12T21:38:02.8944766Z   network time: Wed, 12 Feb 2020 21:38:02 GMT
2020-02-12T21:38:02.8957564Z == end clock drift check ==
2020-02-12T21:38:03.3339510Z 
2020-02-12T21:38:03.3421248Z ##[error]Bash exited with code '1'.
2020-02-12T21:38:03.3455092Z ##[section]Starting: Checkout rust-lang/rust@try to s
2020-02-12T21:38:03.3456821Z ==============================================================================
2020-02-12T21:38:03.3456909Z Task         : Get sources
2020-02-12T21:38:03.3457007Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors
Copy link
Collaborator

bors commented Feb 12, 2020

💔 Test failed - checks-azure

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 12, 2020
@Zoxc
Copy link
Contributor Author

Zoxc commented Feb 13, 2020

@rust-timer build 14e4345

@rust-timer
Copy link
Collaborator

Queued 14e4345 with parent 2d2be57, future comparison URL.

@Mark-Simulacrum
Copy link
Member

Please do not queue broken try commits, this breaks perf. I have manually dropped this commit from the queue.

@Zoxc
Copy link
Contributor Author

Zoxc commented Feb 13, 2020

Oops, didn't mean to do that.

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion

@bors
Copy link
Collaborator

bors commented Feb 13, 2020

⌛ Trying commit 438a6ba with merge eabf115...

bors added a commit that referenced this pull request Feb 13, 2020
[WIP] Split query execution into hot and cold paths
@bors
Copy link
Collaborator

bors commented Feb 13, 2020

☀️ Try build successful - checks-azure
Build commit: eabf115 (eabf11584b2b4882ed2fc3e57d63bef090030c93)

@rust-timer
Copy link
Collaborator

Queued eabf115 with parent be493fe, future comparison URL.

@rust-timer
Copy link
Collaborator

Finished benchmarking try commit eabf115, comparison URL.

@rust-highfive
Copy link
Contributor

The job mingw-check of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2020-02-14T10:10:45.1719172Z ========================== Starting Command Output ===========================
2020-02-14T10:10:45.1722606Z [command]/bin/bash --noprofile --norc /home/vsts/work/_temp/f2356ff5-b454-43fb-8fc9-2d9d76afa741.sh
2020-02-14T10:10:45.1722785Z 
2020-02-14T10:10:45.1728655Z ##[section]Finishing: Disable git automatic line ending conversion
2020-02-14T10:10:45.1735116Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/69109/merge to s
2020-02-14T10:10:45.1737120Z Task         : Get sources
2020-02-14T10:10:45.1737151Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
2020-02-14T10:10:45.1737226Z Version      : 1.0.0
2020-02-14T10:10:45.1737257Z Author       : Microsoft
---
2020-02-14T10:10:46.1030968Z ##[command]git remote add origin https://github.com/rust-lang/rust
2020-02-14T10:10:46.1109597Z ##[command]git config gc.auto 0
2020-02-14T10:10:46.1184983Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2020-02-14T10:10:46.1241414Z ##[command]git config --get-all http.proxy
2020-02-14T10:10:46.1379364Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/69109/merge:refs/remotes/pull/69109/merge
---
2020-02-14T10:18:46.1747159Z     Checking rustc_ast_passes v0.0.0 (/checkout/src/librustc_ast_passes)
2020-02-14T10:18:46.9583616Z     Checking rustc_expand v0.0.0 (/checkout/src/librustc_expand)
2020-02-14T10:18:48.6403485Z     Checking rustc_builtin_macros v0.0.0 (/checkout/src/librustc_builtin_macros)
2020-02-14T10:19:00.6277593Z error[E0308]: mismatched types
2020-02-14T10:19:00.6278957Z    --> src/librustc/ty/query/plumbing.rs:163:17
2020-02-14T10:19:00.6280290Z 163 |                 key,
2020-02-14T10:19:00.6281017Z     |                 ^^^ expected associated type, found reference
2020-02-14T10:19:00.6281901Z     |
2020-02-14T10:19:00.6281901Z     |
2020-02-14T10:19:00.6282711Z     = note: expected associated type `<Q as ty::query::config::QueryConfig<'_>>::Key`
2020-02-14T10:19:00.6283380Z                      found reference `&<Q as ty::query::config::QueryConfig<'tcx>>::Key`
2020-02-14T10:19:00.6284458Z     = note: consider constraining the associated type `<Q as ty::query::config::QueryConfig<'_>>::Key` to `&<Q as ty::query::config::QueryConfig<'tcx>>::Key` or calling a method that returns `<Q as ty::query::config::QueryConfig<'_>>::Key`
2020-02-14T10:19:00.6287749Z 
2020-02-14T10:19:00.6287749Z 
2020-02-14T10:19:00.6310338Z error[E0593]: closure is expected to take 2 distinct arguments, but it takes a single 2-tuple as argument
2020-02-14T10:19:00.6310718Z    --> src/librustc/ty/query/plumbing.rs:162:30
2020-02-14T10:19:00.6311053Z     |
2020-02-14T10:19:00.6311412Z 162 |             let cached = tcx.try_get_cached::<Q, _, _, _>(
2020-02-14T10:19:00.6311871Z     |                              ^^^^^^^^^^^^^^ expected closure that takes 2 distinct arguments
2020-02-14T10:19:00.6312203Z 163 |                 key,
2020-02-14T10:19:00.6312548Z 164 |                 |(value, index)| (value.clone(), index),
2020-02-14T10:19:00.6312978Z     |                 ---------------- takes a single 2-tuple as argument
2020-02-14T10:19:00.6313599Z help: change the closure to take multiple arguments instead of a single tuple
2020-02-14T10:19:00.6313852Z     |
2020-02-14T10:19:00.6313852Z     |
2020-02-14T10:19:00.6314204Z 164 |                 |value, index| (value.clone(), index),
2020-02-14T10:19:00.6314582Z 
2020-02-14T10:19:04.8549218Z error: aborting due to 2 previous errors
2020-02-14T10:19:04.8550070Z 
2020-02-14T10:19:04.8550741Z Some errors have detailed explanations: E0308, E0593.
2020-02-14T10:19:04.8550741Z Some errors have detailed explanations: E0308, E0593.
2020-02-14T10:19:04.8551471Z For more information about an error, try `rustc --explain E0308`.
2020-02-14T10:19:04.8861076Z error: could not compile `rustc`.
2020-02-14T10:19:04.8861838Z 
2020-02-14T10:19:04.8862807Z To learn more, run the command again with --verbose.
2020-02-14T10:19:04.8892529Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "check" "-Zconfig-profile" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--color" "always" "--features" " llvm" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "--message-format" "json-render-diagnostics"
2020-02-14T10:19:04.8901264Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap check
2020-02-14T10:19:04.8901568Z Build completed unsuccessfully in 0:05:18
2020-02-14T10:19:04.8956823Z == clock drift check ==
2020-02-14T10:19:04.8972286Z   local time: Fri Feb 14 10:19:04 UTC 2020
2020-02-14T10:19:04.8972286Z   local time: Fri Feb 14 10:19:04 UTC 2020
2020-02-14T10:19:05.1857372Z   network time: Fri, 14 Feb 2020 10:19:05 GMT
2020-02-14T10:19:05.1861217Z == end clock drift check ==
2020-02-14T10:19:05.8493105Z 
2020-02-14T10:19:05.8595228Z ##[error]Bash exited with code '1'.
2020-02-14T10:19:05.8607066Z ##[section]Finishing: Run build
2020-02-14T10:19:05.8623182Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/69109/merge to s
2020-02-14T10:19:05.8625049Z Task         : Get sources
2020-02-14T10:19:05.8625106Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
2020-02-14T10:19:05.8625146Z Version      : 1.0.0
2020-02-14T10:19:05.8625182Z Author       : Microsoft
2020-02-14T10:19:05.8625182Z Author       : Microsoft
2020-02-14T10:19:05.8625243Z Help         : [More Information](https://go.microsoft.com/fwlink/?LinkId=798199)
2020-02-14T10:19:05.8625287Z ==============================================================================
2020-02-14T10:19:06.2803102Z Cleaning any cached credential from repository: rust-lang/rust (GitHub)
2020-02-14T10:19:06.2846127Z ##[section]Finishing: Checkout rust-lang/rust@refs/pull/69109/merge to s
2020-02-14T10:19:06.2968278Z Cleaning up task key
2020-02-14T10:19:06.2969097Z Start cleaning up orphan processes.
2020-02-14T10:19:06.3160983Z Terminate orphan process: pid (4556) (python)
2020-02-14T10:19:06.3365601Z ##[section]Finishing: Finalize Job

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@Zoxc
Copy link
Contributor Author

Zoxc commented Feb 15, 2020

These changes have been merged into #68988.

@Zoxc Zoxc closed this Feb 15, 2020
@Zoxc Zoxc deleted the query-refactor branch February 15, 2020 11:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants