You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Timotheus Preisinger (Jira)" <ji...@apache.org> on 2021/10/26 17:55: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=17434494#comment-17434494 ] 

Timotheus Preisinger commented on IGNITE-15820:
-----------------------------------------------

Would you act as reviewrer, [~ptupitsyn]?

> 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
>  Remaining Estimate: 1h
>
> 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)