Andrey Mashenkov created IGNITE-15901:
-----------------------------------------

             Summary: Drop Live schema support.
                 Key: IGNITE-15901
                 URL: https://issues.apache.org/jira/browse/IGNITE-15901
             Project: Ignite
          Issue Type: Bug
            Reporter: Andrey Mashenkov


h3. Motivation.

The Live-schema concept looks like a very disputable thing. It may cause 
unwanted schema change if a new/outdated/broken client puts the data to the 
grid. Implicit schema changes may lead to unpredicted behaviour from the user 
perspective.

In most cases, user application and schema are mutually dependent things. Thus, 
the application model and schema must be changed consistently.
In the general case, it is impossible to keep the consistency and the decision 
on that must be taken on the user side.

Actually, there are 2 different use cases for the schema-last approach:
* The first one, when a user creates a table without specifying a schema and 
Ignite automatically create the initial schema version on the first 'put' 
operation. This may be useful for PoC or tests.
* The second one, when a user changes data model classes, and Ignite update the 
schema implicitly on the next 'put' operation to make schema match the new data 
model. Here are many limitations we can do transparently without any additional 
configuration from the user side.

Thus, the first case may be a not too bad idea. However, the second case looks 
error-prone.

h3. Suggestion.
Drop LiveSchema mode and remove all the code related to this unless we will 
clear explanation on how it should work and how a user should use it.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to