Handling of @AffinityKeyMapped and @QuerySqlField annotations in Cassandra store

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Handling of @AffinityKeyMapped and @QuerySqlField annotations in Cassandra store

Vladimir Ozerov
Hi Igor,

During API stabilization and improvement for Apache Ignite 2.0 we
restricted usage of @AffinityKeyMapped and @QuerySqlField annotations to
fields only, because annotations on method level are not supported by
BinaryMarshaller (which is default) and goes against our general approach
of having no user classes on server.

This affected Cassandra store as it relied on these annotations in several
places. I propose the following plan:
1) Remove handling of these annotations from Cassandra module in 2.0 as it
no longer work anyway.
2) Define new Cassandra-specific annotations and return this logic in AI
2.1.

The main idea is that both mentioned annotations were created for different
purpose, and their usage in Cassandra module appears to be wrong. We need
to have different annotations for this.

Thoughts?

Vladimir.
Reply | Threaded
Open this post in threaded view
|

Re: Handling of @AffinityKeyMapped and @QuerySqlField annotations in Cassandra store

Valentin Kulichenko
I agree. Using @QuerySqlField in Cassandra store seems to be incorrect
design decision in the first place.

-Val

On Tue, Apr 25, 2017 at 2:22 PM, Vladimir Ozerov <[hidden email]>
wrote:

> Hi Igor,
>
> During API stabilization and improvement for Apache Ignite 2.0 we
> restricted usage of @AffinityKeyMapped and @QuerySqlField annotations to
> fields only, because annotations on method level are not supported by
> BinaryMarshaller (which is default) and goes against our general approach
> of having no user classes on server.
>
> This affected Cassandra store as it relied on these annotations in several
> places. I propose the following plan:
> 1) Remove handling of these annotations from Cassandra module in 2.0 as it
> no longer work anyway.
> 2) Define new Cassandra-specific annotations and return this logic in AI
> 2.1.
>
> The main idea is that both mentioned annotations were created for different
> purpose, and their usage in Cassandra module appears to be wrong. We need
> to have different annotations for this.
>
> Thoughts?
>
> Vladimir.
>