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

Evgeny Stanilovsky updated IGNITE-18848:
----------------------------------------
    Fix Version/s: 3.2
                       (was: 3.1)

> Error handling for RO transactions on rebalance
> -----------------------------------------------
>
>                 Key: IGNITE-18848
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18848
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Kirill Tkalenko
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.2
>
>
> After the rebalancing of storages 
> ({*}org.apache.ignite.internal.storage.MvPartitionStorage{*} and 
> {*}org.apache.ignite.internal.tx.storage.state.TxStateStorage{*}) has begun 
> and before it is completed, the methods for reading and cursors will throw 
> exceptions *org.apache.ignite.internal.storage.StorageRebalanceException* and 
> {*}org.apache.ignite.lang.IgniteInternalException{*}(with 
> {*}org.apache.ignite.lang.ErrorGroups.Transactions#TX_STATE_STORAGE_REBALANCE_ERR{*}),
>  so RO transactions may fall with errors and you need to handle this somehow.
> h3. Upd
> As for *StorageRebalanceException* we can remap the request to some other 
> node and continue data retrieval from the there. It’s an open question of how 
> to move the cursor, or in other words continue the iteration from the 
> position we’ve propagated to the user. As a naive solution we can cnt the 
> amount of rows returned to the user and skip exact amount on cursor 
> recreation. Better solutions required.
> As for *IgniteInternalException* for TxnStateStorage, it seems to be about 
> writeIntent resolution only, so we should retry the resolution request to new 
> node. PD may help here.



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

Reply via email to