Symptômes

  • CRX s’arrête / ne démarre plus, et l’erreur suivante est enregistrée :
*ERROR* TarPersistenceManager: Failed to read bundle: cafebabe-cafe-babe-cafe-babecafebabe: java.io.IOException: File not found: 0
OU
*ERROR* TarPersistenceManager: Failed to read bundle: deadbeef-face-babe-cafe-babecafebabe: java.io.IOException: File not found: -32766


  • Le référentiel contient un fichier nommé data_32768.tar.

Cause

Le gestionnaire Tar Persistence fonctionne en mode append-only et écrit ses données dans des fichiers nommés data_<id>.tar. Lorsque <id> atteint 32768, les données de ce fichier data_32768.tar ne sont pas accessibles.

Analyse, résolution.

Dans CRX 1.4.2, la taille maximale par défaut des fichiers data_<id>.tar est 64 Mo.
Dans CRX 2.x, la taille maximale par défaut des fichiers data_<id>.tar est de 256 Mo.

Pour éviter d’atteindre cette limite, nous vous recommandons d’augmenter la taille maximale des fichiers data_<id>.tar à au moins 512 (512 Mo). Veuillez noter que la valeur maximale est 1024 (1024 Mo).

Si vous rencontrez ce problème, veuillez informer GSG. La résolution consiste à arrêter CRX, à supprimer tous les fichiers index*.tar, à renommer tous les fichiers data*.tar de données (en conservant l’ordre relatif) et à lancer CRX.

Pour reconfigurer la taille maximale du fichier, le fichier de configuration repository.xml et tous les fichiers de configuration workspace.xml doivent être modifiés. Veuillez configurer le paramètre maxFileSize comme indiqué dans l’exemple suivant :

<PersistenceManager class="com.day.crx.persistence.tar.TarPersistenceManager"> ... <param name="maxFileSize" value="512" /> </PersistenceManager> 

Versions concernées

1.4.x, 1.3.x, 2.0, 2.1 (corrigées dans CRX 2.2).

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne