You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Kirill Tkalenko (Jira)" <ji...@apache.org> on 2023/04/10 08:14:00 UTC
[jira] [Created] (IGNITE-19263) Don't complete future at Checkpointer#syncUpdatedPageStores when Checkpointer shuts down
Kirill Tkalenko created IGNITE-19263:
----------------------------------------
Summary: Don't complete future at Checkpointer#syncUpdatedPageStores when Checkpointer shuts down
Key: IGNITE-19263
URL: https://issues.apache.org/jira/browse/IGNITE-19263
Project: Ignite
Issue Type: Bug
Reporter: Kirill Tkalenko
Assignee: Kirill Tkalenko
Fix For: 3.0.0-beta2
It was found that the future did not complete on the *Checkpointer* shuts down, which can lead to hangs.
*org.apache.ignite.internal.pagememory.persistence.checkpoint.Checkpointer#syncUpdatedPageStores*
{code:java}
for (int i = 0; i < checkpointThreads; i++) {
int threadIdx = i;
pageWritePool.execute(() -> {
Map.Entry<GroupPartitionId, LongAdder> entry = queue.poll();
try {
while (entry != null) {
if (shutdownNow) {
return;
}
fsyncDeltaFile(currentCheckpointProgress, entry.getKey(), entry.getValue());
entry = queue.poll();
}
futures[threadIdx].complete(null);
} catch (Throwable t) {
futures[threadIdx].completeExceptionally(t);
}
});
}
blockingSectionBegin();
try {
// Hangs there.
CompletableFuture.allOf(futures).join();
} finally {
blockingSectionEnd();
}
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)