You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Taras Ledkov (JIRA)" <ji...@apache.org> on 2018/05/04 07:54:00 UTC

[jira] [Comment Edited] (IGNITE-6528) Warning if no table for BinaryObject

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

Taras Ledkov edited comment on IGNITE-6528 at 5/4/18 7:53 AM:
--------------------------------------------------------------

[~ilyak], the patch looks good.
My comments:
1. Please remove unused import
2. Please change log message format at the {{GridQueryProcessor#store}} according with Coding Guidelines *String Output*.
3. Has the patch already discussed? I'm afraid of the functionality cannot be disabled except total log disable. Also in some cases an each insert may produces iteration over *ALL* registered types.


was (Author: tledkov-gridgain):
[~ilyak], the patch looks good.
My comments:
1. Please remove unused import
2. Please change log message format at the {{GridQueryProcessor#store}} according with Coding Guidelines *String Output*.

> 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)