[
https://issues.apache.org/jira/browse/IGNITE-22500?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roman Puchkovskiy updated IGNITE-22500:
---------------------------------------
Description:
ChangeIndexStatusTask#start() (executed when switching an index status from
REGISTERED to BUILDING) calls awaitCatalogVersionActivation() which does not
seem to be needed (we need to wait for REGISTERED to be activated on all
primaries of the table, but this will be reached anyway in
awaitFinishRwTxsBeforeCatalogVersion(), but faster).
Actually, we could do the following:
# Still call awaitCatalogVersionActivation(), but instead of using
cluster-wide ensured activation ts, just wait for the bare activationTimestamp
# Then call awaitFinishRwTxsBeforeCatalogVersion() (this will anyway make sure
that the version activates on the recipient node, but less polling will be
needed)
Also, we need to make sure we don't wait for intermediate statuses (like
BUILDING) activation.
was:
ChangeIndexStatusTask#start() (executed when switching an index status from
REGISTERED to BUILDING) calls awaitCatalogVersionActivation() which does not
seem to be needed (we need to wait for REGISTERED to be activated on all
primaries of the table, but this will be reached anyway in
awaitFinishRwTxsBeforeCatalogVersion(), but faster).
Actually, we could do the following:
# Still call awaitCatalogVersionActivation(), but instead of using
cluster-wide ensured activation ts, just wait for the bare activationTimestamp
# Then call awaitFinishRwTxsBeforeCatalogVersion() (this will anyway make sure
that the version activates on the recipient node, but less polling will be
needed)
Also, we need to make sure we don't wait for intermediate statuses (like
BUILDING) availability.
> Remove unnecessary waits when creating an index
> -----------------------------------------------
>
> Key: IGNITE-22500
> URL: https://issues.apache.org/jira/browse/IGNITE-22500
> Project: Ignite
> Issue Type: Improvement
> Reporter: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
>
> ChangeIndexStatusTask#start() (executed when switching an index status from
> REGISTERED to BUILDING) calls awaitCatalogVersionActivation() which does not
> seem to be needed (we need to wait for REGISTERED to be activated on all
> primaries of the table, but this will be reached anyway in
> awaitFinishRwTxsBeforeCatalogVersion(), but faster).
> Actually, we could do the following:
> # Still call awaitCatalogVersionActivation(), but instead of using
> cluster-wide ensured activation ts, just wait for the bare activationTimestamp
> # Then call awaitFinishRwTxsBeforeCatalogVersion() (this will anyway make
> sure that the version activates on the recipient node, but less polling will
> be needed)
> Also, we need to make sure we don't wait for intermediate statuses (like
> BUILDING) activation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)