-
Notifications
You must be signed in to change notification settings - Fork 58
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Reworking Java server lifecycle management (#70)
* Rather than having a watcher sniffing for gRPC traffic, and shutting down the server when it doesn't see any, have the server shut itself down if it's been idle for a while. This has a few advantages: * It means that if a single package takes longer than the deadline to parse, we won't abruptly kill the server - we now stay alive when there are in-flight requests. * It also means that if we end up with lingering server processes (e.g. beacuse of an error on the Go side), they will clean themselves up at some point. * It means the server will exit cleanly, rather than seeing a signal. * Remove the javaparser-wrapper completely. Right now, this extra process adds complexity to what's going on (multiple processes, multiple ports), as well as a small amount of overhead proxying all requests. * Move same-package import filtering from the javaparser-wrapper into generate.go directly. * Shut down when Gazelle tells us we're done parsing source. This hook was only recently added to Gazelle, so if people are using and older version of gazelle, the server will time itself out. * Have the Java process pick its own port and report it back, rather than be given a port which is _hopefully_ free - this avoids a TOCTOU race. This has a few benefits: 1. It simplifies the general flow. 2. It seems to speed up running gazelle in this repo on my machine from generally taking ~3.8 seconds to generally taking ~1.8 seconds.
- Loading branch information
1 parent
eb54c97
commit 50427b7
Showing
26 changed files
with
327 additions
and
512 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
23 changes: 0 additions & 23 deletions
23
java/gazelle/private/javaparser/cmd/javaparser-wrapper/BUILD.bazel
This file was deleted.
Oops, something went wrong.
8 changes: 0 additions & 8 deletions
8
java/gazelle/private/javaparser/cmd/javaparser-wrapper/internal/activitytracker/BUILD.bazel
This file was deleted.
Oops, something went wrong.
31 changes: 0 additions & 31 deletions
31
java/gazelle/private/javaparser/cmd/javaparser-wrapper/internal/activitytracker/tracker.go
This file was deleted.
Oops, something went wrong.
232 changes: 0 additions & 232 deletions
232
java/gazelle/private/javaparser/cmd/javaparser-wrapper/main.go
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.