Edgewall Software

Opened 11 years ago

Last modified 11 years ago

#11013 new defect

Unable to hotcopy SQLite database on Windows if >1Gb — at Version 1

Reported by: pdecourcel@… Owned by:
Priority: low Milestone: next-major-releases
Component: admin/console Version: 0.12
Severity: normal Keywords: hotcopy database sqlite
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description (last modified by Christian Boos)

System Information:

  • Trac 0.12
  • Windows XP 64bits SP2 (should be reproduceable on any version of Windows)

How To Reproduce:

Assuming your Trac env use a large (>1Gb) SQLite database, when you use "trac-admin hotcopy ENV" (while Trac is running), the copy of the database fails at 1Gb.

Why : On Windows, when a SQLite DB is locked (eg, during a transaction), database file has an exclusive lock between 1Gb and 1Gb + 512bytes (see http://www.mail-archive.com/sqlite-users@sqlite.org/msg08077.html), so hotcopy fails to read it.

Proposition : When SQLite backend is used, skip the database file during the hotcopy process and use something like "sqlite3 trac.db .backup trac.db.bak" instead.

Change History (1)

comment:1 by Christian Boos, 11 years ago

Description: modified (diff)
Milestone: next-major-releases
Priority: normallow

Perhaps we should use the (PySqlite Backup feature), once it's finished.

Note: See TracTickets for help on using tickets.