Menu

#4429 [HHQ-4311] WebSphere Connection Pool discovery fails with ce

Bug
open
None
7
2012-10-09
2010-09-21
No

http://jira.hyperic.com/browse/HHQ-4311
I defined two JDBC Providers




Name: DB2 UDB for iSeries (Toolbox)


Scope: Cell=jvalkealahti-e6500Node01Cell



Name: DB2 UDB for iSeries (Toolbox) 2


Scope: Node=jvalkealahti-e6500Node01,Server=server1




Below query is used to find the providers(testing using wsadmin):




wsadmin>$AdminControl queryNames WebSphere:type=JDBCProvider,process=server1,node=jvalkealahti-e6500Node01,*



"WebSphere:name=DB2 UDB for iSeries (Toolbox) 2,process=server1,platform=dynamicproxy,node=jvalkealahti-e6500Node01,j2eeType=JDBCResource,J2EEServer=server1,Server=server1,version=6.1.0.31,type=JDBCProvider,mbeanIdentifier=cells/jvalkealahti-e6500Node01Cell/nodes/jvalkealahti-e6500Node01/servers/server1/resources.xml#JDBCProvider_1284720274816,cell=jvalkealahti-e6500Node01Cell,spec=1.0"



"WebSphere:name=DB2 UDB for iSeries (Toolbox),process=server1,platform=dynamicproxy,node=jvalkealahti-e6500Node01,j2eeType=JDBCResource,J2EEServer=server1,Server=server1,version=6.1.0.31,type=JDBCProvider,mbeanIdentifier=cells/jvalkealahti-e6500Node01Cell/resources.xml#JDBCProvider_1284719944232,cell=jvalkealahti-e6500Node01Cell,spec=1.0"



"WebSphere:name=Derby JDBC Provider (XA),process=server1,platform=dynamicproxy,node=jvalkealahti-e6500Node01,j2eeType=JDBCResource,J2EEServer=server1,Server=server1,version=6.1.0.31,type=JDBCProvider,mbeanIdentifier=cells/jvalkealahti-e6500Node01Cell/nodes/jvalkealahti-e6500Node01/servers/server1/resources.xml#builtin_jdbcprovider,cell=jvalkealahti-e6500Node01Cell,spec=1.0"



"WebSphere:name=Derby JDBC Provider (XA),process=server1,platform=dynamicproxy,node=jvalkealahti-e6500Node01,j2eeType=JDBCResource,J2EEServer=server1,Server=server1,version=6.1.0.31,type=JDBCProvider,mbeanIdentifier=cells/jvalkealahti-e6500Node01Cell/resources.xml#builtin_jdbcprovider,cell=jvalkealahti-e6500Node01Cell,spec=1.0"



"WebSphere:name=Derby JDBC Provider,process=server1,platform=dynamicproxy,node=jvalkealahti-e6500Node01,j2eeType=JDBCResource,J2EEServer=server1,Server=server1,version=6.1.0.31,type=JDBCProvider,mbeanIdentifier=cells/jvalkealahti-e6500Node01Cell/nodes/jvalkealahti-e6500Node01/servers/server1/resources.xml#JDBCProvider_1284588046356,cell=jvalkealahti-e6500Node01Cell,spec=1.0"



"WebSphere:name=Samples Derby JDBC Provider (XA),process=server1,platform=dynamicproxy,node=jvalkealahti-e6500Node01,j2eeType=JDBCResource,J2EEServer=server1,Server=server1,version=6.1.0.31,type=JDBCProvider,mbeanIdentifier=cells/jvalkealahti-e6500Node01Cell/nodes/jvalkealahti-e6500Node01/servers/server1/resources.xml#JDBCProvider_1284588062152,cell=jvalkealahti-e6500Node01Cell,spec=1.0"





JDBCProviderQuery is using this check agains the results:



public boolean apply(ObjectName name) {


    String server = name.getKeyProperty("Server");


    String id = name.getKeyProperty("mbeanIdentifier");


    if ((server == null) || (id == null)) {


        return super.apply(name);


    }


    else {


        return id.indexOf(server) != -1;


    }


}



There's also comment in ConnectionPoolCollector:



//XXX seen in samples, two beans where all attributes are equal


//with the exception of mbeanIdentifier





"server1" is checked from mbeanIdentifier which fails because it's not there(because it's on cell level).



Indeed we can have provider with same name if one is in cell level and other in node/server level. WAS admin console allows you to create providers with same name even with same scope. So we need to find a way to detect this stuff without having duplicates.

Discussion

Anonymous
Anonymous

Add attachments
Cancel