[
https://issues.apache.org/jira/browse/IGNITE-6415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16170590#comment-16170590
]
Vladimir Ozerov commented on IGNITE-6415:
-----------------------------------------
[~al.psc], I tried to rework {{GridQueryProcessor}} to follow common code path,
but {{ALTER TABLE}} tests started to fail. They check some internal state, so
it is hard to tell whether tests are wrong or there is a bug in logic (which
could affect {{CREATE INDEX}} command). Need to investigate it further.
> ALTER TABLE: investigate why descriptor is not updated from
> GridQueryProcessor#onLocalOperationFinished
> -------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-6415
> URL: https://issues.apache.org/jira/browse/IGNITE-6415
> Project: Ignite
> Issue Type: Task
> Components: sql
> Affects Versions: 2.3
> Reporter: Vladimir Ozerov
> Assignee: Alexander Paschenko
> Fix For: 2.3
>
>
> For {{CREATE INDEX}} and {{DROP INDEX}} our DDL engine works as follows:
> 1) Update H2 structures from DDL worker thread
> 2) Then update type descriptor from
> {{GridQueryProcessor#onLocalOperationFinished}}
> For some reason {{ALTER TABLE}} handled differently, and we first update
> descriptor, then update H2. See
> {{GridQueryProcessor#processSchemaOperationLocal}}.
> Two questions:
> 1) Why descriptor is updated before H2? In this case we may endup in
> inconsistent state if H2 failed for some reason
> 2) Why we decided not to follow {{CREATE/DROP INDEX}} approach?
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)