You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Kirill Tkalenko (Jira)" <ji...@apache.org> on 2023/03/24 12:37:00 UTC

[jira] [Updated] (IGNITE-19119) Prepare org.apache.ignite.internal.storage.index.IndexStorage to built index

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

Kirill Tkalenko updated IGNITE-19119:
-------------------------------------
    Summary: Prepare org.apache.ignite.internal.storage.index.IndexStorage to built index  (was: Prepare org.apache.ignite.internal.storage.index.IndexStorage to build index)

> Prepare org.apache.ignite.internal.storage.index.IndexStorage to built index
> ----------------------------------------------------------------------------
>
>                 Key: IGNITE-19119
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19119
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Kirill Tkalenko
>            Assignee: Kirill Tkalenko
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0.0-beta2
>
>
> We need to prepare the store (and its implementations) for index building.
> We need the ability to save and retrieve the row ID for which we want to build an index.
> I propose the following design:
> {code:java}
> public interface IndexStorage {
>     ...
>     /**
>      * Returns the row ID for which the index needs to be built, {@code null} means that the index building has completed.
>      *
>      * <p>If index building has not started yet, it will return {@link RowId#lowestRowId(int)}.
>      *
>      * @throws StorageException If failed to get the row ID.
>      */
>     @Nullable RowId getRowIdToBuilt();
>     /**
>      * Sets the row ID for which the index needs to be built, {@code null} means that the index is built.
>      *
>      * @apiNote This method <b>must</b> always be called inside the corresponding partition's
>      *     {@link org.apache.ignite.internal.storage.MvPartitionStorage#runConsistently} closure.
>      * 
>      * @param rowId Row ID.
>      * @throws StorageException If failed to set the row ID.
>      */
>     void setRowIdToBuilt(@Nullable RowId rowId);
> }
> {code}



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