[JBoss JIRA] (WFCORE-4186) RBAC classification resources should not store default-xxx attribute values in the DMR model
by Brian Stansberry (Jira)
Brian Stansberry created WFCORE-4186:
----------------------------------------
Summary: RBAC classification resources should not store default-xxx attribute values in the DMR model
Key: WFCORE-4186
URL: https://issues.jboss.org/browse/WFCORE-4186
Project: WildFly Core
Issue Type: Bug
Components: Management
Reporter: Brian Stansberry
Assignee: Brian Stansberry
The RBAC classification resource are storing the values of the relevant default-requires-xxx attributes in the DMR model even though those are runtime-only attributes. The DMR value is unused in read-resource/read-attribute because the read handlers for the attribute don't read from DMR.
Unless WFCORE-4185 is fixed these will get propogated to slave HCs when they connect though.
Cleaning this up helps resolve WFCORE-4183 by removing irrelevant data that confuses domain mode transformer tests.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 7 months
[JBoss JIRA] (WFCORE-4185) ReadMasterDomainModelUtil is including runtime-only attributes in what it provides
by Brian Stansberry (Jira)
[ https://issues.jboss.org/browse/WFCORE-4185?page=com.atlassian.jira.plugi... ]
Brian Stansberry updated WFCORE-4185:
-------------------------------------
Description:
Some resources (e.g. WildFly's transaction subsystem's log-store resource) may use the Resource tree DMR model node to store non-persistent, runtime-only state. If this is done, any such value should not be propagated to a remote HC.
(This is actually very unlikely to happen in practice as runtime-only attributes are not typically used in the domain model. It does affect transformer testing though as transformer tests usually don't take care to inform their extension that they are running in an HC.)
Cleaning this up helps resolve WFCORE-4183 by removing irrelevant data that confuses domain mode transformer tests.
was:
Some resource (e.g. WildFly's transaction subsystem's log-store resource) may use the Resource tree DMR model node to store non-persistent, runtime-only state. If this is done, any such value should not be propagated to a remote HC.
(This is actually very unlikely to happen in practice as runtime-only attributes are not typically used in the domain model. It does affect transformer testing though as transformer tests usually don't take care to inform their extension that they are running in an HC.)
> ReadMasterDomainModelUtil is including runtime-only attributes in what it provides
> ----------------------------------------------------------------------------------
>
> Key: WFCORE-4185
> URL: https://issues.jboss.org/browse/WFCORE-4185
> Project: WildFly Core
> Issue Type: Bug
> Components: Management
> Reporter: Brian Stansberry
> Assignee: Brian Stansberry
> Priority: Minor
>
> Some resources (e.g. WildFly's transaction subsystem's log-store resource) may use the Resource tree DMR model node to store non-persistent, runtime-only state. If this is done, any such value should not be propagated to a remote HC.
> (This is actually very unlikely to happen in practice as runtime-only attributes are not typically used in the domain model. It does affect transformer testing though as transformer tests usually don't take care to inform their extension that they are running in an HC.)
> Cleaning this up helps resolve WFCORE-4183 by removing irrelevant data that confuses domain mode transformer tests.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 7 months
[JBoss JIRA] (WFCORE-4185) ReadMasterDomainModelUtil is including runtime-only attributes in what it provides
by Brian Stansberry (Jira)
Brian Stansberry created WFCORE-4185:
----------------------------------------
Summary: ReadMasterDomainModelUtil is including runtime-only attributes in what it provides
Key: WFCORE-4185
URL: https://issues.jboss.org/browse/WFCORE-4185
Project: WildFly Core
Issue Type: Bug
Components: Management
Reporter: Brian Stansberry
Assignee: Brian Stansberry
Some resource (e.g. WildFly's transaction subsystem's log-store resource) may use the Resource tree DMR model node to store non-persistent, runtime-only state. If this is done, any such value should not be propagated to a remote HC.
(This is actually very unlikely to happen in practice as runtime-only attributes are not typically used in the domain model. It does affect transformer testing though as transformer tests usually don't take care to inform their extension that they are running in an HC.)
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 7 months
[JBoss JIRA] (WFCORE-4184) ModelTestUtils.trimUndefinedChildren loses track of what object is undefined
by Brian Stansberry (Jira)
Brian Stansberry created WFCORE-4184:
----------------------------------------
Summary: ModelTestUtils.trimUndefinedChildren loses track of what object is undefined
Key: WFCORE-4184
URL: https://issues.jboss.org/browse/WFCORE-4184
Project: WildFly Core
Issue Type: Bug
Components: Management, Test Suite
Reporter: Brian Stansberry
Assignee: Brian Stansberry
ModelTestUtils.trimUndefinedChildren uses an 'undefined' var to track whether all fields in an ModelType.OBJECT node are undefined. But it does not reset the var before moving on to the next object, so the results from one node pollute the processing of the next.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 7 months
[JBoss JIRA] (WFCORE-4183) ReadResourceHandler returns runtime values stored in the DMR model even if include-runtime=false
by Brian Stansberry (Jira)
Brian Stansberry created WFCORE-4183:
----------------------------------------
Summary: ReadResourceHandler returns runtime values stored in the DMR model even if include-runtime=false
Key: WFCORE-4183
URL: https://issues.jboss.org/browse/WFCORE-4183
Project: WildFly Core
Issue Type: Bug
Components: Management
Reporter: Brian Stansberry
Assignee: Brian Stansberry
The transaction subsystem has a read-write runtime-only attribute whose value it stores in the resource's DMR model node. Its value is not persisted, so it really is runtime-only. (The value controls behavior of some runtime-only custom ops; this setup is basically a way of storing a semi-permanent param for those ops so it doesn't need to be passed with each invocation. Odd, but it is what it is.)
Problem is read-resource calls end up including the attribute when they should not:
{code}
[disconnected /] embed-server --admin-only=false
[standalone@embedded /] /subsystem=transactions/log-store=log-store:write-attribute(name=expose-all-logs,value=false)
{
"outcome" => "success",
"result" => undefined
}
[standalone@embedded /] /subsystem=transactions/log-store=log-store:read-resource(include-runtime=false)
{
"outcome" => "success",
"result" => {
"expose-all-logs" => false,
"type" => "default",
"transactions" => undefined
}
}
{code}
This happens because of ReadResourceHandler's behavior of trying to check for attributes in the DMR model that are not reflected in the ManagementResourceRegistration. Two possible fixes:
1) Make those checks a bit more sophisticated.
2) Remove that handling altogether as it's been *at least* five years since it was valid to have an attribute that is not reflected in the MRR.
I think I'll try #2.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 7 months
[JBoss JIRA] (WFLY-11254) Optimize FineSessionAttributes cache operations
by Paul Ferraro (Jira)
Paul Ferraro created WFLY-11254:
-----------------------------------
Summary: Optimize FineSessionAttributes cache operations
Key: WFLY-11254
URL: https://issues.jboss.org/browse/WFLY-11254
Project: WildFly
Issue Type: Task
Components: Clustering
Affects Versions: 14.0.0.Final
Reporter: Paul Ferraro
Assignee: Paul Ferraro
The FineSessionAttributes are implemented atop a Cache<Key<String>, Map<String, ID>>. Currently, operations to add and remove attributes from the map of attributes are sub-optimal, as they replicate the entire Map<String, ID>. As discussed at the last clustering F2F, we should optimize these operations such that only the attribute name to be added/removed is sent to remote nodes.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 7 months
[JBoss JIRA] (DROOLS-2552) KieBase Deserialization: NullPointerException
by Mario Fusco (Jira)
[ https://issues.jboss.org/browse/DROOLS-2552?page=com.atlassian.jira.plugi... ]
Mario Fusco commented on DROOLS-2552:
-------------------------------------
Poker: 2
> KieBase Deserialization: NullPointerException
> ---------------------------------------------
>
> Key: DROOLS-2552
> URL: https://issues.jboss.org/browse/DROOLS-2552
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 7.7.0.Final
> Environment: Windows 7, Java 1.8, Drools 7.7.0.Final, jBPM 7.7.0.Final
> Reporter: Florian Braun
> Assignee: Mario Fusco
> Priority: Critical
>
> I have run into an issue with the KieBase serialization throwing a NullPointerException when using exists and parentheses around an or when rules are in a RuleFlowGroup.
> Example rules:
> package com.sample.rules
> rule "Your First Rule"
> ruleflow-group "group1"
> when
> exists ( String(this == "Hello") or String(this == "World") )
> then
> System.out.println("Hello or World");
> end
> rule "Your Second Rule"
> ruleflow-group "group1"
> when
> $string: String(this == "Hello World")
> then
> System.out.println($string);
> end
> Having the first rule wrap the or in () will cause a deserialization NPE:
> Exception in thread "main" java.lang.NullPointerException
> at org.drools.core.common.BaseNode.getSinks(BaseNode.java:241)
> at org.drools.core.impl.KnowledgeBaseImpl.rewireNodeAfterDeserialization(KnowledgeBaseImpl.java:494)
> at org.drools.core.impl.KnowledgeBaseImpl.rewireNodeAfterDeserialization(KnowledgeBaseImpl.java:511)
> at org.drools.core.impl.KnowledgeBaseImpl.rewireNodeAfterDeserialization(KnowledgeBaseImpl.java:511)
> at org.drools.core.impl.KnowledgeBaseImpl.rewireNodeAfterDeserialization(KnowledgeBaseImpl.java:511)
> at org.drools.core.impl.KnowledgeBaseImpl.rewireReteAfterDeserialization(KnowledgeBaseImpl.java:489)
> at org.drools.core.impl.KnowledgeBaseImpl.readExternal(KnowledgeBaseImpl.java:483)
> ....
> Some testing shows this:
> If the first rule is on its own then this error does *not* occur.
> If the first rule does not use () the error does *not* occur. This of course means that the rule behaves differently
> If the rules are not in an rfg this error does *not* occur
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 7 months
[JBoss JIRA] (DROOLS-2552) KieBase Deserialization: NullPointerException
by Mario Fusco (Jira)
[ https://issues.jboss.org/browse/DROOLS-2552?page=com.atlassian.jira.plugi... ]
Mario Fusco updated DROOLS-2552:
--------------------------------
Sprint: 2018 Week 45-47
> KieBase Deserialization: NullPointerException
> ---------------------------------------------
>
> Key: DROOLS-2552
> URL: https://issues.jboss.org/browse/DROOLS-2552
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 7.7.0.Final
> Environment: Windows 7, Java 1.8, Drools 7.7.0.Final, jBPM 7.7.0.Final
> Reporter: Florian Braun
> Assignee: Mario Fusco
> Priority: Critical
>
> I have run into an issue with the KieBase serialization throwing a NullPointerException when using exists and parentheses around an or when rules are in a RuleFlowGroup.
> Example rules:
> package com.sample.rules
> rule "Your First Rule"
> ruleflow-group "group1"
> when
> exists ( String(this == "Hello") or String(this == "World") )
> then
> System.out.println("Hello or World");
> end
> rule "Your Second Rule"
> ruleflow-group "group1"
> when
> $string: String(this == "Hello World")
> then
> System.out.println($string);
> end
> Having the first rule wrap the or in () will cause a deserialization NPE:
> Exception in thread "main" java.lang.NullPointerException
> at org.drools.core.common.BaseNode.getSinks(BaseNode.java:241)
> at org.drools.core.impl.KnowledgeBaseImpl.rewireNodeAfterDeserialization(KnowledgeBaseImpl.java:494)
> at org.drools.core.impl.KnowledgeBaseImpl.rewireNodeAfterDeserialization(KnowledgeBaseImpl.java:511)
> at org.drools.core.impl.KnowledgeBaseImpl.rewireNodeAfterDeserialization(KnowledgeBaseImpl.java:511)
> at org.drools.core.impl.KnowledgeBaseImpl.rewireNodeAfterDeserialization(KnowledgeBaseImpl.java:511)
> at org.drools.core.impl.KnowledgeBaseImpl.rewireReteAfterDeserialization(KnowledgeBaseImpl.java:489)
> at org.drools.core.impl.KnowledgeBaseImpl.readExternal(KnowledgeBaseImpl.java:483)
> ....
> Some testing shows this:
> If the first rule is on its own then this error does *not* occur.
> If the first rule does not use () the error does *not* occur. This of course means that the rule behaves differently
> If the rules are not in an rfg this error does *not* occur
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 7 months