-
-
Notifications
You must be signed in to change notification settings - Fork 648
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
Allow nailgun execution for RscCompile by bundling together the tool classpaths #7092
Changes from all commits
00882ad
503f4f3
2647bb7
822e540
54a8300
d44123f
70977ef
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -153,7 +153,7 @@ def run(this, stdout=None, stderr=None, stdin=None, cwd=None): | |||||||||||||||
|
||||||||||||||||
def _check_nailgun_state(self, new_fingerprint): | ||||||||||||||||
running = self.is_alive() | ||||||||||||||||
updated = self.needs_restart(new_fingerprint) or self.cmd != self._distribution.java | ||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why is this changing? I don't think it should be? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I agree! I mentioned:
When adding a ton of debug logging I realized the nailguns were restarting despite matching fingerprints because of this line of code, and everything immediately started working after I removed it. I'm of course very concerned this will silently break pantsd, and an option can be plumbed through to avoid removing this check for specific nailguns, but the logic for nailgun and pailgun isn't clearly demarcated -- #6579 makes the distinction between nailgun and pailgun implementations more clear and could make this process easier. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I could delve more into why the restarting is occurring, because to start at least There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Would be good to see whether this is still necessary. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think pants/src/python/pants/java/executor.py Line 60 in e61a164
self._distribution.java , which is the location of java being used.
I think There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It is still necessary, if you run e.g. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. (I could see that being used as a testing hack to invalidate dummy There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I was wrong, looking at the wrong level of nesting. pants/src/python/pants/pantsd/process_manager.py Lines 293 to 298 in 70977ef
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I find it confusing that cmd has so many meanings in that file. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yep!!!! Thank you for finding that, I thought I had tracked it down to |
||||||||||||||||
updated = self.needs_restart(new_fingerprint) | ||||||||||||||||
logging.debug('Nailgun {nailgun} state: updated={up!s} running={run!s} fingerprint={old_fp} ' | ||||||||||||||||
'new_fingerprint={new_fp} distribution={old_dist} new_distribution={new_dist}' | ||||||||||||||||
.format(nailgun=self._identity, up=updated, run=running, | ||||||||||||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's much cleaner having these broken out as methods. Thanks!