[
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)