How to suspend Lexorank rebalance in JIRA Software Data Center
プラットフォームについて: Data Center - この記事は、Data Center プラットフォームのアトラシアン製品に適用されます。
このナレッジベース記事は製品の Data Center バージョン用に作成されています。Data Center 固有ではない機能の Data Center ナレッジベースは、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。サーバー*製品のサポートは 2024 年 2 月 15 日に終了しました。サーバー製品を利用している場合は、アトラシアンのサーバー製品のサポート終了のお知らせページにて移行オプションをご確認ください。
*Fisheye および Crucible は除く
目的
As of JIRA Software 7.2.8 or 7.3.3, JIRA Software has an API for suspending a currently running rebalance operation, and preventing any further rebalances from being scheduled.
This procedure is only supposed to be used when JIRA Software Data Centre is suffering major performance problems due to a long-running rebalance operation flooding nodes with index replication requests. Suspending the rebalance will stop feeding the reindex queue, and the cluster should eventually recover. Please do not forget to enable rebalancing during off peak hours as soon as the instance is stable again.
Do not use this process unless advised by Atlassian Support.
Once rebalance has been suspended through this API, it will not continue again until it has been explicitly enabled through the same API/database.
Terminology: Suspended vs Disabled
Balancing can be both disabled and/or suspended.
Disabled refers to a state where rebalancing has been disabled internally due to an in-progress forgreound reindex, or because JIRA Agile is shutting down. It cannot be user-controlled.
Suspended refers a state where an admin has explicitly told LexoRank to stop rebalancing. It can be user-controlled.
Rebalancing will not run if it is either disabled or suspended (i.e. both balancingDisabled and balancingSuspended must be set to 'false' for rebalance to run). In the context of this feature, we will focus on the suspended state.
ソリューション
All methods below require admin or sysadmin access for the instance.
To get the current status of rebalance, you may use this api :
GET /rest/greenhopper/1.0/lexorank/balance
curl -D- -u <Admin User>:<Admin Password> -X GET -H "Content-Type: application/json" <Base Url>/rest/greenhopper/1.0/lexorank/balance
Balance status object{ "lexoRankBalancingServiceStatus": { "balancingDisabled": false, "balancingSuspended": false, "balanceHandlerRunning": false }, "lexoRankBalancerStatus": { "balancerLocked": false, "perFieldStatus": [ { "fieldName": "Rank", "fieldId": 10005, "numRankedIssues": 10000, "percentComplete": 100, "distribution": [ 10000, 0, 0 ] } ] }, "totalIssueCount": 10000 }
Rebalancing can be either enabled or disabled with :
PUT /rest/greenhopper/1.0/lexorank/balance
例:
curl -X PUT -H "Content-Type: application/json" -d "{\"suspendBalancing\":\"true\"}" -u <Admin User> <Base Url>/rest/greenhopper/1.0/lexorank/balance
Once Lexoranking is disabled, the 'Lexorank Management UI' will display the following warning :
To re-enable rebalancing, use this call (to be performed during off peak hours when the instance is stable)
curl -X PUT -H "Content-Type: application/json" -d "{\"suspendBalancing\":\"false\"}" -u <Admin User> <Base Url>/rest/greenhopper/1.0/lexorank/balance