Tar Data File Rotation
- CRX stops / doesn't start up anymore, and the following error is logged :
*ERROR* TarPersistenceManager: Failed to read bundle: cafebabe-cafe-babe-cafe-babecafebabe: java.io.IOException: File not found: 0
*ERROR* TarPersistenceManager: Failed to read bundle: deadbeef-face-babe-cafe-babecafebabe: java.io.IOException: File not found: -32766
- The repository contains a file named data_32768.tar.
The Tar Persistence Manager works in append-only mode, and writes its data to files named data_<id>.tar When the <id> reaches 32768, the data from such data_32768.tar file can't be accessed.
In CRX 1.4.2, the default maximum size of the data_<id>.tar files is 64mb.
In CRX 2.x, the default maximum size of the data_<id>.tar files is 256mb.
To avoid reaching this limit, we recommend to increase the maximum file size of the data_<id>.tar files to at least 512 (512 MB). Please note that the maximum value is 1024 (1024 MB).
If you are hit by the problem, please inform GSG. The resolution is to stop CRX, delete all index*.tar files, rename all data*.tar files (but keeping the relative order), and start CRX.
To reconfigure the maximum file size, the
repository.xml configuration file and all
workspace.xml configuration files need to be modified. Please configure the
maxFileSize parameter as shown in the following example:
<PersistenceManager class="com.day.crx.persistence.tar.TarPersistenceManager"> ... <param name="maxFileSize" value="512" /> </PersistenceManager>
1.3.X, 1.4.X, 2.0, 2.1 (fixed in CRX 2.2)