Branch: refs/heads/release/jon3.2.x
Home: https://github.com/rhq-project/rhq
Commit: 2fd6b5b0874798a3f1be7431454923a42e9106e1
https://github.com/rhq-project/rhq/commit/2fd6b5b0874798a3f1be7431454923a42…
Author: Thomas Segismont <tsegismo(a)redhat.com>
Date: 2014-05-09 (Fri, 09 May 2014)
Changed paths:
M modules/plugins/postgres/src/main/java/org/rhq/plugins/postgres/PostgresServerComponent.java
M modules/plugins/postgres/src/main/resources/META-INF/rhq-plugin.xml
Log Message:
-----------
Bug 1079361 - Postgres Plugin - Scheduling A New List Process Statistics Operation Fails
The execution of this operation involves a query on the pg_stat_activity view, which format has changes in 9.2 (see http://wiki.postgresql.org/wiki/What%27s_new_in_PostgreSQL_9.2#pg_stat_acti…)
Now the server plugin component adapts the query depending on the Postgres server version
(cherry picked from commit 78cf9729cb74923a37d98c0d2b51063b23871243)
Branch: refs/heads/release/jon3.2.x
Home: https://github.com/rhq-project/rhq
Commit: 2076253a9be9e085a9b08d61d447490b6f369269
https://github.com/rhq-project/rhq/commit/2076253a9be9e085a9b08d61d447490b6…
Author: Thomas Segismont <tsegismo(a)redhat.com>
Date: 2014-05-09 (Fri, 09 May 2014)
Changed paths:
M modules/plugins/postgres/src/main/java/org/rhq/plugins/postgres/PostgresServerComponent.java
Log Message:
-----------
Bug 1082747 - Postgres Plugin - An Invalid Server Configuration Status Should Not Be Stack Trace
Throwing an Exception is the only way a plugin component can fail the process of starting of a resource. So without changing the agent plugin facet we can't rely avoid the stack trace shown on the server.
Still, the stack trace shown when a Postgres server resource is configured with invalid credentials was particularly long, so I changed the plugin component implentation to make the server show a stack trace with no cause and a condensed message ("Invalid password").
(cherry picked from commit dbeedced3664c0cda68f4a53b5bc789647cdd5f6)
Branch: refs/heads/release/jon3.2.x
Home: https://github.com/rhq-project/rhq
Commit: 33fdb4f902478decc2083f1c001214ecab4e96cd
https://github.com/rhq-project/rhq/commit/33fdb4f902478decc2083f1c001214eca…
Author: Thomas Segismont <tsegismo(a)redhat.com>
Date: 2014-05-09 (Fri, 09 May 2014)
Changed paths:
M modules/plugins/database/pom.xml
M modules/plugins/database/src/main/java/org/rhq/plugins/database/AbstractDatabaseComponent.java
A modules/plugins/database/src/main/java/org/rhq/plugins/database/BasePooledConnectionProvider.java
A modules/plugins/database/src/main/java/org/rhq/plugins/database/ConnectionPoolingSupport.java
M modules/plugins/database/src/main/java/org/rhq/plugins/database/CustomTableComponent.java
M modules/plugins/database/src/main/java/org/rhq/plugins/database/CustomTableDiscoveryComponent.java
M modules/plugins/database/src/main/java/org/rhq/plugins/database/CustomTableRowDiscoveryComponent.java
M modules/plugins/database/src/main/java/org/rhq/plugins/database/DatabaseComponent.java
M modules/plugins/database/src/main/java/org/rhq/plugins/database/DatabasePluginLifecycleListener.java
A modules/plugins/database/src/main/java/org/rhq/plugins/database/DatabasePluginUtil.java
M modules/plugins/database/src/main/java/org/rhq/plugins/database/DatabaseQueryUtility.java
A modules/plugins/database/src/main/java/org/rhq/plugins/database/DriverDataSource.java
A modules/plugins/database/src/main/java/org/rhq/plugins/database/PooledConnectionProvider.java
M modules/plugins/database/src/test/java/org/rhq/plugins/database/ComponentTest.java
M modules/plugins/database/src/test/java/org/rhq/plugins/database/H2Database.java
M modules/plugins/database/src/test/java/org/rhq/plugins/database/H2DatabaseDiscovery.java
A modules/plugins/database/src/test/java/org/rhq/plugins/database/H2PooledConnectionProvider.java
A modules/plugins/database/src/test/java/org/rhq/plugins/database/NonPoolingCustomTableComponent.java
M modules/plugins/database/src/test/java/org/rhq/plugins/database/PluginTest.java
M modules/plugins/database/src/test/resources/META-INF/rhq-plugin.xml
M modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlComponent.java
R modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlConnectionInfo.java
M modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlDatabaseComponent.java
M modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlDatabaseDiscoveryComponent.java
M modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlDiscoveryComponent.java
M modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlPluginLifecycleListener.java
A modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlPooledConnectionProvider.java
M modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlTableComponent.java
M modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlTableDiscoveryComponent.java
M modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlUserComponent.java
M modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlUserDiscoveryComponent.java
M modules/plugins/mysql/src/test/java/org/rhq/plugins/mysql/ComponentTest.java
M modules/plugins/mysql/src/test/java/org/rhq/plugins/mysql/PluginTest.java
M modules/plugins/oracle/src/main/java/org/rhq/plugins/oracle/OracleAsmDiskGroupComponent.java
M modules/plugins/oracle/src/main/java/org/rhq/plugins/oracle/OracleAsmDiskGroupDiscoveryComponent.java
M modules/plugins/oracle/src/main/java/org/rhq/plugins/oracle/OracleDiscoveryComponent.java
M modules/plugins/oracle/src/main/java/org/rhq/plugins/oracle/OracleFlashRecoveryAreaComponent.java
M modules/plugins/oracle/src/main/java/org/rhq/plugins/oracle/OraclePluginLifecycleListener.java
A modules/plugins/oracle/src/main/java/org/rhq/plugins/oracle/OraclePooledConnectionProvider.java
M modules/plugins/oracle/src/main/java/org/rhq/plugins/oracle/OracleServerComponent.java
M modules/plugins/oracle/src/main/java/org/rhq/plugins/oracle/OracleTablespaceComponent.java
M modules/plugins/oracle/src/main/java/org/rhq/plugins/oracle/OracleUserComponent.java
M modules/plugins/oracle/src/main/resources/META-INF/rhq-plugin.xml
M modules/plugins/oracle/src/test/java/org/rhq/plugins/oracle/ComponentTest.java
M modules/plugins/oracle/src/test/java/org/rhq/plugins/oracle/OracleServerComponentTest.java
M modules/plugins/postgres/src/main/java/org/rhq/plugins/postgres/PostgresDatabaseComponent.java
M modules/plugins/postgres/src/main/java/org/rhq/plugins/postgres/PostgresDatabaseDiscoveryComponent.java
M modules/plugins/postgres/src/main/java/org/rhq/plugins/postgres/PostgresDiscoveryComponent.java
M modules/plugins/postgres/src/main/java/org/rhq/plugins/postgres/PostgresPluginLifecycleListener.java
A modules/plugins/postgres/src/main/java/org/rhq/plugins/postgres/PostgresPooledConnectionProvider.java
M modules/plugins/postgres/src/main/java/org/rhq/plugins/postgres/PostgresServerComponent.java
M modules/plugins/postgres/src/main/java/org/rhq/plugins/postgres/PostgresTableComponent.java
M modules/plugins/postgres/src/main/java/org/rhq/plugins/postgres/PostgresTableDiscoveryComponent.java
M modules/plugins/postgres/src/main/java/org/rhq/plugins/postgres/PostgresUserComponent.java
M modules/plugins/postgres/src/main/java/org/rhq/plugins/postgres/PostgresUserDiscoveryComponent.java
M modules/plugins/postgres/src/main/java/org/rhq/plugins/postgres/util/PostgresqlConfFile.java
M modules/plugins/postgres/src/test/java/org/rhq/plugins/postgres/test/PostgresPluginTest.java
Log Message:
-----------
Bug 1096278 - Improve database plugin design to support connection
pooling
This changeset introduces a new API for database plugins and deprecates the previous one. Compatibility with the previous API will be maintained until next major version of RHQ.
The 'rhq-database-plugin' was based on org.rhq.plugins.database.DatabaseComponent interface which encouraged plugin authors to share a single JDBC connection across database components. This was wrong for various reasons (connection leaks, concurrent JDBC calls... etc).
The new API introduces three important classes:
* org.rhq.plugins.database.PooledConnectionProvider
* org.rhq.plugins.database.BasePooledConnectionProvider
* org.rhq.plugins.database.ConnectionPoolingSupport
BasePooledConnectionProvider is a base implementation of a PooledConnectionProvider. Plugin authors should create a concrete implementation of BasePooledConnectionProvider which overrides the #getDriverClass() method. This is important if a database plugin embeds a JDBC driver: the database-specific driver class must be loaded by the child plugin classloader.
ConnectionPoolingSupport helps to manage the compatibility with the old API. It's a contract that all new database resource components should obey to. It declares the following methods:
* #supportsConnectionPooling()
* #getPooledConnectionProvider()
Results of calls to #supportsConnectionPooling() #getPooledConnectionProvider() must be consistent. In practice, a top level server database component should be able to create a PooledConnectionProvider instance, and child servers and services should indicate they support connection pooling only if their parent component does.
The 'rhq-database-plugin' embeds the BoneCP library (JDBC connection pooling) and its dependencies (Google's Guava). Child plugins will have all the classes accessible as soon as they have this node in their plugin descriptor:
===
<depends plugin="Database" useClasses="true"/>
===
This changeset includes the necessary changes to support connection pooling in the Oracle, Postgres and MySQL plugins.
Thanks to Elias Ross for contributing the original patch from which this changeset is derived.
(cherry picked from commit 2b810f1c9fa247a9d8ddf08d2b9ba93c9e1cf2a6)
Conflicts:
modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlConnectionManager.java
Commit: 1f9295d5a50448a54bae8eeb1317d33d24d9f247
https://github.com/rhq-project/rhq/commit/1f9295d5a50448a54bae8eeb1317d33d2…
Author: Thomas Segismont <tsegismo(a)redhat.com>
Date: 2014-05-09 (Fri, 09 May 2014)
Changed paths:
R modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlConnectionManager.java
Log Message:
-----------
Bug 1096278 - Improve database plugin design to support connection
pooling
This changeset introduces a new API for database plugins and deprecates the previous one. Compatibility with the previous API will be maintained until next major version of RHQ.
The 'rhq-database-plugin' was based on org.rhq.plugins.database.DatabaseComponent interface which encouraged plugin authors to share a single JDBC connection across database components. This was wrong for various reasons (connection leaks, concurrent JDBC calls... etc).
The new API introduces three important classes:
* org.rhq.plugins.database.PooledConnectionProvider
* org.rhq.plugins.database.BasePooledConnectionProvider
* org.rhq.plugins.database.ConnectionPoolingSupport
BasePooledConnectionProvider is a base implementation of a PooledConnectionProvider. Plugin authors should create a concrete implementation of BasePooledConnectionProvider which overrides the #getDriverClass() method. This is important if a database plugin embeds a JDBC driver: the database-specific driver class must be loaded by the child plugin classloader.
ConnectionPoolingSupport helps to manage the compatibility with the old API. It's a contract that all new database resource components should obey to. It declares the following methods:
* #supportsConnectionPooling()
* #getPooledConnectionProvider()
Results of calls to #supportsConnectionPooling() #getPooledConnectionProvider() must be consistent. In practice, a top level server database component should be able to create a PooledConnectionProvider instance, and child servers and services should indicate they support connection pooling only if their parent component does.
The 'rhq-database-plugin' embeds the BoneCP library (JDBC connection pooling) and its dependencies (Google's Guava). Child plugins will have all the classes accessible as soon as they have this node in their plugin descriptor:
===
<depends plugin="Database" useClasses="true"/>
===
This changeset includes the necessary changes to support connection pooling in the Oracle, Postgres and MySQL plugins.
Thanks to Elias Ross for contributing the original patch from which this changeset is derived.
(cherry picked from commit 1eb8c728c0c1939115fe90bd1c91fbf5ecf0a036)
Conflicts:
modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlConnectionManager.java
Compare: https://github.com/rhq-project/rhq/compare/82bffc4070b6...1f9295d5a504
Branch: refs/heads/master
Home: https://github.com/rhq-project/rhq
Commit: 4122725418ba83bb118e3ae6d87b96fbb10bf6c1
https://github.com/rhq-project/rhq/commit/4122725418ba83bb118e3ae6d87b96fbb…
Author: Thomas Segismont <tsegismo(a)redhat.com>
Date: 2014-05-09 (Fri, 09 May 2014)
Changed paths:
M .gitignore
Log Message:
-----------
Fix top-level .gitignore file (was ignoring rhq-agent plugin project)
Well, it was ignoring new files in the rhq-agent plugin project,
existing files already were in the index.
In .gitignore files, entries without a leading slash get ignored at any
level in the directory tree
Branch: refs/heads/BZ1069545
Home: https://github.com/rhq-project/rhq
Commit: c051fda53dde5046310c3f4bed1cc34364d6445a
https://github.com/rhq-project/rhq/commit/c051fda53dde5046310c3f4bed1cc3436…
Author: Stefan Negrea <snegrea(a)redhat.com>
Date: 2014-05-08 (Thu, 08 May 2014)
Changed paths:
M modules/core/domain/intentional-api-changes-since-4.10.0.xml
A modules/core/domain/intentional-api-changes-since-4.11.0.xml
Log Message:
-----------
[BZ 1069545] Fix API changes files since RHQ 4.11 has been released.