Following an upgrade from Liferay 5.2 to 6.1 GA2, links generated by 5.2 to Document Library assets generates a NullPointerException and directs the browser to an "Internal Server Error" page.
STEPS TO REPRODUCE
Start off with clean Liferay 5.2 bundle connected to MySQL 5.5 db named "test"; portal-ext links db "test" and the following properties are added: "dl.hook.file.system.root.dir=F:/TEST" and "image.hook.impl=com.liferay.portal.image.DatabaseHook"
1. Login with test
2. Add Document Library (referenced hereafter as "DL Portlet")
3. Add Folder to DL Portlet named Test
4. Select Test folder, add document "test.pdf"
5. test.pdf's URL is set as
6. Shutdown Server
7. Copy portal-ext.properties to clean 6.1 GA 2 bundle, change the properties permissions.user.check.algorithm=5 and dl.store.file.system.root.dir=F:/TEST
8. Upgrade takes place to db "test" as seen in console
9. Convert via Data Migration in Control Panel, Shutdown Server after startup, change permissions.user.check.algorithm=6 and restart.
10. "test.pdf" appears in Documents and Media Portlet ("DM Portlet") in their respective folders
11. Attempt to access "test.pdf" via legacy link:
12. Internal Server Error appears and stack trace shows NPE:
22:30:16,457 ERROR [http-bio-8080-exec-2][status_jsp:665] java.lang.NullPointerException
13. Check URL in DM Portlet, functional link to test.pdf exists at the following address:
Using legacy 5.2 link would reroute Document Library assets to new 6.1 link
Using legacy 5.2 link generates NullPointerException and shows Internal Server Error Page; however, the newly generated link works fine.
TESTS IN TRUNK (124771)
Not reproducible because I was unable to upgrade to Trunk.
TESTS IN BRANCH (124771)
Generates same behavior where we receive an NullPointerException and "Internal Server Error" page.
I have tested a scenario upgrading 5.2 -> 6.0 -> 6.1. The legacy link generated in 5.2 works in 6.0, but once upgraded to 6.1 or Trunk, the legacy link no longer functions.