[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