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

Thomas Mäder (JIRA) issues at jboss.org
Wed May 31 10:21:00 EDT 2017


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

Thomas Mäder commented on JBIDE-21857:
--------------------------------------

After looking at this, I believe that this is not a problem with the behavior of our tooling, but in EAP. Here's what I did:

1. I was able to verify that Runtime.gc() is reliably called twice after the reload of the module
2. I can reproduce the problem by running the jboss-kitchensink example and by putting a breakpoint in MemberRepository.findAllOrderedByName both locally (eap 6.4 and 7.0) and on openshift (eap 7.0). Therefore it's likely NOT openshift tooling specific.
3. When I look at heap dumps from after a couple of times reproducing the problem, I see that there are references to an instance of MemberController in a ThreadLocal for each time I try to do HCR. 
4. When I let the request I am in run to completion and then suspend the request thread, the thread local still references the MemberController instance. I suspect that the HCR leads to an exception and that the ThreadLocal is not properly cleaned up. 

I don't stand a chance of debugging the apparent EAP problem in a reasonable time. I suggest involving an expert on EAP/Wildfly.

> Hot code replacement 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
>             Fix For: 4.5.0.AM1
>
>         Attachments: HCRFailure.zip, code-out-of-sync.png, hot-code-replace-failed.png, jmx-connected-adapter-synchronized.png
>
>
> 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
(v7.2.3#72005)



More information about the jbosstools-issues mailing list