[JBoss JIRA] (WFLY-13259) Memory leak in Hibernate pending-puts cache when L2 cache is enabled
by Scott Marlow (Jira)
[ https://issues.redhat.com/browse/WFLY-13259?page=com.atlassian.jira.plugi... ]
Scott Marlow updated WFLY-13259:
--------------------------------
Issue Type: Enhancement (was: Bug)
> Memory leak in Hibernate pending-puts cache when L2 cache is enabled
> --------------------------------------------------------------------
>
> Key: WFLY-13259
> URL: https://issues.redhat.com/browse/WFLY-13259
> Project: WildFly
> Issue Type: Enhancement
> Components: JPA / Hibernate
> Affects Versions: 18.0.1.Final, 19.0.0.Final
> Reporter: Sorin Potra
> Assignee: Scott Marlow
> Priority: Critical
> Attachments: PathToGCRoots_strong_refs.PNG, afterOOM.hprof.zip, beforeOOM.hprof.zip, pending-puts-leak.PNG, simple-hibernate-war-client.zip, simple-hibernate-war-client.zip.2020-03-25, simple-hibernate-war.war, simple-hibernate-war.war.2020-03-25, simple-hibernate-war.zip, simple-hibernate-war.zip.2020-03-25
>
>
> Under certain conditions, described below, WildFly / Hibernate can leak memory into the pending-puts cache eventually causing an OutOfMemoryError. Attached you can find a web application and a standalone client that can be used to reproduce the problem. The web app defines two entities: a Parent and a Child. There is a bidirectional one-to-many relationship between the Parent and the Child. JPA L2 cache is enabled (Infinispan is the cache provider).
> Repeatedly executing a transaction that creates a new Child and adds it to the list of children in the Parent will cause the memory usage to increase steadily until OOM is encountered. If the execution of these transactions is stopped before reaching OOM, the memory will be reclaimed after a few minutes of inactivity.
> Attached you can find the following:
> - simple-hibernate-war.war - the web app that can be deployed in WildFly to reproduce the issue.
> - simple-hibernate-war.zip - the source code for the above web app. The servlet that is invoked by the client to create and persist a new Child is com.microfocus.sa.web.AddChildServlet
> - simple-hibernate-war-client.zip - the standalone client that can be used to invoke the AddChildServlet. After unzipping the archive, the client can be run with the following command from the client folder:
>
> java -cp bin com.microfocus.sa.client.AddChildClient
>
> If you need to run the client multiple times, you have to restart WildFly in between the runs, to start from a fresh state (the web app uses the h2 in memory databasewhich is reset at each restart).
> - pending-puts-leak.PNG - a screeshot from Memory Analyzer showing a leaked SessionImpl instance
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 6 months
[JBoss JIRA] (WFLY-13259) Memory leak in Hibernate pending-puts cache when L2 cache is enabled
by Gail Badner (Jira)
[ https://issues.redhat.com/browse/WFLY-13259?page=com.atlassian.jira.plugi... ]
Gail Badner commented on WFLY-13259:
------------------------------------
Unfortunately, the approach taken in the PR won't work, and I don't see a straightforward way to fix this.
In any case, the second-level cache should not be used when importing data. It should be disabled by either:
* setting {{session.setCacheMode( CacheMode.IGNORE )}}
* setting JPA hints: `javax.persistence.cache.retrieveMode=CacheRetrieveMode.BYPASS` and `javax.persistence.cache.storeMode=CacheStoreMode.BYPASS`
[~smarlow], IMHO, this should be changed from a "Bug" to an "Enhancement".
> Memory leak in Hibernate pending-puts cache when L2 cache is enabled
> --------------------------------------------------------------------
>
> Key: WFLY-13259
> URL: https://issues.redhat.com/browse/WFLY-13259
> Project: WildFly
> Issue Type: Bug
> Components: JPA / Hibernate
> Affects Versions: 18.0.1.Final, 19.0.0.Final
> Reporter: Sorin Potra
> Assignee: Scott Marlow
> Priority: Critical
> Attachments: PathToGCRoots_strong_refs.PNG, afterOOM.hprof.zip, beforeOOM.hprof.zip, pending-puts-leak.PNG, simple-hibernate-war-client.zip, simple-hibernate-war-client.zip.2020-03-25, simple-hibernate-war.war, simple-hibernate-war.war.2020-03-25, simple-hibernate-war.zip, simple-hibernate-war.zip.2020-03-25
>
>
> Under certain conditions, described below, WildFly / Hibernate can leak memory into the pending-puts cache eventually causing an OutOfMemoryError. Attached you can find a web application and a standalone client that can be used to reproduce the problem. The web app defines two entities: a Parent and a Child. There is a bidirectional one-to-many relationship between the Parent and the Child. JPA L2 cache is enabled (Infinispan is the cache provider).
> Repeatedly executing a transaction that creates a new Child and adds it to the list of children in the Parent will cause the memory usage to increase steadily until OOM is encountered. If the execution of these transactions is stopped before reaching OOM, the memory will be reclaimed after a few minutes of inactivity.
> Attached you can find the following:
> - simple-hibernate-war.war - the web app that can be deployed in WildFly to reproduce the issue.
> - simple-hibernate-war.zip - the source code for the above web app. The servlet that is invoked by the client to create and persist a new Child is com.microfocus.sa.web.AddChildServlet
> - simple-hibernate-war-client.zip - the standalone client that can be used to invoke the AddChildServlet. After unzipping the archive, the client can be run with the following command from the client folder:
>
> java -cp bin com.microfocus.sa.client.AddChildClient
>
> If you need to run the client multiple times, you have to restart WildFly in between the runs, to start from a fresh state (the web app uses the h2 in memory databasewhich is reset at each restart).
> - pending-puts-leak.PNG - a screeshot from Memory Analyzer showing a leaked SessionImpl instance
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 6 months
[JBoss JIRA] (DROOLS-4746) UX for DMN "quick test" tool
by Elizabeth Clayton (Jira)
[ https://issues.redhat.com/browse/DROOLS-4746?page=com.atlassian.jira.plug... ]
Elizabeth Clayton commented on DROOLS-4746:
-------------------------------------------
[~danielezonca] Thanks for your feedback, I'm glad the click-thru looks good. I made a mock of a Fine view, does this look correct?
!Fine.png|thumbnail!
> UX for DMN "quick test" tool
> ----------------------------
>
> Key: DROOLS-4746
> URL: https://issues.redhat.com/browse/DROOLS-4746
> Project: Drools
> Issue Type: Story
> Components: DMN Editor
> Reporter: Elizabeth Clayton
> Assignee: Elizabeth Clayton
> Priority: Major
> Labels: UX, UXTeam, drools-tools
> Attachments: Fine.png, Screen Shot 2020-04-08 at 4.34.49 PM.png, Screen Shot 2020-04-08 at 5.01.51 PM.png, Screen Shot 2020-04-09 at 9.29.34 AM.png, decision-logic-2-2.png, decision-logic-3-2.png
>
>
> As a DMN author, I'd like to probe the DMN model during the authoring phase without leaving the DMN Editor. Actually, it's really important to explore the DMN model to understand with values are required by the test.
> When the user run the test he can get back the results of the DMN execution.
> Moreover, it would be handy to add those input/output to an existing (or new) test scenario.
> *Acceptance criteria*
> Users are able to:
> * Execute a single node boxed expression by providing node inputs (within the DMN editor.)
> * Explore the DMN model and provide inputs necessary to run a scenario test.
> * Obtain results (Expected) within the DMN editor once the test is run.
> Notes:
> * Try to dissociate this feature from the "test scenario" concept and think of this more as a partial execution. When we're thinking about the concept of a "test scenario", we think about input values and expected outputs... however, in this new component, users will be able to provide inputs and just check the current output.
> * Out of scope: Saving or exporting the "quick test."
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 6 months
[JBoss JIRA] (DROOLS-4746) UX for DMN "quick test" tool
by Elizabeth Clayton (Jira)
[ https://issues.redhat.com/browse/DROOLS-4746?page=com.atlassian.jira.plug... ]
Elizabeth Clayton updated DROOLS-4746:
--------------------------------------
Attachment: Fine.png
> UX for DMN "quick test" tool
> ----------------------------
>
> Key: DROOLS-4746
> URL: https://issues.redhat.com/browse/DROOLS-4746
> Project: Drools
> Issue Type: Story
> Components: DMN Editor
> Reporter: Elizabeth Clayton
> Assignee: Elizabeth Clayton
> Priority: Major
> Labels: UX, UXTeam, drools-tools
> Attachments: Fine.png, Screen Shot 2020-04-08 at 4.34.49 PM.png, Screen Shot 2020-04-08 at 5.01.51 PM.png, Screen Shot 2020-04-09 at 9.29.34 AM.png, decision-logic-2-2.png, decision-logic-3-2.png
>
>
> As a DMN author, I'd like to probe the DMN model during the authoring phase without leaving the DMN Editor. Actually, it's really important to explore the DMN model to understand with values are required by the test.
> When the user run the test he can get back the results of the DMN execution.
> Moreover, it would be handy to add those input/output to an existing (or new) test scenario.
> *Acceptance criteria*
> Users are able to:
> * Execute a single node boxed expression by providing node inputs (within the DMN editor.)
> * Explore the DMN model and provide inputs necessary to run a scenario test.
> * Obtain results (Expected) within the DMN editor once the test is run.
> Notes:
> * Try to dissociate this feature from the "test scenario" concept and think of this more as a partial execution. When we're thinking about the concept of a "test scenario", we think about input values and expected outputs... however, in this new component, users will be able to provide inputs and just check the current output.
> * Out of scope: Saving or exporting the "quick test."
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 6 months
[JBoss JIRA] (DROOLS-4746) UX for DMN "quick test" tool
by Daniele Zonca (Jira)
[ https://issues.redhat.com/browse/DROOLS-4746?page=com.atlassian.jira.plug... ]
Daniele Zonca edited comment on DROOLS-4746 at 4/9/20 1:59 PM:
---------------------------------------------------------------
[~uxdlc]
I like this new click-thru, I am not sure about the result section because I would like to consider a more complex decision. Can you consider the other decision of this DMN (Fine) and see how it will look like?
> UX for DMN "quick test" tool
> ----------------------------
>
> Key: DROOLS-4746
> URL: https://issues.redhat.com/browse/DROOLS-4746
> Project: Drools
> Issue Type: Story
> Components: DMN Editor
> Reporter: Elizabeth Clayton
> Assignee: Elizabeth Clayton
> Priority: Major
> Labels: UX, UXTeam, drools-tools
> Attachments: Screen Shot 2020-04-08 at 4.34.49 PM.png, Screen Shot 2020-04-08 at 5.01.51 PM.png, Screen Shot 2020-04-09 at 9.29.34 AM.png, decision-logic-2-2.png, decision-logic-3-2.png
>
>
> As a DMN author, I'd like to probe the DMN model during the authoring phase without leaving the DMN Editor. Actually, it's really important to explore the DMN model to understand with values are required by the test.
> When the user run the test he can get back the results of the DMN execution.
> Moreover, it would be handy to add those input/output to an existing (or new) test scenario.
> *Acceptance criteria*
> Users are able to:
> * Execute a single node boxed expression by providing node inputs (within the DMN editor.)
> * Explore the DMN model and provide inputs necessary to run a scenario test.
> * Obtain results (Expected) within the DMN editor once the test is run.
> Notes:
> * Try to dissociate this feature from the "test scenario" concept and think of this more as a partial execution. When we're thinking about the concept of a "test scenario", we think about input values and expected outputs... however, in this new component, users will be able to provide inputs and just check the current output.
> * Out of scope: Saving or exporting the "quick test."
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 6 months
[JBoss JIRA] (WFCORE-4908) The write-attribute operation does not work on a hosts JVM resource
by Jean Francois Denise (Jira)
[ https://issues.redhat.com/browse/WFCORE-4908?page=com.atlassian.jira.plug... ]
Jean Francois Denise commented on WFCORE-4908:
----------------------------------------------
[~jamezp], the server is translating the bogus attribute name into a valid attribute name, so no error: https://github.com/wildfly/wildfly-core/blob/master/controller/src/main/j...
I will need to look at this completion issue, [~soul2zimate] please feel free to log an issue.
> The write-attribute operation does not work on a hosts JVM resource
> -------------------------------------------------------------------
>
> Key: WFCORE-4908
> URL: https://issues.redhat.com/browse/WFCORE-4908
> Project: WildFly Core
> Issue Type: Bug
> Components: CLI, Management
> Reporter: James Perkins
> Assignee: Jeff Mesnil
> Priority: Major
> Labels: domain-mode
>
> Under a hosts server config, {{/host=master/server-config=server-one/}}, there is a {{jvm}} resource. On this resource the {{write-attribute}} operation does not work expected.
> {code}
> [domain@embedded /] /host=master/server-config=server-one/jvm=default:add
> {
> "outcome" => "success",
> "result" => undefined,
> "server-groups" => undefined
> }
> [domain@embedded /] /host=master/server-config=server-one/jvm=default:write-attribute(name=jvm-options["-Xlog:gc*:file=${jboss.domain.servers.dir}/server-two/log/gc.log"])
> {
> "outcome" => "success",
> "result" => undefined,
> "server-groups" => undefined
> }
> [domain@embedded /] /host=master/server-config=server-one/jvm=default:read-resource
> {
> "outcome" => "success",
> "result" => {
> "agent-lib" => undefined,
> "agent-path" => undefined,
> "debug-enabled" => undefined,
> "debug-options" => undefined,
> "env-classpath-ignored" => undefined,
> "environment-variables" => undefined,
> "heap-size" => undefined,
> "java-agent" => undefined,
> "java-home" => undefined,
> "jvm-options" => undefined,
> "launch-command" => undefined,
> "max-heap-size" => undefined,
> "max-permgen-size" => undefined,
> "permgen-size" => undefined,
> "stack-size" => undefined,
> "type" => undefined
> }
> }
> {code}
> As you can see from the above command does not update the {{jvm-options}}. However if you use the {{add-jvm-option}} operation that does work. It seems the {{write-attribute}} operation should also work.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 6 months
[JBoss JIRA] (WFCORE-4915) Tighten up the dependency tree of subsystem-test
by Brian Stansberry (Jira)
Brian Stansberry created WFCORE-4915:
----------------------------------------
Summary: Tighten up the dependency tree of subsystem-test
Key: WFCORE-4915
URL: https://issues.redhat.com/browse/WFCORE-4915
Project: WildFly Core
Issue Type: Task
Components: Test Suite
Reporter: Brian Stansberry
Assignee: Brian Stansberry
In general I'd like to tighten (aka eliminate) up the use of transitive dependencies when various WildFly and WildFly Core maven modules depend on each other. Things should be explicit so unwanted coupling cannot creep in.
The subsystem-test module is important in this regard as pretty much all extension modules depend on it's pom. So I want it and its children and its direct dependencies to only depend on other wf core modules directly, no transitive deps allowed.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 6 months
[JBoss JIRA] (WFCORE-4908) The write-attribute operation does not work on a hosts JVM resource
by James Perkins (Jira)
[ https://issues.redhat.com/browse/WFCORE-4908?page=com.atlassian.jira.plug... ]
James Perkins commented on WFCORE-4908:
---------------------------------------
[~jdenise] Oops you're correct are correct. I left off the {{value}} attribute. However it seems odd the command succeeds at all. It should fail with either an invalid attribute name and/or the missing value attribute.
Also as [~soul2zimate] says I think the tab complete is a bit misleading as that's what I was relying too heavily on :) That is a separate issue though.
> The write-attribute operation does not work on a hosts JVM resource
> -------------------------------------------------------------------
>
> Key: WFCORE-4908
> URL: https://issues.redhat.com/browse/WFCORE-4908
> Project: WildFly Core
> Issue Type: Bug
> Components: CLI, Management
> Reporter: James Perkins
> Assignee: Jeff Mesnil
> Priority: Major
> Labels: domain-mode
>
> Under a hosts server config, {{/host=master/server-config=server-one/}}, there is a {{jvm}} resource. On this resource the {{write-attribute}} operation does not work expected.
> {code}
> [domain@embedded /] /host=master/server-config=server-one/jvm=default:add
> {
> "outcome" => "success",
> "result" => undefined,
> "server-groups" => undefined
> }
> [domain@embedded /] /host=master/server-config=server-one/jvm=default:write-attribute(name=jvm-options["-Xlog:gc*:file=${jboss.domain.servers.dir}/server-two/log/gc.log"])
> {
> "outcome" => "success",
> "result" => undefined,
> "server-groups" => undefined
> }
> [domain@embedded /] /host=master/server-config=server-one/jvm=default:read-resource
> {
> "outcome" => "success",
> "result" => {
> "agent-lib" => undefined,
> "agent-path" => undefined,
> "debug-enabled" => undefined,
> "debug-options" => undefined,
> "env-classpath-ignored" => undefined,
> "environment-variables" => undefined,
> "heap-size" => undefined,
> "java-agent" => undefined,
> "java-home" => undefined,
> "jvm-options" => undefined,
> "launch-command" => undefined,
> "max-heap-size" => undefined,
> "max-permgen-size" => undefined,
> "permgen-size" => undefined,
> "stack-size" => undefined,
> "type" => undefined
> }
> }
> {code}
> As you can see from the above command does not update the {{jvm-options}}. However if you use the {{add-jvm-option}} operation that does work. It seems the {{write-attribute}} operation should also work.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 6 months
[JBoss JIRA] (DROOLS-4746) UX for DMN "quick test" tool
by Elizabeth Clayton (Jira)
[ https://issues.redhat.com/browse/DROOLS-4746?page=com.atlassian.jira.plug... ]
Elizabeth Clayton commented on DROOLS-4746:
-------------------------------------------
[~karreiro][~danielezonca][~tirelli] I updated the click-thru based on feedback from [~danielezonca]. Changes include:
- Grouped input sections that are collapsible, with labels that present an icon to describe the node type.
- Grouped input section labels that are hyperlinked and will navigate the user to the model, with the respective node properties panel open.
- Open "inspect" panel via 3 means: Left-click select the table, right-click contextual menu on table header cells, toolbar button.
- Changed "boxed expression" language in the panel title and tooltips to "Decision Logic" but needs input/review from [~stetson.robinson] or respective content specialist.
Updated click-thru: https://marvelapp.com/7208d3a
> UX for DMN "quick test" tool
> ----------------------------
>
> Key: DROOLS-4746
> URL: https://issues.redhat.com/browse/DROOLS-4746
> Project: Drools
> Issue Type: Story
> Components: DMN Editor
> Reporter: Elizabeth Clayton
> Assignee: Elizabeth Clayton
> Priority: Major
> Labels: UX, UXTeam, drools-tools
> Attachments: Screen Shot 2020-04-08 at 4.34.49 PM.png, Screen Shot 2020-04-08 at 5.01.51 PM.png, Screen Shot 2020-04-09 at 9.29.34 AM.png, decision-logic-2-2.png, decision-logic-3-2.png
>
>
> As a DMN author, I'd like to probe the DMN model during the authoring phase without leaving the DMN Editor. Actually, it's really important to explore the DMN model to understand with values are required by the test.
> When the user run the test he can get back the results of the DMN execution.
> Moreover, it would be handy to add those input/output to an existing (or new) test scenario.
> *Acceptance criteria*
> Users are able to:
> * Execute a single node boxed expression by providing node inputs (within the DMN editor.)
> * Explore the DMN model and provide inputs necessary to run a scenario test.
> * Obtain results (Expected) within the DMN editor once the test is run.
> Notes:
> * Try to dissociate this feature from the "test scenario" concept and think of this more as a partial execution. When we're thinking about the concept of a "test scenario", we think about input values and expected outputs... however, in this new component, users will be able to provide inputs and just check the current output.
> * Out of scope: Saving or exporting the "quick test."
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 6 months