グラフ内のすべての「ユーザー」ノードを調べて、それらに対して何らかのアクションを実行したいと思います。
問題は、「ユーザー」ノードが多すぎて、すべてをヒープに保持できないことです。
だから、次のようなことをします:
try (Transaction tx = graphDb.beginTx())
{
Iterator<Node> n_column = autoNodeIndex.get( "type", "user" );
while (n_column.hasNext()) {
//create relationship for node...
}
tx.success();
}
GC オーバーヘッド例外が発生します。
いくつかのトランザクションに分割するにはどうすればよいですか?ただし、同じイテレータ上にあります。
ネストされたトランザクションについて考えましたが、マニュアルには別のことが書かれています。ネストされたトランザクションは、ローカル メモリを最上位のトランザクションにロールバックします。