trac+subversionでの初歩的トラブルメモ (1)

trac+subversionな環境を整えたので、張り切ってコードをインポート
しまくっていたのですが、トラブルというものは起きるものですね。

ということで以下に起きたエラーと対処をメモします。
今日起きたエラーは2つだけ。




●コードのインポート中にFatal errorが起きた
大量のソースコードをガリガリとインポートしていたら見たくない文字が。
インポート中にデータベースが壊れたみたい。
何回インポートしてもエラーメッセージしか出ない。
trac側にもFatal errorって表示された。
Berkeley DBは壊れやすいと聞いていたけど、速攻壊れて血の気が引いた。

とりあえずリカバリを試みる。

# svnadmin recover svnrepos
Repository lock acquired.
Please wait; recovering the repository may take some time...
svn: DB_RUNRECOVERY: Fatal error, run database recovery
(中略)
svn: bdb: PANIC: Invalid argument
svn: bdb: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery


はいはい、パニックしてるのはコッチですよー。

リカバリを試みながら調べ物をすると、どうやらログが腐っているみたい。
うーん、そうなの??

# rm svnrepos/db/log.*
# svnadmin recover svnrepos
Repository lock acquired.
Please wait; recovering the repository may take some time...
Recovery completed.


一応直った。一応インポートも出来た。

ただ、その後も頻繁に壊れるので一回全部やり直し。
結局、rm -r svnreposした。

ログを消してしまったのが敗因かな。
Berkeley DBの修復コマンドを使った方がよかったかな。




●No changeset # in the repositoryというエラーを吐く
このエラーはtracのプロジェクトと、svnのリポジトリが
上手いこと同期していないときに起こるみたい。
そういう時はシンクロ。

# trac-admin trac-project resync
Resyncing repository history...
Done.


この後、エラーが発生しないので解決したみたい。




早急にtracとsubversionのリポジトリを定期的に
自動バックアップしたほうがいいな、と感じています。

余計なことを考えないで1日戻ったほうが良いときもありそう。


関連するエントリ

[2006-11-23-2] SubversionのDBが壊れたときの修復スクリプト
[-] 1
投稿者:としのり  日時:23:59:59 | コメント | トラックバック |
blog comments powered by Disqus