I want to upgrade JBoss Portal 2.2.1 SP1 to 2.6.4-GA. After reading the user
reference, I think I have to go through 2.4.1-GA in order to make use of the
migration tool. But I encountered failure during the migration.
I download all these from JBoss Portal download. My conversion environment is:
JBoss AS Version : 4.0.3 SP1
Database Vendor and Version : Mysql 5.0.45
JDBC Connector and Version : mysql-connector-java-5.0.7
OS Platform : XP Home SP2
The migration is smooth until in the Migrating Portal Portlet Instance step.
It failed with the following message on screen: Migrating Portal Portlet
Instance Data failed! In the log, it has java.lang.NullPointerException.
INFO [MigrationModule22_24] Migrating preferences for user: admin [2008-03-10
10:19:53,429]
INFO [STDOUT] Mon Mar 10 10:19:53 CST 2008 INFO: Profiler Event: [QUERY]
at
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:211)
duration: 0 ms, connection-id: 313, statement-id: 1820, resultset-id: 1527,
message: select this_.PK as PK61_1_, this_.ID as ID61_1_, this_.COMPONENT_REF
as COMPONENT3_61_1_, preference2_.INSTANCE_KEY as INSTANCE4_3_, preference2_.PK
as PK3_, preference2_.NAME as NAME3_, preference2_.PK as PK62_0_,
preference2_.NAME as NAME62_0_, preference2_.TYPE as TYPE62_0_ from
JBP_INSTANCE this_ left outer join JBP_INSTANCE_PREF preference2_ on
this_.PK=preference2_.INSTANCE_KEY where this_.ID='DefaultCMSPortletInstance'
[2008-03-10 10:19:53,469]
INFO [STDOUT] Mon Mar 10 10:19:53 CST 2008 INFO: Profiler Event: [FETCH]
at
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:211)
duration: 0 ms, connection-id: 313, statement-id: 1820, resultset-id: 1527
[2008-03-10 10:19:53,469]
INFO [STDOUT] Mon Mar 10 10:19:53 CST 2008 INFO: Profiler Event: [QUERY]
at
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:211)
duration: 0 ms, connection-id: 313, statement-id: 1821, resultset-id: 1528,
message: select strings0_.PK as PK0_, strings0_.VALUE as VALUE0_, strings0_.IDX
as IDX0_ from JBP_INSTANCE_PREF_VALUE strings0_ where strings0_.PK=1
[2008-03-10 10:19:53,479]
INFO [STDOUT] Mon Mar 10 10:19:53 CST 2008 INFO: Profiler Event: [FETCH]
at
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:211)
duration: 0 ms, connection-id: 313, statement-id: 1821, resultset-id: 1528
[2008-03-10 10:19:53,479]
INFO [STDOUT] Mon Mar 10 10:19:53 CST 2008 INFO: Profiler Event: [QUERY]
at
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:227)
duration: 0 ms, connection-id: 311, statement-id: 1822, resultset-id: 0,
message: insert into JBP_PORTLET_STATE (PORTLET_ID, REGISTRATION_ID,
REGISTRATION_TIME, TERMINATION_TIME, PARENT_PK) values ('portal.CMSPortlet',
null, null, null, null) [2008-03-10 10:19:53,509]
INFO [STDOUT] Mon Mar 10 10:19:53 CST 2008 INFO: Profiler Event: [FETCH]
at
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:227)
duration: 0 ms, connection-id: 311, statement-id: 1822, resultset-id: 0
[2008-03-10 10:19:53,509]
INFO [STDOUT] Mon Mar 10 10:19:53 CST 2008 INFO: Profiler Event: [QUERY]
at
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:211)
duration: 10 ms, connection-id: 311, statement-id: 1823, resultset-id: 1530,
message: select this_.PK as PK29_1_, this_.ID as ID29_1_, this_.PORTLET_REF as
PORTLET3_29_1_, this_.MODIFIABLE as MODIFIABLE29_1_, this_.SER_STATE as
SER5_29_1_, securitybi2_.INSTANCE_PK as INSTANCE3_3_, securitybi2_.PK as PK3_,
securitybi2_.ROLE as ROLE3_, securitybi2_.PK as PK31_0_, securitybi2_.ROLE as
ROLE31_0_, securitybi2_.INSTANCE_PK as INSTANCE3_31_0_, actions3_.PK as PK4_,
actions3_.ACTIONS as ACTIONS4_ from JBP_INSTANCE this_ left outer join
JBP_INSTANCE_SECURITY securitybi2_ on this_.PK=securitybi2_.INSTANCE_PK left
outer join JBP_INSTANCE_SECURITY_ACTIONS actions3_ on
securitybi2_.PK=actions3_.PK where this_.ID='DefaultCMSPortletInstance'
[2008-03-10 10:19:53,519]
INFO [STDOUT] Mon Mar 10 10:19:53 CST 2008 INFO: Profiler Event: [FETCH]
at
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:211)
duration: 0 ms, connection-id: 311, statement-id: 1823, resultset-id: 1530
[2008-03-10 10:19:53,519]
INFO [STDOUT] Mon Mar 10 10:19:53 CST 2008 INFO: Profiler Event: [QUERY]
at
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:227)
duration: 10 ms, connection-id: 311, statement-id: 1824, resultset-id: 0,
message: insert into JBP_INSTANCE_PER_USER (INSTANCE_PK, USER_ID, PORTLET_REF,
SER_STATE) values (2, '1', 'local._6', null) [2008-03-10 10:19:53,529]
INFO [STDOUT] Mon Mar 10 10:19:53 CST 2008 INFO: Profiler Event: [FETCH]
at
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:227)
duration: 0 ms, connection-id: 311, statement-id: 1824, resultset-id: 0
[2008-03-10 10:19:53,529]
INFO [STDOUT] Mon Mar 10 10:19:53 CST 2008 INFO: Profiler Event: [QUERY]
at
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:211)
duration: 0 ms, connection-id: 313, statement-id: 1825, resultset-id: 1532,
message: select this_.PK as PK61_1_, this_.ID as ID61_1_, this_.COMPONENT_REF
as COMPONENT3_61_1_, preference2_.INSTANCE_KEY as INSTANCE4_3_, preference2_.PK
as PK3_, preference2_.NAME as NAME3_, preference2_.PK as PK62_0_,
preference2_.NAME as NAME62_0_, preference2_.TYPE as TYPE62_0_ from
JBP_INSTANCE this_ left outer join JBP_INSTANCE_PREF preference2_ on
this_.PK=preference2_.INSTANCE_KEY where this_.ID='AdsPlPMDL2Inst' [2008-03-10
10:19:53,549]
INFO [STDOUT] Mon Mar 10 10:19:53 CST 2008 INFO: Profiler Event: [FETCH]
at
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:211)
duration: 0 ms, connection-id: 313, statement-id: 1825, resultset-id: 1532
[2008-03-10 10:19:53,549]
INFO [STDOUT] java.lang.NullPointerException [2008-03-10 10:19:53,559]
INFO [STDOUT] at
org.jboss.portal.migration.MigrationModule22_24.migrateUserPreferences(MigrationModule22_24.java:493)
[2008-03-10 10:19:53,559]
INFO [STDOUT] at
org.jboss.portal.migration.MigrationModule22_24.migratePortletInstances(MigrationModule22_24.java:733)
[2008-03-10 10:19:53,559]
I debug the module MigrationModule22_24 using eclipse and trace the null
pointer to the instance22 variable in the following line within the
migrateUserPreferences() of MigrationModule22_24. I think the line
corresponding to the left outer join sql 5 lines above with "... where
this_.ID='AdsPlPMDL2Inst' "
//create clone
| PersistentState24 state24 = new PersistentState24();
| Instance22Impl instance22 =
(Instance22Impl)fromSession.createCriteria(Instance22Impl.class).add(Restrictions.eq("instanceId",
prefSet.getId())).uniqueResult(); //this line results in null
|
| state24.setPortletId(instance22.getComponentRef());
| //persist clone
| toSession.save(state24);
|
I cannot continue because I cannot sure what this means to the database
structure of the portal.
Hoping to skip the null instance22 to continue the migration, I added codes to
check for null instance22 and skip the rest for loop codes.
if ( instance22 != null ) {
| state24.setPortletId(instance22.getComponentRef());
| //persist clone
| toSession.save(state24);
| ...
| toSession.save(userInstance24);
| }
|
This enable me to go through the Portal Portlet Instance step. But it failed
in the following migrateSecurityPolicy step. NullPointerException again and
seems on the object "default.default.CatalogPortletWindow".
INFO [MigrationModule22_24] Migrating policy from:
/portalobject/default.default.CatalogPortletWindow [2008-03-09 18:16:22,015]
INFO [MigrationModule22_24] Migrating portalobject:
default.default.CatalogPortletWindow [2008-03-09 18:16:22,015]
INFO [STDOUT] Sun Mar 09 18:16:22 CST 2008 INFO: Profiler Event: [QUERY]
at
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:211)
duration: 0 ms, connection-id: 298, statement-id: 4322, resultset-id: 4029,
message: select this_.PK as PK14_1_, this_.PATH as PATH14_1_, this_.NAME as
NAME14_1_, this_.PARENT_KEY as PARENT4_14_1_, securityco2_.NODE_KEY as
NODE3_3_, securityco2_.PK as PK3_, securityco2_.ROLE as ROLE3_, securityco2_.PK
as PK23_0_, securityco2_.ROLE as ROLE23_0_, securityco2_.NODE_KEY as
NODE3_23_0_, actions3_.PK as PK4_, actions3_.ACTIONS as ACTIONS4_ from
JBP_OBJECT_NODE this_ left outer join JBP_OBJECT_NODE_SEC securityco2_ on
this_.PK=securityco2_.NODE_KEY left outer join JBP_OBJECT_NODE_SEC_ACTIONS
actions3_ on securityco2_.PK=actions3_.PK where
this_.PATH='default.default.CatalogPortletWindow' [2008-03-09 18:16:22,015]
INFO [STDOUT] Sun Mar 09 18:16:22 CST 2008 INFO: Profiler Event: [FETCH]
at
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:211)
duration: 0 ms, connection-id: 298, statement-id: 4322, resultset-id: 4029
[2008-03-09 18:16:22,015]
ERROR [MigrationModule22_24] Critical state: can't find ObjectNode for
extracted path: default.default.CatalogPortletWindow [2008-03-09 18:16:22,025]
INFO [STDOUT] java.lang.NullPointerException [2008-03-09 18:16:22,025]
Anyone has any ideas on these problems? Anyone has the low level relationship
information between database tables and the portal objects?
My portal application does not use the CMS and dynamic definition feature
currently. I wonder if there are ways just to migration the user information.
Or skip the last 2 object migration steps (Portal Portlet Instance Data
Migrate,Portal Security Data Migrate).
Also if I am done with the 2.4 migration program, is it necessary for me to run
the jbp 2.4.1 once before I go on to 2.6.4?
Thanks in advance.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4135185#4135185
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4135185
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user