« Back

Hypersonic, Mail Portlet and You

Company Blogs February 7, 2011 By Joshua Asbury Staff

 While performing a demonstration last week, I added the Mail portlet into a user's private pages and set it up using my Gmail account. Everything went fine during the demo, but when I tried to startup my environment for another demo later in the week, I ran into an issue at startup that confounded me for a few days:

"14:59:00,225 WARN [BasicResourcePool:1841] com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@25a885c3 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception: "

Digging through my logs, I ran into this:
"java.sql.SQLException: error in script file line: 29613 java.io.IOException: org.hsqldb.HsqlException: Value too long"

So, I opened up my lportal.script file, went to line 29613 and saw a whole slew of database inserts such as:
"INSERT INTO MAIL_ACCOUNT"
"INSERT INTO MAIL_FOLDER"
"INSERT INTO MAIL_MESSAGE"

As Liferay was integrating my Gmail Inbox, the messages that were being inserted into the DB were too long for Hypersonic to handle. I simply deleted all of the "INSERT INTO MAIL*" lines because I didn't need to have this as part of my standard demo stack. 

Note that this isn't really a Liferay bug -- it's a limitation of using Hypersonic for your DB.  Of course, you should never use Hypersonic SQL in production, but only use it for demonstration / evaluation purposes.