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

Ilya Kasnacheev commented on IGNITE-6528:
-----------------------------------------

[~tledkov-gridgain] I have removed unused import and fixed message format.

Yes iteration over all types is wasteful. We could do hard throttling to make 
sure that we only ever report warning once per cache, but this will require 
adding a transient boolean flag to some unrelated class to carry this info 
around.

> Warning if no table for BinaryObject
> ------------------------------------
>
>                 Key: IGNITE-6528
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6528
>             Project: Ignite
>          Issue Type: Improvement
>          Components: binary, cache, sql
>            Reporter: Mikhail Cherkasov
>            Assignee: Ilya Kasnacheev
>            Priority: Major
>
> I've seen several times that due wrong cache configuration people can't find 
> data in cache and blame Ignite that it's buggy and doesn't work.
> And it's very difficult to find an error in the code, especially if you don't 
> have reach experience with Ignite.
> The problem is that we don't have strong typing when defining QueryEntriy and 
> a user can use an arbitrary string id to
> define a type, but he should use the same string id to obtain binary object 
> builder, however, people sometimes confusing this.
> So the user can define QueryEntity with value type:  
> queryEntity.setValueType("MyCoolName") and 
> later put to cache the following binary object: 
> ignite.binary.toBinary(value), but this object won't be indexed, because
> ignite.binary.toBinary uses class name as string id while indexing expects to 
> find "MyCoolName" as id.
> The example is simple and the error is obvious when you see this two lines 
> close to each other, however, in real life, cache definition and data 
> ingestion are separated by tons of code.
> We can save a lot of man-hours for our users if Ignite will print a warning 
> If a cache has a configured QE and user puts BinaryObject with typeName which 
> doesn't correspond to any QE.
> The warning should be printed only once, something like:
> [WARN] No table is found for %typeName% binary object.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to