(moved to new thread for clarity)
Thomas,
I hate to keep coming back to this... But I have built
the most recent version 1.4.188 and I have been doing more testing in
regards to the continual growth of the database due to the temporary LOB
references.
In my case, my database file seems to continue to
grow even with your new LOB_TIMEOUT value;
I am continuing to issue the
following statements every 10 minutes when the database file exceeds
50MB
SET EXCLUSIVE 1
SET RETENTION_TIME 0
CHECKPOINT SYNC
CHECKPOINT SYNC
SET RETENTION_TIME 45000
SET EXCLUSIVE 0
COMMIT
However it rarely helps to reduce the db size.
In my most recent test the database file had reached 500MB.
After
30+ minutes of no db activity ( just active connections and the pseudo
compact code from above / 10 mins. ) the db size did not change.
After
closing the database connections ( and ultimately the database itself
)... it took about a minute for the database to completely close and
remove the lock file and then the file size reduced 300MB.
When I restarted the database and performed the pseudo compact code above it shrunk to 300K.
This behavior does not seem to correlate well with your comments in regards to the new LOB_TIMEOUT value and what I would have expected.
It still seems like a complete shutdown is required to reduce the file size.
At the risk of beating this subject to death - do you have any thoughts on this?
For
the most part, It is the only issue and customer complaint that I get
from my users concerning the H2 database implementation that I am using.
With my configuration "AUTO_SERVER=TRUE" I cannot find a way to ever cleanly close the database and reduce the database size. I need to be able to do this on the fly - with connections active.
My current connection URL:
"jdbc:h2:audit/msgfwd;COMPRESS=TRUE;AUTOCOMMIT=FALSE;TRACE_LEVEL_FILE=4;lock_timeout=60000;MVCC=FALSE;DB_CLOSE_ON_EXIT=TRUE;MV_STORE=TRUE;LOB_TIMEOUT=10000;AUTO_SERVER=TRUE;AUTO_SERVER_PORT=9999"
-Kent