$DATASPIDER_HOME/server/bin に hs_err_pid****.log というファイルが出力されて、DataSpider Servista のサービスが停止していました

Avatar
dstn

Question

$DATASPIDER_HOME/server/bin に hs_err_pid****.log というファイルが出力されて、DataSpider Servista のサービスが停止していました。
​(****には半角数字が入っています)
原因と対応方法を教えてください。

Answer

■想定される原因

Java は何らかの問題によって異常終了する際に、その時点のメモリ上の状況を
ログに出力します。DataSpider Servista ではこのログを「ダンプファイル」と
呼んでいます。
hs_err_pid****.log は、このダンプファイルです。

Java は Just In Time コンパイル方式(以下、JIT方式)を採用しており、実行時に
Java 中間コードから OS の Native コードに変換(コンパイル)し実行することで、
パフォーマンスを向上しています。

DataSpiderServer の内部処理でも JIT 方式を採用していますが、JIT 方式のうち、
Compiler Thread が呼び出された場合に、サービスが停止することがあります。
確認方法や対応方法については以下をご確認ください。

また、「■確認方法」で該当するログが出力されていない場合は、本文書の
末尾に記載しております「■該当しない場合」をご参照ください。

■確認方法

(1) ダンプファイルの確認
 以下のパスに出力されているダンプファイルを展開してください。
 $DATASPIDER_HOME/server/bin/hs_err_pid****.log

(2) 処理スレッドの確認
 ダンプファイル内を「CompilerThread」で検索して、「CompilerThread」で
 障害が発生したという情報があるかご確認ください。
 たとえば、以下のようなログが出力されます。

Current thread (0x52d70cf8): JavaThread "CompilerThread1" daemon

(3) コンパイルされていたモジュールの確認
 ダンプファイル内を「Current CompileTask」で検索して、障害発生時に
 コンパイルしていたモジュールを確認してください。
 たとえば、以下のようなログが出力されます。

例:
Current CompileTask:
C2:2519  !   jp.co.headsol.salesforce.adapter.executer.AbstractUpdateByMultiKeyExecuter.exec()V (994 bytes)

■対応方法

事象発生時にコンパイルされていたモジュールを JIT 方式の対象から外すことで、
事象を回避することができます。
以下の値を設定ファイルの「lax.nl.java.option.additional=」内に設定して、
サービスを再起動してください。
(※設定ファイルの詳細についてはヘルプの「プロパティリファレンスをご参照ください)

・設定ファイル(DataSpiderServer.lax)の場所
 $DATASPIDER_HOME/server/bin/DataSpiderServer.lax

・設定キー
 -XX:CompileCommand=exclude,full/class/name,method

「■確認方法の(3)」に挙げた例の場合、以下のような値を設定します。

例:
-XX:CompileCommand=exclude,jp/co/headsol/salesforce/adapter/executer/AbstractUpdateByMultiKeyExecuter,exec

■該当しない場合

ダンプファイルが出力されていて、「CompilerThread」で障害が発生していない場合は、
別の箇所で問題が発生している可能性があります。

この場合は、以下の情報を弊社サポートセンターまでご送付ください。

・再現頻度
 事象が発生した回数や頻度についてお伝えください。

・発生時の状況
 新規に追加した処理を初めて実行した、特に大量の件数を同期対象にしていたなど
 事象発生時にだけ、他と異なる処理を実行していた場合には、その情報を
 お伝えください。

・設定変更
 事象の発生が始まった前後で、環境または DataSpider Servista の設定を
 変更されているかお伝えください。
 
 また、変更した設定がある場合には、元に戻すことで事象が解消されるかも
 可能であればお試しいただき、その結果もお伝えいただければ、
 より早い解決につながる可能性があります。

・各種ログ
 ・ダンプファイル
  $DATASPIDER_HOME/server/bin/hs_err_pid****.log
 ・サーバログ
  $DATASPIDER_HOME/server/logs/server.log
 ・サーバ標準エラー出力
  $DATASPIDER_HOME/server/logs/server.error.log
 ・execログ
  $DATASPIDER_HOME/server/logs/<日付ディレクトリ(yyyyMMdd)>/exec.log
 ・XMLログ
  $DATASPIDER_HOME/server/logs/<日付ディレクトリ(yyyyMMdd)>/execution/<実行ID>.xml
  ※原因とおもわれるスクリプト実行が特定できている場合にご送付ください

(※各ログの詳細についてはヘルプの「ログガイド」をご参照ください。)

参考情報

本FAQと同様の内容は、製品のヘルプの「トラブルシューティング」にも記載しております。
・トラブルシューティング
 http://patch.appresso.com/DataSpider/help/latest/doc/help/ja/servista/trouble_shoot.html

また、他の要因によるサービス停止の情報が必要な場合は、FAQの「Q224」をご参照ください。

設定ファイルやログの情報は以下をご参照ください。
・プロパティリファレンス
 http://patch.appresso.com/DataSpider/help/latest/doc/help/ja/servista/properties_reference.html
・ログガイド
 http://patch.appresso.com/DataSpider/help/latest/doc/help/ja/servista/service_production.html#log_guide



[注意事項]
  • このFAQの内容は2017年3月時点のものです。内容は予告なく変更されることがありますので、ご注意ください。
  • 一部にDataSpider Servistaサポートサイトへのリンクを含むことがあります。サポートサイトにアクセスするには、DataSpiderのサポート契約が必要です。


ID:Q222

コメント

記事コメントは受け付けていません。

Powered by Zendesk