You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Tupitsyn (Jira)" <ji...@apache.org> on 2021/11/01 13:07:00 UTC
[jira] [Commented] (IGNITE-15820) Streaming from .NET Thin Client
does not create table entries
[ https://issues.apache.org/jira/browse/IGNITE-15820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17436824#comment-17436824 ]
Pavel Tupitsyn commented on IGNITE-15820:
-----------------------------------------
[~Timotheus.Preisinger] thanks for adding the tests. I've reorganized them a bit into corresponding classes and pushed the changes to your branch - let me know if this looks good to you.
I've also triggered a build on TeamCity: https://ci.ignite.apache.org/buildConfiguration/IgniteTests24Java8_RunAll/6250756?
> Streaming from .NET Thin Client does not create table entries
> -------------------------------------------------------------
>
> Key: IGNITE-15820
> URL: https://issues.apache.org/jira/browse/IGNITE-15820
> Project: Ignite
> Issue Type: Bug
> Components: platforms, sql, streaming, thin client
> Affects Versions: 2.11
> Environment: Ignite 2.11, both as standalone (started from C#) and in Docker container
> net5
> C#
> Windows 10
> Reporter: Timotheus Preisinger
> Priority: Major
> Fix For: None
>
> Attachments: ClientDataStreamerReader.java, ClientDataStreamerReader.java, IgniteStreamingBugShowcase.zip, image-2021-10-25-09-47-15-262.png, image-2021-10-25-09-50-01-610.png
>
> Original Estimate: 1h
> Time Spent: 1h
> Remaining Estimate: 0h
>
> Binary streaming from .NET Thin Client does not create table entries visible through SQL.
> The cause seems to be an additional wrapping of the object in the Java implementation.
> * screenshot from Java debugger for STREAMING ON IIgnite OBJECT: The "val" of the DataStreamerEntry is a "BinaryObjectImpl": !image-2021-10-25-09-47-15-262.png|width=306,height=208!
> * screenshot from Java debugger for STREAMING ON IIgniteClient OBJECT: The "val" of the DataStreamerEntry is a CacheObjectImpl that holds the BinaryObjectImpl:
> !image-2021-10-25-09-50-01-610.png|width=316,height=214!
> Using the Thin Client, org.apache.ignite.internal.processors.platform.client.streamer.ClientDataStreamerReader.readCacheObject(...) is called and wraps the object read from the input stream again, no matter if it already is an instance of CacheObject.
> When calling with Thin Client, a warning is shown:
> [09:12:02,778][WARNING][data-streamer-stripe-16-#41][GridQueryProcessor] Key-value pair is not inserted into any SQL table [cacheName=cache1, val=CacheObjectImpl [val=Person [idHash=501908769, hash=-123912966, Age=34, Name=Joe], hasValBytes=true]]
> [09:12:02,779][WARNING][data-streamer-stripe-16-#41][GridQueryProcessor] ^-- Value type(s) are specified via CacheConfiguration.indexedTypes or CacheConfiguration.queryEntities
> [09:12:02,779][WARNING][data-streamer-stripe-16-#41][GridQueryProcessor] ^-- Make sure that same type(s) used when adding Object or BinaryObject to cache
> [09:12:02,779][WARNING][data-streamer-stripe-16-#41][GridQueryProcessor] ^-- Otherwise, entries will be stored in cache, but not appear as SQL Table rows
>
> Sample code and Java source code file with patch proposal is attached.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)