ベースのインストール
Amazon EC2 に m1.large Neo4j サーバー インスタンスがあり、次の手順に従ってセットアップします: http://www.neo4j.org/develop/ec2
私はその設定から決して変わりませんでした。
時折再起動して、数週間ほとんど問題なく動作しています。しかし、今朝 (2013 年 3 月 13 日)、Web アプリから接続できませんでした。
試行 #1: 再起動
EC2 管理コンソールから Neo4j Server インスタンス経由で再起動します。再起動した後、Web アプリは (Neoid & Neography を介して) 初期接続を確立できるように見えたので、Web アプリは少なくとも起動します。
ただし、すべてのトランザクションは失敗していました。webadmin/ のポート 7474 で Neo4j の管理コンソールにアクセスしようとしましたが、特に次のエラーが表示されます。
javax.transaction.SystemException: TM has encountered some problem, please perform neccesary action (tx recovery/restart)
再起動は解決策ではありません。
Web パネルにアクセスする際の試行 #1 の完全なエラー トレース: GIST #1。
試み #2: 回復
コンソールモードでneo4jを起動すると、タイムアウトせずに完全に回復できることを示している、一見関連する問題を参照するスレッドを見つけたので、それを試してみたSEVERE
結果、問題がさらに明らかになりました。
これが根本的な原因のようです:
Caused by: java.io.IOException: Unknown xid for identifier 8964
実行中の試行 #2 の完全なエラー トレースsudo /var/lib/neo4j/bin/neo4j console
: GIST #2
試行 #3: 削除して最初からやり直す
これは制作前のデータなので、抜本的な対策を講じる余裕があります。データベースを削除して最初からやり直しました。
sudo rm -rf /var/lib/neo4j/data/graph.db/
sudo sudo /var/lib/neo4j/bin/neo4j start
約 50,000 の rel と 50,000 のノードを作成できましたが、せいぜい数時間後にエラーが再発しました。
試行 #4: 再び回復
Neo4j サーバーを停止し、コンソールとしてロードしました - 回復を行います。
Attempt #4 recovery の完全なトレース: running sudo /var/lib/neo4j/bin/neo4j console
: GIST #3
回復が機能したので、サーバーをデーモンとして再起動しました。
デーモンを開始する試行 #4 の完全なトレース: 実行中sudo /var/lib/neo4j/bin/neo4j start
: GIST #4
それは数分間働きました。そして、再びこのエラーに戻ります:
TM has encountered some problem, please perform neccesary action (tx recovery/restart)
Neography がスクリプトを実行しようとしたときに見られる新しいエラーの完全なトレース: GIST #5
デバッグ
m1.large サーバー用のこのガイドに従う一環としてインストールされたバニラ Neo4j を使用したにもかかわらず、この構成にはいくつかの問題があると思います。サーバーをコンソールモードで起動すると、次のような面倒なことが表示されます。
INFO ... Could NOT find resource [logback.groovy]
INFO ... Could NOT find resource [logback-test.xml]
ERROR ... Could not find resource corresponding to [custom-logback.xml]
そして、これ
WARNING! Deprecated configuration options used. See manual for details cannot configure writers and searchers individually since they go together
更新:これらの既定の構成の問題については、別の問題を提出しました。