[jboss-jira] [JBoss JIRA] Assigned: (JBAS-8110) backwards-incompatible Profile Service management API change in {MCBean:JTA} managed components exposed by AS 6.0 M3 as compared to those exposed by AS 5.1

Dimitris Andreadis (JIRA) jira-events at lists.jboss.org
Sat Jun 19 02:25:11 EDT 2010


     [ https://jira.jboss.org/browse/JBAS-8110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dimitris Andreadis reassigned JBAS-8110:
----------------------------------------

    Assignee: Jonathan Halliday  (was: Dimitris Andreadis)


This is Tx land.

> backwards-incompatible Profile Service management API change in {MCBean:JTA} managed components exposed by AS 6.0 M3 as compared to those exposed by AS 5.1
> -----------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: JBAS-8110
>                 URL: https://jira.jboss.org/browse/JBAS-8110
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Management services, Transaction Manager (Arjuna)
>    Affects Versions: 6.0.0.M3
>            Reporter: Ian Springer
>            Assignee: Jonathan Halliday
>
> Here is what managed components of type {MCBean:JTA}: that AS 6.0 trunk (post-M3) has deployed:
> ManagedDeployment: vfs:///work/TRUNK/trunk/build/target/jboss-6.0.0-SNAPSHOT/server/all/deploy/transaction-jboss-beans.xml
> +++ ManagedComponent(name=TransactionManager, type=(ComponentType{type=MCBean, subtype=JTA}), compName=TransactionManager, attachment: com.arjuna.ats.jbossatx.jta.TransactionManagerServiceMBean, state: RUNNING
> ++++++ properties: {userTransaction="CompositeValueSupport: metaType=[MutableCompositeMetaType{javax.transaction.UserTransaction items=[name=status type=int], [name=transactionTimeout type=int]}] items=[status=SimpleMetaType:int:6,transactionTimeout=null]", XATerminator="CompositeValueSupport: metaType=[MutableCompositeMetaType{org.jboss.tm.JBossXATerminator}] items=[]", state="null", transactionManager="CompositeValueSupport: metaType=[MutableCompositeMetaType{javax.transaction.TransactionManager items=[name=status type=int], [name=transaction type=javax.transaction.Transaction], [name=transactionTimeout type=int]}] items=[status=SimpleMetaType:int:6,transaction=null,transactionTimeout=null]", transactionSynchronizationRegistry="null", }
> +++ ManagedComponent(name=TransactionStatistics, type=(ComponentType{type=MCBean, subtype=JTA}), compName=TransactionStatistics, attachment: com.arjuna.ats.arjuna.coordinator.TxStatsMBean, state: RUNNING
> ++++++ properties: {numberOfHeuristics="0", numberOfResourceRollbacks="0", numberOfInflightTransactions="0", numberOfApplicationRollbacks="0", state="null", numberOfTransactions="0", numberOfTimedOutTransactions="0", numberOfNestedTransactions="0", numberOfAbortedTransactions="0", numberOfCommittedTransactions="0", } 
> And here is what AS 5.1 has of type {MCBean:JTA}:
> +++ ManagedComponent(name=TransactionManager, type=(ComponentType{type=MCBean, subtype=JTA}), compName=TransactionManager, attachment: com.arjuna.ats.jbossatx.jta.TransactionManagerServiceMBean
> ++++++ properties: [rollbackCount, XATerminator, transactionCount, state, propagateFullContext, transactionStatusManagerInetAddress, timedoutCount, runningTransactionCount, transactionManager, transactionSynchronizationRegistry, transactionStatusManagerPort, userTransaction, nestedTransactonCount, transactionTimeout, socketProcessIdPort, commitCount, statisticsEnabled, applicationRollbackCount, objectStoreDir, recoveryPort, heuristicCount, recoveryInetAddress, runInVMRecoveryManager, resourceRollbackCount]
> So, to summarize the changes since 5.1, the component that has the tx stats that RHQ exposes as metrics has been renamed from "TransactionManager" to "TransactionStatistics". On top of that, each of the individual properties has been renamed as well (commitCount -> numberOfCommittedTransactions, etc.). In addition, a new component of the same type but named "TransactionManager" has been added. This component has a completely different set of properties from the component of the same type named "TransactionStatistics". This is bad - I don't think the Profile Service should even allow multiple components of the same type but with different sets of properties and/or operations to be deployed. A management client should be able to rely on the component's type to know which properties and/or operations should be present (i.e. a type should be similar to a Java class). In this case, the component name must be used in addition to the type to figure out the component's interface. I also think that the AS team should try, if at all possible, to keep the managed components APIs backwards-compatible (i.e. so clients written for older versions (such as RHQ) will not break). 
> Can this management interface please be updated so that it is backwards-compatible with what is in AS 5.1? It is not practical for RHQ to have to update its AS5 plugin for each new AS release, because management APIs keep changing. Specifically, can "TransactionStatistics" be renamed to "TransactionManager" and can its properties be renamed to the names they had in 5.1 (I don't care if the new properties are kept as well and/or the old properties deprecated)? And can "TransactionManager"'s type be changed to  something other than {MCBean:JTA} so it has a different type than "TransactionStatistics" as it should?

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the jboss-jira mailing list