[
https://issues.jboss.org/browse/JBIDE-21857?page=com.atlassian.jira.plugi...
]
Rob Stryker commented on JBIDE-21857:
-------------------------------------
I've replicated this exact same behavior on oracle jdk 1.8.0_31, so seems pretty
consistant here.
The real problem is, I can't think of any way to ensure that the given class is
"reached" via some execution path on the server. There's no real way to
know (at the hcr level) when or how the class is used and how it might be reached to force
a reload on the server.
Again, hitting the gc repeadetly has no effect (even after a module republish) unless
i've somehow gotten the server to load the new class. Republishing the old module
doesn't seem to do anything until the code path is reached.
In fact, here's another path that fails in a unique way:
1) Change method signature,
2) "Continue" when hcr dialog comes up (ie ignore the error)
3) In server view, UNPUBLISH the module
4) wait a bit, hit the GC in jmx ui a few times
5) in editor, try to make a non-breaking change to the file (change a string)
6) Note hcr dialog re-appears.
In this case, the hcr dialog comes up again, even though the file we're changing is
part of a module that is no longer published on the server. Even if I reload the webpage
(and get a 404 of course) and then hit the GC 5 more times, and THEN make a non-breaking
change to the file again, the HCR dialog will continue to show up.
Hot class reload doesn't work on OpenShift
------------------------------------------
Key: JBIDE-21857
URL:
https://issues.jboss.org/browse/JBIDE-21857
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: openshift
Affects Versions: 4.3.1.Beta2
Reporter: Fred Bricon
Assignee: Rob Stryker
Priority: Blocker
Fix For: 4.4.0.Alpha1
Attachments: HCRFailure.zip
When enabling debug mode on an EAP server deployed on OpenShift, locally changing a class
file will :
- work sometimes when only the content of the method changed, but could fail in some
other occasions with the Debugger saying the JDK is out of sync
- will always fail if a method signature changed, the debugger saying JDK is out of sync
Restarting the deployed module (with the .dodeploy flag) doesn't fixes the issue (as
opposed to the same tweak ahen running on a local EAP server)
This may be caused by running OpenJDK? Does it support the same level of debugging as
Oracle JDK?
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)