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

Roman Puchkovskiy updated IGNITE-19276:
---------------------------------------
    Description: 
IGNITE-19692 defines a mechanism for executing operations on each partition of 
a table in a resilient way. It should be implemented so that we can build an 
index and switch it to an active state when it's built on all partitions. This 
will allow implement what IGNITE-18539 states:
{code:java}
when index is created, we also create a table somewhere that looks similar to 
this:

indexCompletion.<indexId>.0 = false
...
indexCompletion.<indexId>.N = false  {code}
This part has not been implemented, and it's separated into another issue.

h3. Things to consider
 * RAFT replica listener node may die after sending last "build index" command, 
thus not updating, so new replica listener must compare states of indexes in 
schema with states of indexes in storage.

  was:
IGNITE-18539 states:
{code:java}
when index is created, we also create a table somewhere that looks similar to 
this:

indexCompletion.<indexId>.0 = false
...
indexCompletion.<indexId>.N = false  {code}
This part has not been implemented, and it's separated into another issue.

Depending on the catalog service implementation, this data must either go to 
meta-storage directly, or into a corresponding section in private configuration.
h3. Things to consider
 * RAFT replica listener node may die after sending last "build index" command, 
thus not updating, so new replica listener must compare states of indexes in 
schema with states of indexes in storage.
 * One of nodes must create new schema version when all partitions are built. 
Choosing such node is a hard problem, so we can simply ask all nodes to do this 
operation, making it idempotent and expecting that one of them would win. This 
part requires careful thinking about the specifics.


> Implement a mechanism to build indices distributively
> -----------------------------------------------------
>
>                 Key: IGNITE-19276
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19276
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Ivan Bessonov
>            Priority: Major
>              Labels: ignite-3
>
> IGNITE-19692 defines a mechanism for executing operations on each partition 
> of a table in a resilient way. It should be implemented so that we can build 
> an index and switch it to an active state when it's built on all partitions. 
> This will allow implement what IGNITE-18539 states:
> {code:java}
> when index is created, we also create a table somewhere that looks similar to 
> this:
> indexCompletion.<indexId>.0 = false
> ...
> indexCompletion.<indexId>.N = false  {code}
> This part has not been implemented, and it's separated into another issue.
> h3. Things to consider
>  * RAFT replica listener node may die after sending last "build index" 
> command, thus not updating, so new replica listener must compare states of 
> indexes in schema with states of indexes in storage.



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

Reply via email to