[jira] [Commented] (IGNITE-4408) IndexingSpi support keepBinary options

2016-12-13 Thread Valentin Kulichenko (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-4408?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15745848#comment-15745848
 ] 

Valentin Kulichenko commented on IGNITE-4408:
-

As for original issue, I don't think we really need a configuration property or 
{{withKeepBinary}} flag here. Luckily, {{IndexingSpi}} does not have generics 
and accepts objects, and I think it makes perfect sense to pass what is 
actually stored. If it's a binary object - pass a binary object. In vast 
majority of use cases user will not need a deserialized value (actually, I 
would consider this as a misuse in case binary format is used), but even if 
they do, {{deserialize()}} method is always available.

Having said that, I think we just need to get rid of deserialization step which 
we have before calling the SPI methods.

> IndexingSpi support keepBinary options
> --
>
> Key: IGNITE-4408
> URL: https://issues.apache.org/jira/browse/IGNITE-4408
> Project: Ignite
>  Issue Type: Improvement
>  Components: binary
>Affects Versions: 1.8
>Reporter: Andrew Mashenkov
>  Labels: easyfix, performance
> Fix For: 2.0
>
>
> For now key and values is being deserialized before passing to IndexingSpi. 
> This can cause performance issues in some cases and there is no way to change 
> this behavior.
> It look like we should allow to avoid deserialization and pass BinaryObjects 
> if keepBinary option is true as we do for CacheStore. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-4408) IndexingSpi support keepBinary options

2016-12-12 Thread Valentin Kulichenko (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-4408?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15742995#comment-15742995
 ] 

Valentin Kulichenko commented on IGNITE-4408:
-

There is another issue with {{IndexingSpi}}. {{IgniteCacheProxy.validate(Query 
qry)}} method throws an exception in case {{SpiQuery}} is executed and H2 
indexing is not enabled (i.e. {{indexedTypes}} and {{queryEntities}} are not 
provided). This means that currently user MUST enable H2 indexing in case they 
want to you use custom indexing SPI, which is wrong. The exception should be 
thrown only for {{SqlQuery}}, {{SqlFieldsQuery}} and {{TextQuery}}.

The fix seems to be trivial, so let's fix it in the scope of this ticket.

> IndexingSpi support keepBinary options
> --
>
> Key: IGNITE-4408
> URL: https://issues.apache.org/jira/browse/IGNITE-4408
> Project: Ignite
>  Issue Type: Improvement
>  Components: binary
>Affects Versions: 1.8
>Reporter: Andrew Mashenkov
>  Labels: easyfix, performance
> Fix For: 2.0
>
>
> For now key and values is being deserialized before passing to IndexingSpi. 
> This can cause performance issues in some cases and there is no way to change 
> this behavior.
> It look like we should allow to avoid deserialization and pass BinaryObjects 
> if keepBinary option is true as we do for CacheStore. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)