[Libreoffice-bugs] [Bug 53473] New: Embedded HSQLDB calls flush (CHECKPOINT) too often

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Aug 14 05:43:56 CEST 2012


https://bugs.freedesktop.org/show_bug.cgi?id=53473

             Bug #: 53473
           Summary: Embedded HSQLDB calls flush (CHECKPOINT) too often
    Classification: Unclassified
           Product: LibreOffice
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: Database
        AssignedTo: libreoffice-bugs at lists.freedesktop.org
        ReportedBy: lionel at mamane.lu
                CC: fredt at users.sourceforge.net


Originally reported by Fred Toussi as an aside in bug 53333:

> I tested with AOO as I was upgrading from OOo
> 3.2 on Windows.

> While testing with a simple embedded database and AOO, I noticed the CHECKPOINT
> statement is being sent to the embedded database after each SELECT statement
> (these are issued internally while browsing table contents). This should not
> happen. A CHECKPOINT uses significant resources and rewrites the .script and
> .backup files even if the data has not changed at all.

This needs to be checked if it happens also with LibreOffice. It probably does.

It probably comes from the "fix" to
https://issues.apache.org/ooo/show_bug.cgi?id=55493.

According to my grepping in the sources, CHECKPOINT is called from the HSQLDB
driver's connection::flush(); this in turn is called from:

dbaccess/source/ui/browser/unodatbr.cxx:
SbaTableQueryBrowser::impl_releaseConnection()

dbaccess/source/ui/app/AppController.cxx: OApplicationController::disconnect

This "temporary hack" became permanent :-|

What to do about it without reintroducing i#55493, I'm not sure. Maybe save an
HSQLDB .log file that will be replayed at the next open of this file? Try to
"guess" if each query was a pure data selection or also a modification and
commit the storage (and checkpoint) only if there was a modification? I'm
unsure how much it will help anyway, since we have to save it inside a ZIP file
anyway, which takes O(n), with n=total size of data, for each write (!).

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Libreoffice-bugs mailing list