その他問い合わせ #3631
closedJob Arranger Managerにてジョブの実行が進まなくなる
Description
以下の環境にてJob Arranger Managerにテスト用のジョブを登録し、即時実行させてみましたが、実行対象ジョブが黄色表示のままで止まってしまいます。
Zabbix バージョン:5.0.21-1
Job Arranger バージョン:5.1.0
DB:PostgreSQL バージョン 12.10-1
Job Arragener serverのログは以下の通りです。
1808:20220314:155355.851 [ERROR] [Z3005] query failed: [0] PGRES_FATAL_ERROR:ERROR: duplicate key value violates unique constraint "ja_run_jobnet_summary_pk"
DETAIL: Key (inner_jobnet_id)=(1500000000000000013) already exists.
[insert into ja_run_jobnet_summary_table ( inner_jobnet_id, update_date, invo_flag, run_type, status, job_status, jobnet_abort_flag, load_status, scheduled_time, start_time, end_time, public_flag, multiple_start_up, jobnet_id, user_name, jobnet_name, memo, execution_user_name, virtual_time, virtual_start_time, virtual_end_time, start_pending_flag, initial_scheduled_time,jobnet_timeout, timeout_run_type) values (1500000000000000013, 20220314155340, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 'JOBNET_4', 'Admin', 'JOB-4', 'テストジョブ', 'Admin', 0, 0, 0, 0, 0, 0, 0)]
1808:20220314:155355.852 [ERROR] [JALOADER200002] failed to insert the ja_run_jobnet_summary_table: key[1500000000000000013 JOBNET_4]
Response from "127.0.0.1:10051": "processed: 0; failed: 1; total: 1; seconds spent: 0.000068"
sent: 1; skipped: 0; total: 1
1791:20220314:155357.473 [ERROR] [Z3005] query failed: [0] PGRES_FATAL_ERROR:ERROR: deadlock detected
DETAIL: Process 12213 waits for ShareLock on transaction 64991; blocked by process 12214.
Process 12214 waits for ShareLock on transaction 64990; blocked by process 12213.
HINT: See server log for query details.
CONTEXT: while locking tuple (0,63) in relation "ja_run_jobnet_table"
[select status from ja_run_jobnet_table where inner_jobnet_id = 1500000000000000013 for update]
1791:20220314:155357.473 [ERROR] In process_jajobnet() rollback
PostgreSQLのログを確認すると、以下の通りデッドロックが発生して処理が停止してしまっているようです。
2022-03-14 15:53:57.472 JST [12213] ERROR: deadlock detected
2022-03-14 15:53:57.472 JST [12213] DETAIL: Process 12213 waits for ShareLock on transaction 64991; blocked by process 12214.
Process 12214 waits for ShareLock on transaction 64990; blocked by process 12213.
Process 12213: select status from ja_run_jobnet_table where inner_jobnet_id = 1500000000000000013 for update
Process 12214: select status from ja_run_jobnet_table where inner_jobnet_id = 1500000000000000013 for update
原因と対処方法があればご教授願いたく、ご確認よろしくお願いします。
Updated by Anonymous over 2 years ago
- Status changed from 新規登録 to 回答中
ジョブアレンジャーのご利用ありがとうございます。
DBのデータに不整合が起きているように思われます。
データベースへの初期データ登録から再度お試しいただけますか。
PostgreSQLでなくmysqlバージョンでの確認もご検討ください。
速やかな返信・対応のためにサポート契約をご検討頂ければ幸甚です。
宜しくお願い致します。
Updated by Anonymous over 2 years ago
ご回答ありがとうございます。
再度データベースへの初期登録から実施しましたが、同様の事象が発生しました。
また、Job Arrangerのバージョンを5.1.0から5.0.1に変更してみると、「実行対象ジョブが黄色表示のままで止まってしまう」事象は発生することなく、緑色表示で正常完了されることを確認しました。
上記よりJob Arrangerのバージョンが関係しているのではと考えております。
Updated by Anonymous over 2 years ago
ご確認有難うございます。
再度データベースへの初期登録から実施しましたが、同様の事象が発生しました。
また、Job Arrangerのバージョンを5.1.0から5.0.1に変更してみると、「実行対象ジョブが黄色表示のままで止まってしまう」事象は発生することなく、緑色表示で正常完了されることを確認しました
「Job Arrangerのバージョンを5.1.0から5.0.1に変更」
これはJob ArrangerのServer、Agentを5.1.0から5.0.1ということでしょうか?
その時のManagerのバージョンは何でしょうか?Managerには5.0.1はありませんので。
正常完了環境と上記事象発生環境の正確なバージョン情報(JobArrangerはServerとAgent、Zabbix、DB含め)を頂けますでしょうか?
Server、Agent環境では以下のコマンド結果を拝見できると助かります。
# rpm -qa | grep job # rpm -qa | grep zabbixよろしくお願いいたします。
Updated by Anonymous over 2 years ago
ご回答ありがとうございます。
「Job Arrangerのバージョンを5.1.0から5.0.1に変更」
これはJob ArrangerのServer、Agentを5.1.0から5.0.1ということでしょうか?
その時のManagerのバージョンは何でしょうか?Managerには5.0.1はありませんので。
Job ArrangerのServerとAgentを5.0.1に変更したとの意図です。
Managerは5.1.0のままです。
また、Job ArrangerのServerとAgentが5.1.0の時に、Managerのバージョンを5.0.0と5.1.0の両方で動作検証をしましたが、どちらのバージョンでも黄色表示のままで止まりました。
Job ArrangerのServerとAgentが5.0.1の時は、Managerのバージョンが5.0.0と5.1.0の両方で正常完了することを確認しました。
正常完了環境と上記事象発生環境の正確なバージョン情報(JobArrangerはServerとAgent、Zabbix、DB含め)を頂けますでしょうか?
Server、Agent環境では以下のコマンド結果を拝見できると助かります。
以下がバージョン情報になります(Job Arranger Managerはともに5.1.0)。
・正常完了環境
[root@host ~]# rpm -qa | grep job
jobarranger-server-postgresql-5.0.1-1.el8.x86_64
jobarranger-agentd-5.0.1-1.el8.x86_64
[root@host ~]# rpm -qa | grep zabbix
zabbix-web-5.0.21-1.el8.noarch
zabbix-web-deps-5.0.21-1.el8.x86_64
zabbix-sender-5.0.21-1.el8.x86_64
zabbix-release-5.0-1.el8.noarch
zabbix-apache-conf-5.0.21-1.el8.noarch
zabbix-agent-5.0.21-1.el8.x86_64
zabbix-web-pgsql-5.0.21-1.el8.noarch
zabbix-web-japanese-5.0.21-1.el8.noarch
zabbix-java-gateway-5.0.21-1.el8.x86_64
zabbix-server-pgsql-5.0.21-1.el8.x86_64
[root@host ~]# rpm -qa | grep postgresql12
postgresql12-libs-12.10-1PGDG.rhel8.x86_64
postgresql12-12.10-1PGDG.rhel8.x86_64
postgresql12-server-12.10-1PGDG.rhel8.x86_64
・上記事象発生環境
[root@host ~]# rpm -qa | grep job
jobarranger-server-postgresql-5.1.0-1.el8.x86_64
jobarranger-agentd-5.1.0-1.el8.x86_64
[root@host ~]# rpm -qa | grep zabbix
zabbix-web-5.0.21-1.el8.noarch
zabbix-web-deps-5.0.21-1.el8.x86_64
zabbix-sender-5.0.21-1.el8.x86_64
zabbix-release-5.0-1.el8.noarch
zabbix-apache-conf-5.0.21-1.el8.noarch
zabbix-agent-5.0.21-1.el8.x86_64
zabbix-web-pgsql-5.0.21-1.el8.noarch
zabbix-web-japanese-5.0.21-1.el8.noarch
zabbix-java-gateway-5.0.21-1.el8.x86_64
zabbix-server-pgsql-5.0.21-1.el8.x86_64
[root@host ~]# rpm -qa | grep postgresql12
postgresql12-libs-12.10-1PGDG.rhel8.x86_64
postgresql12-12.10-1PGDG.rhel8.x86_64
postgresql12-server-12.10-1PGDG.rhel8.x86_64
Updated by Anonymous over 2 years ago
ご確認有難うございました。
追加で確認させてください。以下の2ケースで利用したDBは同じですか?
・Job ArrangerのServerとAgentが5.1.0の時
・Job ArrangerのServerとAgentが5.0.1の時
Updated by Anonymous over 2 years ago
ご回答ありがとうございます。
追加で確認させてください。以下の2ケースで利用したDBは同じですか?
・Job ArrangerのServerとAgentが5.1.0の時
・Job ArrangerのServerとAgentが5.0.1の時
それぞれ5.1.0と5.0.1の時でDBを構築していますので、共有はしていません。
(DBのバージョンは同じです)
Updated by Anonymous over 2 years ago
問題の起きているDBをOKなJAZ serverのDBに指定して(Managerも同じDBを指して)確認願えませんか?
jobarg_server.confで使用するDBを指定できますので。
最初に回答しました通り、DBのデータに不整合が起きているように思われる為です。
よろしくお願いいたします
Updated by Anonymous over 2 years ago
ご回答ありがとうございます。
問題の起きているDBをOKなJAZ serverのDBに指定して(Managerも同じDBを指して)確認願えませんか?
5.1.0のDBの向け先を5.0.1のDBに設定し、テスト用のジョブを実行させてみると、実行対象ジョブが黄色表示のままで止まることなく、正常終了することを確認できました。
DBはjob arrangerが5.0.1と5.1.0の時で同手順で構築しているので、初期段階では同じ状態です。
Updated by Anonymous over 2 years ago
5.1.0のDBの向け先を5.0.1のDBに設定し、テスト用のジョブを実行させてみると、実行対象ジョブが黄色表示のままで止まることなく、正常終了することを確認できました。
ご確認有難うございました。
DBはjob arrangerが5.0.1と5.1.0の時で同手順で構築しているので、初期段階では同じ状態です。
初期段階では同じ状態ですが、その後のジョブネットの実行で作られたデータに不整合が生じたと思われます。
通常のジョブネット実行では問題が出ることはありませんが、特殊なケースで発生した事例はあります。
JAZのデータを直に操作した場合は、基本サポート対象外となりますので、
こうした場合は事前に設定データをエキスポートし、データ初期化、設定のインポートをお願いいたします。
以上よろしくお願いいたします。
Updated by Anonymous over 2 years ago
初期段階では同じ状態ですが、その後のジョブネットの実行で作られたデータに不整合が生じたと思われます。
通常のジョブネット実行では問題が出ることはありませんが、特殊なケースで発生した事例はあります。
今回が特殊なケースなのかは分かりませんが、5.0.1で正常動作したものが、5.1.0では異常動作しています。
DBのデータに不整合が生じていることは分かりましたが、5.0.1では異常がないのに、バージョンアップした5.1.0では発生する根本的な原因は何だと推測されますでしょうか。
Updated by Anonymous over 2 years ago
理由は「実行データ」の生成状況の違いと思われます。
頂きましたログに「ja_run_jobnet_summary_table」が表示されております。
これは、ジョブネットを実行する際に作成されるデータテーブル群(実行データ)の一つです。
この「実行データ」は複数のテーブルデータにより生成され、ジョブネット毎に整合性が維持されているものです。
稀にジョブネットの実行でのエラー発生状況や、何らかの不正なオペレーションでこの実行データが不正な状態になることがあります。
おそらくこれによるデータに不整合の発生と思われます。
速やかな返信・対応のためにサポート契約をご検討頂ければ幸甚です。
宜しくお願い致します。