[ 
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)

Reply via email to