[postgresforest-users 9] Re: PostgresForestのJDBC経由でのクエリの限界について

Zurück zum Archiv-Index

Satoshi Nagayasu nagay****@nttda*****
2007年 2月 6日 (火) 17:34:09 JST


黒田さま、

> 現象としてはSQLの長さが約8KBを超えると
> org.postgresforest.util.PSQLException: ERROR: could not find block
> containing chunk 0x9735298
>         at org.postgresforest.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1525)
>         at org.postgresforest.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1309)
>         at org.postgresforest.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
>         at org.postgresforest.vm.StatementExecuteSub.execute(StatementExecuteSub.java:64)
>         at org.postgresforest.vm.StatementSub._execute(StatementSub.java:262)
>         at org.postgresforest.vm.AbstractForestThread.run(AbstractForestThread.java:115)
> のエラーが発生してしまいます。
> それ以下だとエラーが発生しません。

うーん、クエリの長さ自体が直接的に影響しているとは考えづらいのですが、
もしかしたら直前(あるいは少し前)にリカバリ(ForestRecovery.sh)を
走らせてませんか?

リカバリを走らせた後に、クリーンアップ処理を行わないと、
このエラーが出る場合があります。

もし該当しなければ、別の原因を探ってみようと思いますが、
確認していただければと思います。

あと、「8kBを超えるクエリ」というのを、ForestのJDBCドライバを通してではなく、
psqlで直接個別のノードに実行するとどうなりますでしょうか?
問題なく実行できますでしょうか?

可能であれば試してみていただけませんでしょうか。

よろしくお願いします。

黒田徹 wrote:
> お世話になります、黒田と申します。
> 
> 今回、WebアプリケーションからPostgresForestのJDBC経由で長いSQLを実行
> した際にエラーが発生したのですが、これはJDBCが影響しているのでしょうか?
> 
> 現象としてはSQLの長さが約8KBを超えると
> org.postgresforest.util.PSQLException: ERROR: could not find block
> containing chunk 0x9735298
>         at org.postgresforest.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1525)
>         at org.postgresforest.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1309)
>         at org.postgresforest.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
>         at org.postgresforest.vm.StatementExecuteSub.execute(StatementExecuteSub.java:64)
>         at org.postgresforest.vm.StatementSub._execute(StatementSub.java:262)
>         at org.postgresforest.vm.AbstractForestThread.run(AbstractForestThread.java:115)
> のエラーが発生してしまいます。
> それ以下だとエラーが発生しません。
> 
> SQLの長さに限界はあるのでしょうか?
> 
> ソースを拝見したところ、PGStream内のバッファを確保している箇所で8192
> と指定されているので、そのあたりが影響しているのではないかと
> 考えていますが、どうでしょうか?
> 
> 以上、よろしくお願いいたします。
> _______________________________________________
> postgresforest-users mailing list
> postg****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/postgresforest-users


-- 
NAGAYASU Satoshi <nagay****@nttda*****>
Phone: +81-50-5546-2496




postgresforest-users メーリングリストの案内
Zurück zum Archiv-Index