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 2022/12/19 07:30:00 UTC
[jira] [Updated] (IGNITE-18410) Put data to metastorage during some components start leads to assertion error
[ https://issues.apache.org/jira/browse/IGNITE-18410?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mirza Aliev updated IGNITE-18410:
---------------------------------
Description:
When we was developing https://issues.apache.org/jira/browse/IGNITE-18087 some tests on restart started to fail on the assertion
{code:java}
assert rev >= appliedRevision : IgniteStringFormatter.format(
{code}
in {{ConfigurationCatchUpListener}}.
It means that we have inconsistency when we compare storage revision from configuration and revision from the event. Needed to investigate.
UPD:
We made a fix in `DistributedConfigurationStorage#resolveRevision` and added `else` section were we initialised master key with 0 when there was no changes in configuration, but some puts to the metastorage were done, so the `DistributedConfigurationStorage#resolveRevision` method return wron non null revision for the configuration. But seems that this is not enough and we still get some failed tests.
We fail we the assertion
{code:java}
assert data.isEmpty() || cfgRevision > 0;
{code}
in `DistributedConfigurationStorage#readDataOnRecovery0` (see muted test `ItDistributedConfigurationStorageTest#testRestartWithPds`)
or get exception
{code:java}
if (revision <= appliedRevision) {
throw new MetaStorageException(DEPLOYING_WATCH_ERR, String.format(
"Current revision (%d) must be greater than the revision in the Vault (%d)",
revision, appliedRevision
));
}
{code}
in
MetaStorageManager#storeEntries (see muted test `ItTablesApiTest#testGetTableFromLaggedNode`)
was:
When we was developing https://issues.apache.org/jira/browse/IGNITE-18087 some tests on restart started to fail on the assertion
{code:java}
assert rev >= appliedRevision : IgniteStringFormatter.format(
{code}
in {{ConfigurationCatchUpListener}}.
It means that we have inconsistency when we compare storage revision from configuration and revision from the event. Needed to investigate.
> Put data to metastorage during some components start leads to assertion error
> -----------------------------------------------------------------------------
>
> Key: IGNITE-18410
> URL: https://issues.apache.org/jira/browse/IGNITE-18410
> Project: Ignite
> Issue Type: Bug
> Reporter: Mirza Aliev
> Priority: Major
> Labels: ignite-3
>
> When we was developing https://issues.apache.org/jira/browse/IGNITE-18087 some tests on restart started to fail on the assertion
> {code:java}
> assert rev >= appliedRevision : IgniteStringFormatter.format(
> {code}
> in {{ConfigurationCatchUpListener}}.
> It means that we have inconsistency when we compare storage revision from configuration and revision from the event. Needed to investigate.
> UPD:
> We made a fix in `DistributedConfigurationStorage#resolveRevision` and added `else` section were we initialised master key with 0 when there was no changes in configuration, but some puts to the metastorage were done, so the `DistributedConfigurationStorage#resolveRevision` method return wron non null revision for the configuration. But seems that this is not enough and we still get some failed tests.
> We fail we the assertion
> {code:java}
> assert data.isEmpty() || cfgRevision > 0;
> {code}
> in `DistributedConfigurationStorage#readDataOnRecovery0` (see muted test `ItDistributedConfigurationStorageTest#testRestartWithPds`)
> or get exception
> {code:java}
> if (revision <= appliedRevision) {
> throw new MetaStorageException(DEPLOYING_WATCH_ERR, String.format(
> "Current revision (%d) must be greater than the revision in the Vault (%d)",
> revision, appliedRevision
> ));
> }
> {code}
> in
> MetaStorageManager#storeEntries (see muted test `ItTablesApiTest#testGetTableFromLaggedNode`)
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)