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 2021/11/18 09:25:00 UTC

[jira] [Assigned] (IGNITE-15724) MetastorageManager uses incorrect predicate in order to create corresponding raft group service

     [ https://issues.apache.org/jira/browse/IGNITE-15724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mirza Aliev reassigned IGNITE-15724:
------------------------------------

    Assignee: Mirza Aliev

> 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
>            Assignee: Mirza Aliev
>            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.20.1#820001)