[ https://issues.apache.org/jira/browse/IGNITE-12853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17085048#comment-17085048 ]
Nikolay Izhikov commented on IGNITE-12853: ------------------------------------------ Moved to 2.9 Please, write a comment if you want to see the fix for this issue in 2.8.1 > ThinClient: Introduce Features for thin clients > ----------------------------------------------- > > Key: IGNITE-12853 > URL: https://issues.apache.org/jira/browse/IGNITE-12853 > Project: Ignite > Issue Type: Bug > Components: thin client > Reporter: Igor Sapego > Assignee: Igor Sapego > Priority: Major > Fix For: 2.9 > > Time Spent: 1h 40m > Remaining Estimate: 0h > > As we have a lot of different thin clients now, maintained by different > people, the issues with our backward compatibility mechanism becomes more and > more prominent. > Currently, we use protocol versioning as the only approach to provide > backward compatibility. The main issue of this approach is that we can not > skip some change in protocol and implement i.e. protocol of version 1.5 > without implementation of 1.4. There are many cases when one may want to do > so: e.g. when feature provided in 1.4 is not relevant for a specific client, > or when protocol version 1.5 contains urgent fix or feature which is easy to > implement, but its blocked by not-so-urgent and hard-to-implement feature > introduced in 1.4. > So to fix this issue I propose to introduce another backward compatibility > mechanism. The idea is to send "supported features" mask by a client to a > server, which should be answered with the same mask by the server. The > resulting set of enabled features is acquired with a simple logical "AND" > operation on these two masks. > This change has many other positive effects: > 1. It improves readability and also potentially simplifies debugging. > 2. It gives users the ability to enable or disable features of thin clients > on both server and client as they desire. -- This message was sent by Atlassian Jira (v8.3.4#803005)