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

Alexander Lapin updated IGNITE-22467:
-------------------------------------
    Description: 
h3. Motivation

In order to implement read from backup logic it's required to provide an 
ability to retrieve assignments at best-effort manner.
h3. Definition of Done

Following method should be added to the PlacementDriver
{code:java}
/**
 * Returns the future with either newest available tokenized assignments for 
the specified replication group id or {@code null} if
 * there are no such assignments. The future will be completed after 
clusterTime (meta storage safe time) will become greater or equal
 * to the clusterTimeToAwait parameter.
 *
 * @param replicationGroupId Replication group Id.
 * @param clusterTimeToAwait Cluster time to await.
 * @return Tokenized assignments.
 */
CompletableFuture<TokenizedAssignments> getAssignments(ReplicationGroupId 
replicationGroupId, HybridTimestamp clusterTimeToAwait); {code}
TokenizedAssignments is a common set of nodes along with associated token that 
allows to easely understand whether assignments were changed or not.
{code:java}
/**
 * Set of nodes along with associated token that is guaranteed to be changed if 
the set was changed.
 */
public interface TokenizedAssignments extends Serializable {
    /** Returns a set of nodes, represented by this assignments instance. */
    Set<Assignment> nodes();

    /** Returns a token associated with given assignments that is guaranteed to 
be changed if assignments were changed. */
    long token();
} {code}

  was:TBD 


> PlacementDriver should have a method to return an assignments for a specified 
> partition
> ---------------------------------------------------------------------------------------
>
>                 Key: IGNITE-22467
>                 URL: https://issues.apache.org/jira/browse/IGNITE-22467
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Alexander Lapin
>            Assignee: Alexander Lapin
>            Priority: Major
>              Labels: ignite-3
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> In order to implement read from backup logic it's required to provide an 
> ability to retrieve assignments at best-effort manner.
> h3. Definition of Done
> Following method should be added to the PlacementDriver
> {code:java}
> /**
>  * Returns the future with either newest available tokenized assignments for 
> the specified replication group id or {@code null} if
>  * there are no such assignments. The future will be completed after 
> clusterTime (meta storage safe time) will become greater or equal
>  * to the clusterTimeToAwait parameter.
>  *
>  * @param replicationGroupId Replication group Id.
>  * @param clusterTimeToAwait Cluster time to await.
>  * @return Tokenized assignments.
>  */
> CompletableFuture<TokenizedAssignments> getAssignments(ReplicationGroupId 
> replicationGroupId, HybridTimestamp clusterTimeToAwait); {code}
> TokenizedAssignments is a common set of nodes along with associated token 
> that allows to easely understand whether assignments were changed or not.
> {code:java}
> /**
>  * Set of nodes along with associated token that is guaranteed to be changed 
> if the set was changed.
>  */
> public interface TokenizedAssignments extends Serializable {
>     /** Returns a set of nodes, represented by this assignments instance. */
>     Set<Assignment> nodes();
>     /** Returns a token associated with given assignments that is guaranteed 
> to be changed if assignments were changed. */
>     long token();
> } {code}



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

Reply via email to