Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Done
-
Jena 2.10.1
-
None
Description
TDB batches write-commits for performance reasons. Commits are safe when they are flushed to the journal. At some point, the journal is written back to the main database. This happens periodically in use and always happens on startup.
It would be convenient to allow application code to cleanly force writing the journal back to the database for the case when the application has been preparing a database for moving elsewhere. It is not critical the journal is flushed (its safe anyway) but it is neater for preparing databases for moving to a server for publication).
Workaround 1 : Set the TransactionManager.QueueBatchSize to zero to make each write-commit attempt to flush the journal. It may not be able to due to outstanding read transactions.
Workaround 2 : run any TDB command line tool on the database e.g.
tdbquery --loc=DIR 'ASK{}'
as this will open the database and so flush the journal).
Attachments
Issue Links
- relates to
-
JENA-703 TDB - Ensure readers don't block writeback forever.
- Closed