[jbosstools-issues] [JBoss JIRA] (JBIDE-21857) Hot class reload doesn't work on OpenShift

Rob Stryker (JIRA) issues at jboss.org
Tue Apr 12 14:58:00 EDT 2016


    [ https://issues.jboss.org/browse/JBIDE-21857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13190802#comment-13190802 ] 

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)


More information about the jbosstools-issues mailing list