Title: Defer slow parts of scanning · Issue #27 · sourcegraph/srclib-java · GitHub
Open Graph Title: Defer slow parts of scanning · Issue #27 · sourcegraph/srclib-java
X Title: Defer slow parts of scanning · Issue #27 · sourcegraph/srclib-java
Description: The scan phase should be fast and seldom fail because it is not parallelized and does not have separate logs for each package. It is also possible for Java source units detected by the scanner to be ignored (e.g., using SkipDirs in the S...
Open Graph Description: The scan phase should be fast and seldom fail because it is not parallelized and does not have separate logs for each package. It is also possible for Java source units detected by the scanner to b...
X Description: The scan phase should be fast and seldom fail because it is not parallelized and does not have separate logs for each package. It is also possible for Java source units detected by the scanner to b...
Opengraph URL: https://github.com/sourcegraph/srclib-java/issues/27
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Defer slow parts of scanning","articleBody":"The scan phase should be fast and seldom fail because it is not parallelized and does not have separate logs for each package. It is also possible for Java source units detected by the scanner to be ignored (e.g., using `SkipDirs` in the Srcfile); in that case it is undesirable to incur the wait to download all of an ignored module's deps.\n\n(In this case, \"fast\" means \"takes hundreds of milliseconds and doesn't hit the network.\")\n\nAlso, I can't find anywhere that I wrote this down, but I initially had in mind that scanning would always be fast and some other design decisions in srclib assume that it is fast. For example, to make srclib usable for realtime editing, it needs to be able to run the scan phase whenever the project's configuration changes, which could be often (e.g., a file is added or deleted). If scan is slow, then we'd either have to wait a long time to re-scan each time the project configuration changes, or we would have to move more scan-related logic into the grapher and other tools (e.g., the grapher might assume responsibility for knowing that `src/**/*.java` are the Java files). The former is obviously not good and the latter means that the grapher now has to be entangled with the build system (a big goal of the separation was to avoid having to write a Maven grapher, a Gradle grapher, etc.).\n\nCurrently the srclib-java toolchain fetches all of the Maven/Gradle deps in the scan phase. We should defer that work to the graph and depresolve phases. (There needs to be some way to share work between those 2, since the graph phase almost always needs to resolve deps.)\n","author":{"url":"https://github.com/sqs","@type":"Person","name":"sqs"},"datePublished":"2014-12-20T10:28:28.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/27/srclib-java/issues/27"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:279314c7-e6c8-c823-3374-8f8d627126ec |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | A0D4:1FCD98:23AC29E:2F67F34:6A51FCB7 |
| html-safe-nonce | 6df413d6688f2c90d8a3385a00c82cf7daf29439dabeb2450b7b3b2ea8c11cfe |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBMEQ0OjFGQ0Q5ODoyM0FDMjlFOjJGNjdGMzQ6NkE1MUZDQjciLCJ2aXNpdG9yX2lkIjoiMzQ5NjcyMTY1NDE1NDkxOTA5NSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | dc622459858f45d237d4889c92b692a6cd075cbc683876ec55379fa3b8878c1e |
| hovercard-subject-tag | issue:52559901 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/sourcegraph/srclib-java/27/issue_layout |
| twitter:image | https://opengraph.githubassets.com/e59779eb1485b903c8c074cf239b170e2c1db6e678336c72dbb2902ec2b819f0/sourcegraph/srclib-java/issues/27 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/e59779eb1485b903c8c074cf239b170e2c1db6e678336c72dbb2902ec2b819f0/sourcegraph/srclib-java/issues/27 |
| og:image:alt | The scan phase should be fast and seldom fail because it is not parallelized and does not have separate logs for each package. It is also possible for Java source units detected by the scanner to b... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | sqs |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| go-import | github.com/sourcegraph/srclib-java git https://github.com/sourcegraph/srclib-java.git |
| octolytics-dimension-user_id | 3979584 |
| octolytics-dimension-user_login | sourcegraph |
| octolytics-dimension-repository_id | 22005135 |
| octolytics-dimension-repository_nwo | sourcegraph/srclib-java |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 22005135 |
| octolytics-dimension-repository_network_root_nwo | sourcegraph/srclib-java |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7aed05249554b889eb33d002851a973eebcc7e91 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width