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

Mikhail Efremov updated IGNITE-22373:
-------------------------------------
    Description: 
*Description*
After IGNITE-21805 there are redundant {{Replica#startReplica}} overload:
{code:java}
public CompletableFuture<Boolean> startReplica(
            ReplicationGroupId replicaGrpId,
            PeersAndLearners newConfiguration,
            Function<RaftGroupService, ReplicaListener> createListener,
            PendingComparableValuesTracker<Long, Void> storageIndexTracker,
            CompletableFuture<TopologyAwareRaftGroupService> newRaftClientFut
    ) { ... }
{code}
It's marked now as {{@VisibleForTesting}} and {{@Deprecated}} both and its only 
purpose is to be used in tests:
 * {{TableManagerRecoveryTest#startComponents}}
 * {{ReplicaManagerTest#testReplicaEvents}}
 * {{ItPlacementDriverReplicaSideTest#createReplicationGroup}}
 * {{ReplicaUnavailableTest#testWithReplicaStartedAfterRequestSending}}
 * {{ReplicaUnavailableTest#testWithNotReadyReplica}}

The main goal of this ticket is to delete the method and fix all its previous 
usages.

*Motivation*
There should the only one public {{Replica#startReplica}} method for 
replication group creation.

*Definition of Done*
1. Titled {{Replica#startReplica}} should be deleted.
2. All mentioned tests that called the overloaded methods should be fixed in 
favor of the single {{Replica#startReplica}} method which is called now in 
{{{}TableManager{}}}.

  was:
*Description*
After IGNITE-21805 there are redundant {{Replica#startReplica}} overload:
{code:java}
public CompletableFuture<Boolean> startReplica(
            ReplicationGroupId replicaGrpId,
            PeersAndLearners newConfiguration,
            Consumer<RaftGroupService> updateTableRaftService,
            Function<RaftGroupService, ReplicaListener> createListener,
            PendingComparableValuesTracker<Long, Void> storageIndexTracker,
            CompletableFuture<TopologyAwareRaftGroupService> newRaftClientFut
    ) { ... }
{code}
It's marked now as {{@VisibleForTesting}} and {{@Deprecated}} both and its only 
purpose is to be used in tests:
 * {{TableManagerRecoveryTest#startComponents}}
 * {{ReplicaManagerTest#testReplicaEvents}}
 * {{ItPlacementDriverReplicaSideTest#createReplicationGroup}}
 * {{ReplicaUnavailableTest#testWithReplicaStartedAfterRequestSending}}
 * {{ReplicaUnavailableTest#testWithNotReadyReplica}}

The main goal of this ticket is to delete the method and fix all its previous 
usages.

*Motivation*
There should the only one public {{Replica#startReplica}} method for 
replication group creation.

*Definition of Done*
1. Titled {{Replica#startReplica}} should be deleted.
2. All mentioned tests that called the overloaded methods should be fixed in 
favor of the single {{Replica#startReplica}} method which is called now in 
{{{}TableManager{}}}.


> Delete startReplica(ReplicationGroupId, PeersAndLearners, Function, 
> PendingComparableValuesTracker, CompletableFuture)
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-22373
>                 URL: https://issues.apache.org/jira/browse/IGNITE-22373
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Mikhail Efremov
>            Assignee: Mikhail Efremov
>            Priority: Major
>              Labels: ignite-3
>
> *Description*
> After IGNITE-21805 there are redundant {{Replica#startReplica}} overload:
> {code:java}
> public CompletableFuture<Boolean> startReplica(
>             ReplicationGroupId replicaGrpId,
>             PeersAndLearners newConfiguration,
>             Function<RaftGroupService, ReplicaListener> createListener,
>             PendingComparableValuesTracker<Long, Void> storageIndexTracker,
>             CompletableFuture<TopologyAwareRaftGroupService> newRaftClientFut
>     ) { ... }
> {code}
> It's marked now as {{@VisibleForTesting}} and {{@Deprecated}} both and its 
> only purpose is to be used in tests:
>  * {{TableManagerRecoveryTest#startComponents}}
>  * {{ReplicaManagerTest#testReplicaEvents}}
>  * {{ItPlacementDriverReplicaSideTest#createReplicationGroup}}
>  * {{ReplicaUnavailableTest#testWithReplicaStartedAfterRequestSending}}
>  * {{ReplicaUnavailableTest#testWithNotReadyReplica}}
> The main goal of this ticket is to delete the method and fix all its previous 
> usages.
> *Motivation*
> There should the only one public {{Replica#startReplica}} method for 
> replication group creation.
> *Definition of Done*
> 1. Titled {{Replica#startReplica}} should be deleted.
> 2. All mentioned tests that called the overloaded methods should be fixed in 
> favor of the single {{Replica#startReplica}} method which is called now in 
> {{{}TableManager{}}}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to