Bug 1092198 - LogStoreProbeHandler overwrites the LogStoreResource root model
Summary: LogStoreProbeHandler overwrites the LogStoreResource root model
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: Transaction Manager
Version: 6.2.0
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ER4
: EAP 6.3.0
Assignee: Brian Stansberry
QA Contact: Ondrej Chaloupka
Russell Dickenson
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-04-29 00:50 UTC by Brian Stansberry
Modified: 2014-06-28 15:39 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
In previous versions of JBoss EAP 6 it was found that `LogStoreProbeHandler` replaced the 'delegate' held by `LogStoreResource`. This removed any data from the existing delegate's 'model' field (the "type" attribute, for example). As a result, invoking the 'probe' operation on the `subsystem=transactions/log-store=log-store` would result in the value of the resource's 'type' attribute being changed to 'default' even if the transaction manager is actually using 'hornetq'. The actual runtime behavior would not be affected, but the reported value would be wrong. In this release of the product the contents of the current delegate's model is copied to the new delegate before it is removed and the 'type' attribute will no longer be 'default' after running the 'probe' operation when the log store type is actually something else.
Clone Of:
Environment:
Last Closed: 2014-06-28 15:39:34 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker WFLY-3020 0 Major Resolved LogStoreProbeHandler overwrites the LogStoreResource root model 2014-07-24 07:28:44 UTC

Description Brian Stansberry 2014-04-29 00:50:55 UTC
Description of problem:

The subsystem=transaction/log-store=log-store has a 'probe' operation that inadvertently clears the 'type' attribute from the resource.


How reproducible:

Always

Steps to Reproduce:
1. Invoke /subsystem=transaction/log-store=log-store:probe
2. Invoke /subsystem=transaction/log-store=log-store:read-resource

Actual results:

The 'type' attribute is undefined

Expected results:

The 'type' attribute should be defined

Additional info:

LogStoreProbeHandler replaces the 'delegate' held by LogStoreResource. Doing this removes any data from the existing delegate's 'model' field, i.e. the "type" attribute.

Comment 2 Brian Stansberry 2014-05-09 14:47:25 UTC
The steps to reproduce were incomplete. You only see the problem if the type attribute does not have value 'default'.

So, before the step I listed, either add the <use-hornetq-store/> element to the transaction subsystem config, or do it via the CLI with

batch
/subsystem=transactions:write-attribute(name=use-hornetq-store,value=true)
/subsystem=transactions:write-attribute(name=use-jdbc-store,value=false)
run-batch
reload

Comment 3 Ondrej Chaloupka 2014-05-09 15:06:09 UTC
Thank you for the additional info about verification the issue.

I've checked the behavior of EAP 6.3.0.ER3 and I have one cosmetic note about the failure behavior.
After the probe() operation is run the type of the log-store is not put to 'undefined' but is changed back to default 'default' value.

Comment 4 Brian Stansberry 2014-05-09 15:26:38 UTC
Agreed. I've changed the text. Thanks!

Comment 5 Ondrej Chaloupka 2014-05-21 13:34:51 UTC
Verified on EAP 6.3.0.ER4


Note You need to log in before you can comment on or make changes to this bug.