[
https://issues.apache.org/jira/browse/IGNITE-20047?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Steshin updated IGNITE-20047:
--------------------------------------
Description:
NPE can occur in
{code:java}
/** {@inheritDoc} */
@Override public void updateEvictedPages(int delta) {
A.ensure(delta > 0, "param must be positive");
if (evictedPagesCounter() != null)
evictedPagesCounter().addAndGet(delta);
}
{code}
because evictedPagesCounter is already null. `clearCounters()` is invoked in
_markCheckpointEnd()_. But it is possible that the counter is being updated.
Could corrupt PDS if the process failed when checkpoint end marker is saved but
the page is not yet.
Probably, happens with the _DelayedDirtyPageStoreWrite_ /
_DelayedDirtyPageStoreWrite_. Found in the defragmentation process. But it
seems to be a common problem. Logs attached.
was:
NPE can occur in
{code:java}
/** {@inheritDoc} */
@Override public void updateEvictedPages(int delta) {
A.ensure(delta > 0, "param must be positive");
if (evictedPagesCounter() != null)
evictedPagesCounter().addAndGet(delta);
}
{code}
because evictedPagesCounter is already null. `clearCounters()` is invoked in
_markCheckpointEnd()_. But it is possible that the counter is being updated.
Could corrupt PDS if process failed when checkpoint end marker is saved but the
page is not yet.
Probably, happens with the _DelayedDirtyPageStoreWrite_ /
_DelayedDirtyPageStoreWrite_. Found in the defragmentation process. But it
seems to be a common problem. Logs attached.
> NPE in evicted pages counter of the checkpoint progress.
> --------------------------------------------------------
>
> Key: IGNITE-20047
> URL: https://issues.apache.org/jira/browse/IGNITE-20047
> Project: Ignite
> Issue Type: Bug
> Reporter: Vladimir Steshin
> Priority: Major
> Attachments: failureNPE.log, npe_failure2.log
>
>
> NPE can occur in
> {code:java}
> /** {@inheritDoc} */
> @Override public void updateEvictedPages(int delta) {
> A.ensure(delta > 0, "param must be positive");
> if (evictedPagesCounter() != null)
> evictedPagesCounter().addAndGet(delta);
> }
> {code}
> because evictedPagesCounter is already null. `clearCounters()` is invoked in
> _markCheckpointEnd()_. But it is possible that the counter is being updated.
> Could corrupt PDS if the process failed when checkpoint end marker is saved
> but the page is not yet.
> Probably, happens with the _DelayedDirtyPageStoreWrite_ /
> _DelayedDirtyPageStoreWrite_. Found in the defragmentation process. But it
> seems to be a common problem. Logs attached.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)