フォーラム

GroupSession

フォーラム
GroupSessionについての自由な情報交換の場としてご利用ください

GroupSessionフォーラム:投稿一覧

 
フォーラム:00_インストール・設定
Now Loading... で停止する
[ 999 ] Now Loading... で停止する

Tomcat、Apache再起動後、まれに「Now Loading...」
のまま止まってしまうことがあります。

【環境】
GSession: 2.0.1
OS: CentOS 4.4
WEBサーバー: Apache2.0.52
Tomcat: apache-tomcat-5.5.23
Java: jdk1.5.0_12

Tomcat、Apacheの再起動は、毎晩の「自動バックアップ設定」
によるバックアップの後行っています。
リストアを試しましたが、当日のバックアップファイルでは解消せず
前日のものであれば解消します。(1日分のデータが消えてしまう)

次の過去ログも参考にしましたが、解決できませんでした。
http://www.gs.sjts.co.jp/wbs/bulletin/bbs080.do?bbs010forumSid=1&threadSid=5
http://www.gs.sjts.co.jp/wbs/bulletin/bbs080.do?bbs010forumSid=1&threadSid=248

同じような現象を経験された方、対処法をご存知の方はいらっしゃいますか?

投稿者dtcm
最新書き込み2008/05/12 18:23:35
[ 1000 ] エラーログ

2008-05-11 08:56:47,874 ERROR jp.co.sjts.util.jdbc.JDBCUtil:405 - コネクションの取得に失敗(1回目)
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Unique index or primary key violation: PRIMARY_KEY_47 ON PUBLIC.BBS_THRE_VIEW(BTI_SID, USR_SID) [23001-46])
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:855)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
at jp.co.sjts.util.jdbc.JDBCUtil.getConnection(JDBCUtil.java:402)
at jp.co.sjts.util.jdbc.JDBCUtil.getConnection(JDBCUtil.java:384)
at jp.groupsession.v2.cmn.GroupSession.getConnection(GroupSession.java:353)
at jp.groupsession.v2.struts.AbstractGsAction.__getConnection(AbstractGsAction.java:263)
at jp.groupsession.v2.struts.AbstractGsAction.execute(AbstractGsAction.java:75)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

投稿者dtcm
最新書き込み2008/05/12 18:25:15
[ 1001 ] エラーログ2

上記ログの後、以下の繰り返し
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:318)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

投稿者dtcm
最新書き込み2008/05/12 18:25:52
[ 1003 ] Re: Now Loading... で停止する

私も、GroupSession2.0.3のときに同じ現象が発生しました。

ApacheとTomcatを停止したあと、psコマンドでjavaが動いているか確認していただけますか?

ApacheとTomcatを停止させてもまだjavaが動いていると、
GroupSession2の終了が不完全になってしまい、
その状態で再度Tomcatを起動してしまうと、
「Now Loading...」のまま止まってしまいます。

もし、javaが動いていたら、killコマンドでjavaのプロセスを終了させてください。

あと、2.1.0では解消されているみたいですので、アップデートしてみるのもいいかもしれません。

投稿者SIN
最新書き込み2008/05/13 19:30:24
[ 1005 ] Re: Re: Now Loading... で停止する

SIN 様

情報ありがとうございます。

TomcatとApache停止後、javaが動いていたら終了させる処理を追加してみます。
GroupSessionのアップデートも試したいと思います。

投稿者dtcm
最新書き込み2008/05/14 13:18:08
[ 1015 ] Re: Now Loading... で停止する

こんばんはyhoriです。

Tomcat、Apache再起動の前にGroupSessionのバックアップが駄目とのことなので、
起動時の破損ではなく、
あるタイミングでBBS_THRE_VIEWのプライマリキーがおかしく?なってしまったのでは
ないでしょうか...
起動しないデータベースのBBS_THRE_VIEWの中って確認できますか?

停止する前日の処理でBBS_THRE_VIEWに対して発行したSQLに対してエラーとか
ログに残っているのではないかなと思います。

投稿者yhori
最新書き込み2008/05/16 21:00:04
[ 1017 ] Re: Re: Now Loading... で停止する

yhori様

> 停止する前日の処理でBBS_THRE_VIEWに対して発行したSQLに対してエラーとか
> ログに残っているのではないかなと思います。
以下のエラーがありました。
2008-05-10 11:06:01,228 ERROR jp.groupsession.v2.bbs.bbs080.Bbs080Biz:162 - スレッド閲覧情報の更新失敗
org.h2.jdbc.JdbcSQLException: General error: java.lang.Error: try to add a record twice i=0 [HY000-46]
 at org.h2.message.Message.getSQLException(Message.java:65)
 at org.h2.message.Message.convert(Message.java:370)
 at org.h2.message.TraceObject.logAndConvert(TraceObject.java:206)

また、次の手順でデータが消えること無く復旧できました。
1. Tomcat停止
2. 壊れたDBをH2Console(ComandLine)で開く
3. 「SELECT count(*), bti_sid, usr_sid FROM BBS_THRE_VIEW group by bti_SID, usr_sid order by count(*) desc」
 を実行
  ※結果、何故かプライマリキーが重複しているデータがあった
4. delete文で重複しているデータを1件だけ残し削除
5. プライマリキーの再作成
  「ALTER TABLE PUBLIC.BBS_THRE_VIEW DROP PRIMARY KEY」
  「CREATE PRIMARY KEY ON PUBLIC.BBS_THRE_VIEW(BTI_SID, USR_SID)」
6. H2Console(ComandLine)をシャットダウン
7. Tomcat起動

投稿者dtcm
最新書き込み2008/05/19 18:59:43
スレッドURLhttps://groupsession.jp/wbs/bulletin/bbs080.do?bbs010forumSid=1&threadSid=342
 


TOP