[Seasar-user:21321] Re: FetchHandlerについて

Seita Sekigushi [E-MAIL ADDRESS DELETED]
2012年 4月 13日 (金) 16:47:24 JST


中村さん

調べてみたら確かにResultSetのTypeはデフォルトでOKでした。
サーバーのバージョンは9.xxだったので大丈夫なはずですが
やはりOutOfMemoryが出ますね・・・・。

DBをOracleに変更して同じ件数で処理をしたら
すんなり通ったんで、やっぱりDBがらみかなぁと。

--- On Fri, 2012/4/13, Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]> wrote:

> 中村(taedium)です。
> 
> S2でトランザクション管理すればautoCommitはfalseになりますし、
> ResultSet.TYPE_FORWARD_ONLYはデフォルトで使われる値ですし、
> 気にするのは、PostgreSQLのバージョンだけになるんじゃないかと思います。
> 
> 2012年4月13日15:31 Seita Sekigushi <[E-MAIL ADDRESS DELETED]>:
> >
> > 中村さん
> >
> > OutOfMemoryですが、PostgreSQLのResultSetに問題があるようです。
> > PostgresSQLのResultSetは、nextを呼ばなくても
> > 毎回全件フェッチするようです。
> > そのため、OutOfMemoryが発生している模様です。
> >
> > AutoCommitを無効、ResultSet.TYPE_FORWARD_ONLYというタイプ、
> > サーバーのバージョンが7.4以降でないとダメみたいです。
> >
> > Seasar2はデフォルトでAutoCommitがFalseだったと思いますが
> > ResultSetのタイプの変更方法を模索中です。
> >
> > 奥が深くなってきました・・・。
> >
> > --- On Fri, 2012/4/13, Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]> wrote:
> >
> >> 中村(taedium)です。
> >>
> >> PostgreSQLでしたか。
> >> では、リンク先の話は関係ないですね。
> >>
> >> EmployeeとDepartmentのリレーションシップをやめてみたら
> >> どうなるでしょうか?
> >> 可能性としては、Departmentが大量に作られているからという
> >> ことが考えられます。
> >>
> >> それでも、現象が発生するなら、
> >> プロファイラなどを使って実際にヒープを占めている
> >> オブジェクトを特定してみてはどうでしょうか。
> >> アプリか、S2Daoか、PostgreSQLのJDBCドライバーか、
> >> どこに問題があるか手がかりが得られると思います。
> >>
> >>
> >> 2012年4月13日11:27 Seita Sekigushi <[E-MAIL ADDRESS DELETED]>:
> >> >
> >> > 中村さん
> >> >
> >> > 使っているDBはPostgreSQLです。
> >> > 使用しているDriverはorg.postgresql.Driverです。
> >> >
> >> > --- On Fri, 2012/4/13, Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]> wrote:
> >> >
> >> >> 中村(taedium)です。
> >> >>
> >> >> 使っているDBはなんでしょうか?
> >> >> MySQLの Connector/Jが関係しているかもしれません。
> >> >>
> >> >> http://d.hatena.ne.jp/hajimeni/20120406/1333677789
> >> >>
> >> >>
> >> >> 2012年4月13日11:09 Seita Sekigushi <[E-MAIL ADDRESS DELETED]>:
> >> >> >
> >> >> > 中村さん
> >> >> >
> >> >> > 仰る通り、別のHandlerが使われていたみたいです。
> >> >> > diconファイルの設定を見直して、正常にFetchHandlerが動くようになりました。
> >> >> >
> >> >> > ただ、jarに含まれてるサンプルを使用して
> >> >> > 60万件ほどのデータを対象にCSVに出力してみましたが
> >> >> > OutOfMemoryが発生しました。
> >> >> > 添付されているサンプルソースを使用しているので、
> >> >> > これで動かないということは、設定周りじゃない気がするのですが・・・。
> >> >> >
> >> >> > --- On Thu, 2012/4/12, Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]> wrote:
> >> >> >
> >> >> >> 中村(taedium)です。
> >> >> >>
> >> >> >> > 唯一怪しいと思うのが、以下のようなログが出力されたことです。
> >> >> >> >
> >> >> >> > 「取得行数が2件以上存在しますが先頭行のみ返されます」
> >> >> >>
> >> >> >> FetchHandlerではない別のHandlerが使われてしまっているようです。
> >> >> >> Daoの定義とFetchHandlerの定義はどのようになっていますか?
> >> >> >>
> >> >> >>
> >> >> >> 2012年4月12日10:30 Seita Sekigushi <[E-MAIL ADDRESS DELETED]>:
> >> >> >> > お世話なっております。
> >> >> >> >
> >> >> >> > Seasar2.3系、S2Dao、tigerともに、1.0.50で現在開発を行っておりますが
> >> >> >> > FetchHandlerがうまく動いていない状況です。
> >> >> >> >
> >> >> >> > デバッグしてみたものの、ブレークポイントを張っても
> >> >> >> > そのままスルーされているので、何が原因か掴めていません。
> >> >> >> >
> >> >> >> > 唯一怪しいと思うのが、以下のようなログが出力されたことです。
> >> >> >> >
> >> >> >> > 「取得行数が2件以上存在しますが先頭行のみ返されます」
> >> >> >> >
> >> >> >> > 同じような現象になったことある方、いらっしゃいますでしょうか?
> >> >> >> > _______________________________________________
> >> >> >> > Seasar-user mailing list
> >> >> >> > [E-MAIL ADDRESS DELETED]
> >> >> >> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> --
> >> >> >> Toshihiro Nakamura
> >> >> >> _______________________________________________
> >> >> >> Seasar-user mailing list
> >> >> >> [E-MAIL ADDRESS DELETED]
> >> >> >> https://ml.seasar.org/mailman/listinfo/seasar-user
> >> >> >>
> >> >> > _______________________________________________
> >> >> > Seasar-user mailing list
> >> >> > [E-MAIL ADDRESS DELETED]
> >> >> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Toshihiro Nakamura
> >> >> _______________________________________________
> >> >> Seasar-user mailing list
> >> >> [E-MAIL ADDRESS DELETED]
> >> >> https://ml.seasar.org/mailman/listinfo/seasar-user
> >> >>
> >> > _______________________________________________
> >> > Seasar-user mailing list
> >> > [E-MAIL ADDRESS DELETED]
> >> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >>
> >>
> >>
> >> --
> >> Toshihiro Nakamura
> >> _______________________________________________
> >> Seasar-user mailing list
> >> [E-MAIL ADDRESS DELETED]
> >> https://ml.seasar.org/mailman/listinfo/seasar-user
> >>
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> 
> 
> 
> -- 
> Toshihiro Nakamura
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
> 


Seasar-user メーリングリストの案内