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)