click here for details... Sakai Executive Director Position Search now open
Issue Details (XML | Word | Printable)

Key: SAK-13771
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Critical Critical
Assignee: Anthony Whyte
Reporter: Anthony Whyte
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Sakai

Lower log level from error to warning on search transaction table check failures

Created: 16-Jun-2008 08:12   Updated: 05-Oct-2009 12:07
Component/s: Search
Affects Version/s: 2.5.2, 2.5.3, 2.5.4, 2.5.x, 2.5.5, 2.6.0, 2.7.0
Fix Version/s: 2.5.6, 2.6.1, 2.7.0

Time Tracking:
Not Specified

File Attachments: 1. Text File SAK-13771.patch (1 kB)
2. File search_hsql_catalina_log.rtf (34 kB)


2.6.x Status: Closed
2.5.x Status: Closed
2.4.x Status: None


 Description  « Hide
When trying out the pack-demo with Tomcat 5.5.26 using in-memory HSQLDB the following error was thrown on startup. The error does not prevent Tomcat from starting.

WARN: Sql.ddl: missing resource: hsqldb/sakai_search_parallel.sql (2008-06-16 10:07:00,984 main_org.sakaiproject.db.impl.BasicSqlService)
ERROR: Failed to check transaction table (2008-06-16 10:07:00,986 main_org.sakaiproject.search.transaction.impl.TransactionSequenceImpl)
java.sql.SQLException: Table not found in statement [select txid from search_transaction]
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.executeQuery(Unknown Source)
at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
at org.sakaiproject.search.transaction.impl.TransactionSequenceImpl.check(TransactionSequenceImpl.java:91)
at org.sakaiproject.search.transaction.impl.TransactionSequenceImpl.getNextId(TransactionSequenceImpl.java:143)
at org.sakaiproject.search.indexer.impl.SearchBuilderQueueManager.init(SearchBuilderQueueManager.java:108)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

See log excerpt attachment.


 All   Comments   Work Log   Change History   Subversion Commits   git Commits      Sort Order: Ascending order - Click to sort in descending order
Ian Boston added a comment - 16-Jun-2008 10:27
HSQL does not have a sufficiently clean transaction model... infact it doesnt have transactions

Consequently search will not work with HSQLDB. The DB needs to support read committed to work.


Anthony Whyte added a comment - 07-Aug-2008 13:40
HSQLDB and Search do not make a good match. For the demo artifact we will disable search; as a result I'll close this issue.

Matthew Jones added a comment - 14-Jul-2009 07:47
Anthony, even with search turned off, it still tries to initialize this bean and dumps these stacks which are non destructive but annoying in a demo build. I'd either put the isEnabled check in here or make these warning messages less noisy. I attached the patch for changing the logging as that seemed easier as searchServer.isEnabled() is not directly available to TransactionSequenceImpl.

Matthew Jones added a comment - 15-Jul-2009 07:45
FYI According to the docs, hsqldb 1.9+ (currently in beta) will support full read committed, so this might be able to be revisited in the near future and we won't have to worry about it. 1.8 supports read committed but only with one connection to the database.

http://hsqldb.org/web/features190.html



Matthew Jones added a comment - 05-Oct-2009 11:11
I will check nightly2 when it rebuilds today 16:00 EST and see if this fixes this error, then merge in the change to 2.6.x.