Description of problem: During 4.9 development the maintenance_pending column was added to the rhq_storage_nodes table, and the maintenancePending field added to StorageNode.java. The field is a primitive boolean. During an upgrade from versions prior to 4.8, a storage node is created with a null value in the maintenance_pending column. This causing the following exception at server start up, 12:06:52,917 INFO [org.rhq.enterprise.server.storage.StorageClientManagerBean] (pool-9-thread-1) Initializing storage client subsystem 12:06:52,934 ERROR [org.jboss.as.ejb3] (pool-9-thread-1) javax.ejb.EJBTransactionRolledbackException: org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of org.rhq.core.domain.cloud.StorageNode.maintenancePending 12:06:52,935 ERROR [org.jboss.as.ejb3.invocation] (pool-9-thread-1) JBAS014134: EJB Invocation failed on component StorageNodeManagerBean for method public abstract java.util.List org.rhq.enterprise.server.cloud.StorageNodeManagerLocal.getStorageNodes(): javax.ejb.EJBTransactionRolledbackException: org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of org.rhq.core.domain.cloud.StorageNode.maintenancePending Two things need to be done. First, a not-null constraint needs to be added to the dbupgrade script. Secondly, the server installer code that creates the storage node entity needs to set the maintenance_pending column. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
The changes to dbupgrade and to the server installer have been made. I tested this on a 4.7 upgrade. master commit hash: 8f4561e803
verified -no PropertyAccessException visible anmore - leading to server upgrade (even though not started correctly -- see #1004731)
Bulk closing of RHQ 4.9 verified items