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

Roman Puchkovskiy updated IGNITE-19770:
---------------------------------------
    Description: 
According to IEP-98, when obtaining a schema at a timestamp T, we need to wait 
till Meta-Storage SafeTime becomes >= T-DD. A mechanism for such waits needs to 
be implemented.

It can be implemented either as methods like 
{{CompletableFuture<TableDefinition> table(String tableName, HybridTimestamp 
ts)}} (for each getting method) or a single method like 
{{CompletableFuture<Void> waitForTs(HybridTimestamp)}} (then usual sync methods 
to be used to get the definitions).

  was:
According to IEP-98, when obtaining a schema at a timestamp T, we need to wait 
till Meta-Storage SafeTime becomes >= T-DD. A mechanism for such waits needs to 
be implemented.

Also, we will probably need to wait for a specific version of a table/index/etc 
(or a version of a Catalog as a whole), so a way to wait for it (and not for a 
ts) is also needed.

Both can be implemented either as methods like 
{{CompletableFuture<TableDefinition> table(String tableName, HybridTimestamp 
ts)}} (for each getting method) or a single method like 
{{CompletableFuture<Void> waitForTs(HybridTimestamp)}} (then usual sync methods 
to be used to get the definitions).


> Add a mechanism to wait till a schema is available via Schema Sync at a ts
> --------------------------------------------------------------------------
>
>                 Key: IGNITE-19770
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19770
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Roman Puchkovskiy
>            Assignee: Roman Puchkovskiy
>            Priority: Major
>              Labels: iep-98, ignite-3
>             Fix For: 3.0.0-beta2
>
>
> According to IEP-98, when obtaining a schema at a timestamp T, we need to 
> wait till Meta-Storage SafeTime becomes >= T-DD. A mechanism for such waits 
> needs to be implemented.
> It can be implemented either as methods like 
> {{CompletableFuture<TableDefinition> table(String tableName, HybridTimestamp 
> ts)}} (for each getting method) or a single method like 
> {{CompletableFuture<Void> waitForTs(HybridTimestamp)}} (then usual sync 
> methods to be used to get the definitions).



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

Reply via email to