最終更新日 :
2021年4月28日
|
次にも適用 : CRX
現象
- CRX が停止するか起動しないと、次のエラーが記録されます。
*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
- リポジトリには、data_32768.tar というファイルが含まれます。
原因
TAR パーシスタンスマネージャーは追加専用モードで動作し、そのデータを data_<id>.tar に書き込みます。<id> が 32768 に達した場合は、data_32768.tar ファイルなどからのデータにアクセスできません。
分析、解決策
CRX 1.4.2 では、data_<id>.tar ファイルのデフォルトの最大サイズは 64MB です。
CRX 2.x では、data_<id>.tar ファイルのデフォルトの最大サイズは 256MB です。
この制限に達することを避けるために、data_<id>.tar ファイルの最大ファイルサイズを少なくとも 512(512MB)に増やすことをお勧めします。最大値は 1024(1024MB)です。
問題が発生した場合は、GSG にお知らせください。解決策としては、CRX を停止し、すべての index*.tar ファイルを削除して、すべての data*.tar ファイルを名前変更し(ただし、相対順序を保持したまま)、CRX を起動します。
最大ファイルサイズを再設定するには、repository.xml
設定ファイルおよびすべての workspace.xml
設定ファイルを変更する必要があります。次の例に示すように、maxFileSize
パラメーターを設定します。
<PersistenceManager class="com.day.crx.persistence.tar.TarPersistenceManager"> ... <param name="maxFileSize" value="512" /> </PersistenceManager>
影響を受けるバージョン
1.3.X、1.4.X、2.0、2.1(CRX 2.2 で修正されます)