現象

  • 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 で修正されます)

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー