[
https://issues.apache.org/jira/browse/IGNITE-15724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vyacheslav Koptilin updated IGNITE-15724:
-----------------------------------------
Description:
Currently, when the {{MetaStorageManager}} is started, the metastorage raft
group is reduced to online nodes that satisfies to the
{{metaStorageNodesContainsLocPred}}.
{code:java}
String[] metastorageNodes =
this.locCfgMgr.configurationRegistry().getConfiguration(NodeConfiguration.KEY).metastorageNodes().value();
Predicate<ClusterNode> metaStorageNodesContainsLocPred =
clusterNode -> Arrays.asList(metastorageNodes).contains(clusterNode.name());
...
List<ClusterNode> metaStorageMembers =
clusterNetSvc.topologyService().allMembers().stream()
.filter(metaStorageNodesContainsLocPred)
.collect(Collectors.toList());
{code}
That is actually a subset of required nodes. In that case, only the first node
creates the metastorage raft group, and the second one will be rejected with
the following messages:
{noformat}
[WARNING][%ITIgnitionTest_testNodesStartWithBootstrapConfiguration_3344%JRaft-Request-Processor-27][NodeImpl]
Node <metastorage_raft_group/172.24.144.1:3344> ignore PreVoteRequest from
172.24.144.1:3345 as it is not in conf <ConfigurationEntry [id=LogId [index=1,
term=1], conf=172.24.144.1:3344, oldConf=]>.
[WARNING][%ITIgnitionTest_testNodesStartWithBootstrapConfiguration_3345%JRaft-Response-Processor-1][NodeImpl]
Node <metastorage_raft_group/172.24.144.1:3345> received invalid
PreVoteResponse from 172.24.144.1:3344, term 1, expect=0.
{noformat}
It seems that this issue cannot be properly fixed until is IGNITE-14414 is
implemented. For now, we can just prohibit creating a metastorage group greater
than one node.
> MetastorageManager uses incorrect predicate in order to create corresponding
> raft group service
> -----------------------------------------------------------------------------------------------
>
> Key: IGNITE-15724
> URL: https://issues.apache.org/jira/browse/IGNITE-15724
> Project: Ignite
> Issue Type: Bug
> Reporter: Vyacheslav Koptilin
> Priority: Critical
> Labels: ignite-3
> Fix For: 3.0.0-alpha4
>
>
> Currently, when the {{MetaStorageManager}} is started, the metastorage raft
> group is reduced to online nodes that satisfies to the
> {{metaStorageNodesContainsLocPred}}.
> {code:java}
> String[] metastorageNodes =
> this.locCfgMgr.configurationRegistry().getConfiguration(NodeConfiguration.KEY).metastorageNodes().value();
> Predicate<ClusterNode> metaStorageNodesContainsLocPred =
> clusterNode ->
> Arrays.asList(metastorageNodes).contains(clusterNode.name());
> ...
>
> List<ClusterNode> metaStorageMembers =
> clusterNetSvc.topologyService().allMembers().stream()
> .filter(metaStorageNodesContainsLocPred)
> .collect(Collectors.toList());
> {code}
> That is actually a subset of required nodes. In that case, only the first
> node creates the metastorage raft group, and the second one will be rejected
> with the following messages:
> {noformat}
> [WARNING][%ITIgnitionTest_testNodesStartWithBootstrapConfiguration_3344%JRaft-Request-Processor-27][NodeImpl]
> Node <metastorage_raft_group/172.24.144.1:3344> ignore PreVoteRequest from
> 172.24.144.1:3345 as it is not in conf <ConfigurationEntry [id=LogId
> [index=1, term=1], conf=172.24.144.1:3344, oldConf=]>.
> [WARNING][%ITIgnitionTest_testNodesStartWithBootstrapConfiguration_3345%JRaft-Response-Processor-1][NodeImpl]
> Node <metastorage_raft_group/172.24.144.1:3345> received invalid
> PreVoteResponse from 172.24.144.1:3344, term 1, expect=0.
> {noformat}
> It seems that this issue cannot be properly fixed until is IGNITE-14414 is
> implemented. For now, we can just prohibit creating a metastorage group
> greater than one node.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)