Hi guys,
Does anybody know what's the reason for disabling *@QuerySqlField* and *@AffinityKeyMapped* annotations on methods in *Ignite 2.1* ? Just found two JIRA tickets for this, but there are no details there: https://issues.apache.org/jira/browse/IGNITE-5036 https://issues.apache.org/jira/browse/IGNITE-4950 The problem is that this implementation brakes backward compatibility for previous deployments utilizing Ignite-Cassandra module and POJO classes using such annotations. Igor |
Igor,
As far as I know, we are not going to have a requirement for user classes on the server side. Since the server is not aware about the classes, then method annotations do not make sense anymore. According to the tickets, the change has been introduced in 2.0, so it was OK to break backward compatibility where necessary. D. On Thu, May 25, 2017 at 10:32 PM, Igor Rudyak <[hidden email]> wrote: > Hi guys, > > Does anybody know what's the reason for disabling *@QuerySqlField* and > *@AffinityKeyMapped* annotations on methods in *Ignite 2.1* ? > > Just found two JIRA tickets for this, but there are no details there: > > https://issues.apache.org/jira/browse/IGNITE-5036 > https://issues.apache.org/jira/browse/IGNITE-4950 > > The problem is that this implementation brakes backward compatibility for > previous deployments utilizing Ignite-Cassandra module and POJO classes > using such annotations. > > Igor > |
Igor,
One more reason why we disallowed both annotations on methods is that binary objects doesn't have "method" concept, it only has fields. As binary mode is the default one it doesn't make sense to allow these annotations on methods any more. On Fri, May 26, 2017 at 8:57 AM, Dmitriy Setrakyan <[hidden email]> wrote: > Igor, > > As far as I know, we are not going to have a requirement for user classes > on the server side. Since the server is not aware about the classes, then > method annotations do not make sense anymore. > > According to the tickets, the change has been introduced in 2.0, so it was > OK to break backward compatibility where necessary. > > D. > > On Thu, May 25, 2017 at 10:32 PM, Igor Rudyak <[hidden email]> wrote: > > > Hi guys, > > > > Does anybody know what's the reason for disabling *@QuerySqlField* and > > *@AffinityKeyMapped* annotations on methods in *Ignite 2.1* ? > > > > Just found two JIRA tickets for this, but there are no details there: > > > > https://issues.apache.org/jira/browse/IGNITE-5036 > > https://issues.apache.org/jira/browse/IGNITE-4950 > > > > The problem is that this implementation brakes backward compatibility for > > previous deployments utilizing Ignite-Cassandra module and POJO classes > > using such annotations. > > > > Igor > > > |
If binary objects is the only option starting from Ignite 2.0 than it makes
sense. If we still support regular java objects, than it looks a bit confusing to disallowing such annotations. Especially if they don't break anything. Igor On May 26, 2017 12:55 AM, "Vladimir Ozerov" <[hidden email]> wrote: Igor, One more reason why we disallowed both annotations on methods is that binary objects doesn't have "method" concept, it only has fields. As binary mode is the default one it doesn't make sense to allow these annotations on methods any more. On Fri, May 26, 2017 at 8:57 AM, Dmitriy Setrakyan <[hidden email]> wrote: > Igor, > > As far as I know, we are not going to have a requirement for user classes > on the server side. Since the server is not aware about the classes, then > method annotations do not make sense anymore. > > According to the tickets, the change has been introduced in 2.0, so it was > OK to break backward compatibility where necessary. > > D. > > On Thu, May 25, 2017 at 10:32 PM, Igor Rudyak <[hidden email]> wrote: > > > Hi guys, > > > > Does anybody know what's the reason for disabling *@QuerySqlField* and > > *@AffinityKeyMapped* annotations on methods in *Ignite 2.1* ? > > > > Just found two JIRA tickets for this, but there are no details there: > > > > https://issues.apache.org/jira/browse/IGNITE-5036 > > https://issues.apache.org/jira/browse/IGNITE-4950 > > > > The problem is that this implementation brakes backward compatibility > > previous deployments utilizing Ignite-Cassandra module and POJO classes > > using such annotations. > > > > Igor > > > |
On Fri, May 26, 2017 at 8:29 AM, Igor Rudyak <[hidden email]> wrote:
> If binary objects is the only option starting from Ignite 2.0 than it makes > sense. > > If we still support regular java objects, than it looks a bit confusing to > disallowing such annotations. Especially if they don't break anything. > We still support regular objects, but we cannot allow annotations that only work half of the time. I think it is best to only use field annotation and have them work 100% of the time. > > > On May 26, 2017 12:55 AM, "Vladimir Ozerov" <[hidden email]> wrote: > > Igor, > > One more reason why we disallowed both annotations on methods is that > binary objects doesn't have "method" concept, it only has fields. As binary > mode is the default one it doesn't make sense to allow these annotations on > methods any more. > > On Fri, May 26, 2017 at 8:57 AM, Dmitriy Setrakyan <[hidden email]> > wrote: > > > Igor, > > > > As far as I know, we are not going to have a requirement for user classes > > on the server side. Since the server is not aware about the classes, then > > method annotations do not make sense anymore. > > > > According to the tickets, the change has been introduced in 2.0, so it > was > > OK to break backward compatibility where necessary. > > > > D. > > > > On Thu, May 25, 2017 at 10:32 PM, Igor Rudyak <[hidden email]> wrote: > > > > > Hi guys, > > > > > > Does anybody know what's the reason for disabling *@QuerySqlField* and > > > *@AffinityKeyMapped* annotations on methods in *Ignite 2.1* ? > > > > > > Just found two JIRA tickets for this, but there are no details there: > > > > > > https://issues.apache.org/jira/browse/IGNITE-5036 > > > https://issues.apache.org/jira/browse/IGNITE-4950 > > > > > > The problem is that this implementation brakes backward compatibility > for > > > previous deployments utilizing Ignite-Cassandra module and POJO classes > > > using such annotations. > > > > > > Igor > > > > > > |
I even think that we should remove Marshaller interface at all in future
major release and use only binary. Too many things just work without BinaryMarshaller. We cannot afford non-binary Marshallers any more. пт, 26 мая 2017 г. в 21:49, Dmitriy Setrakyan <[hidden email]>: > On Fri, May 26, 2017 at 8:29 AM, Igor Rudyak <[hidden email]> wrote: > > > If binary objects is the only option starting from Ignite 2.0 than it > makes > > sense. > > > > If we still support regular java objects, than it looks a bit confusing > to > > disallowing such annotations. Especially if they don't break anything. > > > > We still support regular objects, but we cannot allow annotations that only > work half of the time. I think it is best to only use field annotation and > have them work 100% of the time. > > > > > > > > On May 26, 2017 12:55 AM, "Vladimir Ozerov" <[hidden email]> > wrote: > > > > Igor, > > > > One more reason why we disallowed both annotations on methods is that > > binary objects doesn't have "method" concept, it only has fields. As > binary > > mode is the default one it doesn't make sense to allow these annotations > on > > methods any more. > > > > On Fri, May 26, 2017 at 8:57 AM, Dmitriy Setrakyan < > [hidden email]> > > wrote: > > > > > Igor, > > > > > > As far as I know, we are not going to have a requirement for user > classes > > > on the server side. Since the server is not aware about the classes, > then > > > method annotations do not make sense anymore. > > > > > > According to the tickets, the change has been introduced in 2.0, so it > > was > > > OK to break backward compatibility where necessary. > > > > > > D. > > > > > > On Thu, May 25, 2017 at 10:32 PM, Igor Rudyak <[hidden email]> > wrote: > > > > > > > Hi guys, > > > > > > > > Does anybody know what's the reason for disabling *@QuerySqlField* > and > > > > *@AffinityKeyMapped* annotations on methods in *Ignite 2.1* ? > > > > > > > > Just found two JIRA tickets for this, but there are no details there: > > > > > > > > https://issues.apache.org/jira/browse/IGNITE-5036 > > > > https://issues.apache.org/jira/browse/IGNITE-4950 > > > > > > > > The problem is that this implementation brakes backward compatibility > > for > > > > previous deployments utilizing Ignite-Cassandra module and POJO > classes > > > > using such annotations. > > > > > > > > Igor > > > > > > > > > > |
On Fri, May 26, 2017 at 12:01 PM, Vladimir Ozerov <[hidden email]>
wrote: > I even think that we should remove Marshaller interface at all in future > major release and use only binary. Too many things just work without > BinaryMarshaller. We cannot afford non-binary Marshallers any more. > Agree, but let's Deprecate it, not remove. пт, 26 мая 2017 г. в 21:49, Dmitriy Setrakyan <[hidden email]>: > > > On Fri, May 26, 2017 at 8:29 AM, Igor Rudyak <[hidden email]> wrote: > > > > > If binary objects is the only option starting from Ignite 2.0 than it > > makes > > > sense. > > > > > > If we still support regular java objects, than it looks a bit confusing > > to > > > disallowing such annotations. Especially if they don't break anything. > > > > > > > We still support regular objects, but we cannot allow annotations that > only > > work half of the time. I think it is best to only use field annotation > and > > have them work 100% of the time. > > > > > > > > > > > > > On May 26, 2017 12:55 AM, "Vladimir Ozerov" <[hidden email]> > > wrote: > > > > > > Igor, > > > > > > One more reason why we disallowed both annotations on methods is that > > > binary objects doesn't have "method" concept, it only has fields. As > > binary > > > mode is the default one it doesn't make sense to allow these > annotations > > on > > > methods any more. > > > > > > On Fri, May 26, 2017 at 8:57 AM, Dmitriy Setrakyan < > > [hidden email]> > > > wrote: > > > > > > > Igor, > > > > > > > > As far as I know, we are not going to have a requirement for user > > classes > > > > on the server side. Since the server is not aware about the classes, > > then > > > > method annotations do not make sense anymore. > > > > > > > > According to the tickets, the change has been introduced in 2.0, so > it > > > was > > > > OK to break backward compatibility where necessary. > > > > > > > > D. > > > > > > > > On Thu, May 25, 2017 at 10:32 PM, Igor Rudyak <[hidden email]> > > wrote: > > > > > > > > > Hi guys, > > > > > > > > > > Does anybody know what's the reason for disabling *@QuerySqlField* > > and > > > > > *@AffinityKeyMapped* annotations on methods in *Ignite 2.1* ? > > > > > > > > > > Just found two JIRA tickets for this, but there are no details > there: > > > > > > > > > > https://issues.apache.org/jira/browse/IGNITE-5036 > > > > > https://issues.apache.org/jira/browse/IGNITE-4950 > > > > > > > > > > The problem is that this implementation brakes backward > compatibility > > > for > > > > > previous deployments utilizing Ignite-Cassandra module and POJO > > classes > > > > > using such annotations. > > > > > > > > > > Igor > > > > > > > > > > > > > > > |
Free forum by Nabble | Edit this page |