掲示板

How long should a permission data migration process take?

12年前 に Jon Haikarainen によって更新されました。

How long should a permission data migration process take?

New Member 投稿: 9 参加年月日: 10/07/01 最新の投稿
Hi,

I have a question regarding Liferay upgrades, in this case from LR5EESP2 (5.2.6) to LR6EESP2 (6.0.12). I've managed to complete the upgrade process successfully using the legacy properties for 5.2 including the use of the older permission check algorithm. After restarting Liferay, the output suggests me to perform a data migration:


07:49:49,014 WARN  [MainServlet:879] Liferay is configured to use permission algorithm 5. Versions after 6.1 will only support algorithm 6 and above. Please sign in as an administrator, go to the Control Panel, select "Server Administration", select the "Data Migration" tab, and convert from this legacy permission algorithm as soon as possible.


This seemed fair enough, so I started the migration process. What now worries me is the time this process consumes. How long does this kind of data migration process normally take? I know it depends entirely on the size of the database, but in this case the database isn't enormous, around 150Mb with 11k+ users, 4k+ images and 3k+ journal articles. I started the data migration process yesterday and now it has already run for over 24 hours. It doesn't appear to be stuck however, as every once in a while a new log message pops up. Also monitoring the application with jvisualvm doesn't show any significant memory problems.

The upgrade processes previously took also a lot of time, 5+ hours. At first I run the upgrade processes using the new permission check algorithm which appeared to be much quicker, but that resulted in permission-related problems for example with image gallery images. Therefore I had to start over using the older algorithm.

I'm currently running this in my local development environment through Liferay Developer Studio for easy debugging so hopefully the process is quicker on more effective, real server machines. Still, I'm a little bit worried..

Do I just have to be patient regarding this? Any experiences?

Thanks,

Jon
thumbnail
12年前 に Kenneth Dong によって更新されました。

RE: How long should a permission data migration process take?

New Member 投稿: 6 参加年月日: 10/08/31 最新の投稿
I have seen permission upgrades taking a long time from Algorithm 5 to 6, especially if you have a lot of assets (MB posts, blogs, wikis) and a lot of roles with permissions.
thumbnail
11年前 に Jacob Caniparoli によって更新されました。

RE: How long should a permission data migration process take?

Junior Member 投稿: 27 参加年月日: 10/06/22 最新の投稿
Hi Jon,

How long did this end up taking for you and how many users did you have?

I am currently running into the same issue, we are wondering if deleting old users (we are a University, people graduate) would speed this process up significantly. We can't really afford for the portal to be down for days at a time...

Thanks,
Jacob
thumbnail
11年前 に David H Nebinger によって更新されました。

RE: How long should a permission data migration process take?

Liferay Legend 投稿: 14917 参加年月日: 06/09/02 最新の投稿
Certainly the more unused stuff you can remove, the better.
thumbnail
11年前 に Jacob Caniparoli によって更新されました。

RE: How long should a permission data migration process take?

Junior Member 投稿: 27 参加年月日: 10/06/22 最新の投稿
David H Nebinger:
Certainly the more unused stuff you can remove, the better.


That is certainly true, however, deleting these users is not an ideal scenario. There are cases where a student might come back for grad school or something like that and it would be nice to still have their account. If this is only going to knock a few hours off it is probably not worth it, but if it takes off a day then its something we would need to look at.

Thanks,
Jacob
11年前 に Iker Garcia によって更新されました。

RE: How long should a permission data migration process take?

New Member 投稿: 3 参加年月日: 11/11/28 最新の投稿
We are trying to upgrade a portal from Liferay 5.2.3 to 6.0.
At the moment the database upgrade process is 'stuck' at Verifying com.liferay.portal.verify.VerifyPermission

We are using the permission algorithm 5 and that is what we have indicated in the 6.0 portal-ext.property file before starting the server. permissions.user.check.algorithm=5

In our 5.2.3 database we have the following data:

RESOURCE_: 173,154 entries.
RESOURCECODE: 116 entries (Scope = 4)
RESOURCEACTION: 0 entries
RESOURCEPERMISSION: 0 entries

Does this mean that the upgrade process will have to insert 20,000,000+ new entries in PERMISSION_ table ?
At current rate (22 inserts / minute) this would take almost 2 years !!! Which is absolutely infeasible.


This is the hibernate logs we are getting (22 per minute):

Hibernate: insert into Permission_ (companyId, actionId, resourceId, permissionId) values (?, ?, ?, ?)
Hibernate: select permission0_.permissionId as permissi1_28_, permission0_.companyId as companyId28_, permission0_.actionId as actionId28_, permission0_.resourceId as resourceId28_ from Permission_ pe
rmission0_ where (permission0_.actionId=? )AND(permission0_.resourceId=? )
Hibernate: select permission0_.permissionId as permissi1_28_, permission0_.companyId as companyId28_, permission0_.actionId as actionId28_, permission0_.resourceId as resourceId28_ from Permission_ pe
rmission0_ where (permission0_.actionId=? )AND(permission0_.resourceId=? )
Hibernate: select permission0_.permissionId as permissi1_28_, permission0_.companyId as companyId28_, permission0_.actionId as actionId28_, permission0_.resourceId as resourceId28_ from Permission_ pe
rmission0_ where (permission0_.actionId=? )AND(permission0_.resourceId=? )
Hibernate: select permission0_.permissionId as permissi1_28_, permission0_.companyId as companyId28_, permission0_.actionId as actionId28_, permission0_.resourceId as resourceId28_ from Permission_ pe
rmission0_ where (permission0_.actionId=? )AND(permission0_.resourceId=? )
Hibernate: select permission0_.permissionId as permissi1_28_, permission0_.companyId as companyId28_, permission0_.actionId as actionId28_, permission0_.resourceId as resourceId28_ from Permission_ pe
rmission0_ where (permission0_.actionId=? )AND(permission0_.resourceId=? )
Hibernate: select permission0_.permissionId as permissi1_28_, permission0_.companyId as companyId28_, permission0_.actionId as actionId28_, permission0_.resourceId as resourceId28_ from Permission_ pe
rmission0_ where (permission0_.actionId=? )AND(permission0_.resourceId=? )
Hibernate: select permission0_.permissionId as permissi1_28_, permission0_.companyId as companyId28_, permission0_.actionId as actionId28_, permission0_.resourceId as resourceId28_ from Permission_ pe
rmission0_ where (permission0_.actionId=? )AND(permission0_.resourceId=? )
Hibernate: select permission0_.permissionId as permissi1_28_, permission0_.companyId as companyId28_, permission0_.actionId as actionId28_, permission0_.resourceId as resourceId28_ from Permission_ pe
rmission0_ where (permission0_.actionId=? )AND(permission0_.resourceId=? )
Hibernate: select roleimpl0_.roleId as roleId41_, roleimpl0_.companyId as companyId41_, roleimpl0_.classNameId as classNam3_41_, roleimpl0_.classPK as classPK41_, roleimpl0_.name as name41_, roleimpl0
_.title as title41_, roleimpl0_.description as descript7_41_, roleimpl0_.type_ as type8_41_, roleimpl0_.subtype as subtype41_ from Role_ roleimpl0_ where (roleimpl0_.name=? ) order by roleimpl0_.name
ASC

Regards