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