[
https://issues.apache.org/jira/browse/IGNITE-6528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16501522#comment-16501522
]
Ilya Kasnacheev commented on IGNITE-6528:
-----------------------------------------
[~vozerov]
1) I should reword this probably. Query Entities take type names as strings.
It's possible to have a typo there or wrong package (or absense thereof)
2) Consistently - either present always, or absent always!
Note that it is possible to configure indexedTypes correctly and still fail to
put correct BinaryObject to cache (by creating binaryObjectBuilder of wrong
type)
And it's possible to configure queryEntities on wrong type name that never
corresponds to class.
> 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
> Fix For: 2.6
>
>
> 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)