You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Mirza Aliev (Jira)" <ji...@apache.org> on 2025/05/02 09:28:00 UTC
[jira] [Updated] (IGNITE-25281) Add test to verify node stop does not hang when MetaStorage is unavailable
[ https://issues.apache.org/jira/browse/IGNITE-25281?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mirza Aliev updated IGNITE-25281:
---------------------------------
Description:
h3. Motivation
We need to add a test that ensures a node can be stopped cleanly even when MetaStorage is unavailable.
This issue was observed in a scenario where doStableKeySwitch holds the TableManager's busyLock, preventing {{beforeNodeStop}} from completing. Additionally, a {{TimeoutException}} is thrown inside {{doStableKeySwitch}} when calling {{metaStorageMgr.invoke(...).get()}}, because the only MetaStorage node is already stopped. This exception currently leads to a call to the FailureHandler. However we have agreed to not call FH in the case of {{TimeoutException}} in the ticket https://issues.apache.org/jira/browse/IGNITE-25278. Also we have agreed to add recovery mechanism for stable switch intents after MetaStorage becomes available in https://issues.apache.org/jira/browse/IGNITE-25276
The test should reproduce general situation when MetaStorage become unavailable and confirm that the stop process completes gracefully without hanging, even if MetaStorage is down.
h3. Definition of done
* The test must be implemented
was:
h3. Motivation
We need to add a test that ensures a node can be stopped cleanly even when MetaStorage is unavailable.
This issue was observed in a scenario where doStableKeySwitch holds the TableManager's busyLock, preventing {{beforeNodeStop}} from completing. Additionally, a {{TimeoutException}} is thrown inside {{doStableKeySwitch}} when calling {{metaStorageMgr.invoke(...).get()}}, because the only MetaStorage node is already stopped. This exception currently leads to a call to the FailureHandler. However we have agreed to not call FH in the case of {{TimeoutException}} in the ticket https://issues.apache.org/jira/browse/IGNITE-25278. Also we have agreed to add recovery mechanism for stable switch intents after MetaStorage becomes available in https://issues.apache.org/jira/browse/IGNITE-25276
The test should reproduce general situation when MetaStorage become unavailable and confirm that the stop process completes gracefully without hanging, even if MetaStorage is down.
> Add test to verify node stop does not hang when MetaStorage is unavailable
> --------------------------------------------------------------------------
>
> Key: IGNITE-25281
> URL: https://issues.apache.org/jira/browse/IGNITE-25281
> Project: Ignite
> Issue Type: Bug
> Reporter: Mirza Aliev
> Priority: Major
> Labels: ignite-3
>
> h3. Motivation
> We need to add a test that ensures a node can be stopped cleanly even when MetaStorage is unavailable.
> This issue was observed in a scenario where doStableKeySwitch holds the TableManager's busyLock, preventing {{beforeNodeStop}} from completing. Additionally, a {{TimeoutException}} is thrown inside {{doStableKeySwitch}} when calling {{metaStorageMgr.invoke(...).get()}}, because the only MetaStorage node is already stopped. This exception currently leads to a call to the FailureHandler. However we have agreed to not call FH in the case of {{TimeoutException}} in the ticket https://issues.apache.org/jira/browse/IGNITE-25278. Also we have agreed to add recovery mechanism for stable switch intents after MetaStorage becomes available in https://issues.apache.org/jira/browse/IGNITE-25276
> The test should reproduce general situation when MetaStorage become unavailable and confirm that the stop process completes gracefully without hanging, even if MetaStorage is down.
> h3. Definition of done
> * The test must be implemented
--
This message was sent by Atlassian Jira
(v8.20.10#820010)