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/25 19:17:00 UTC

[jira] [Created] (IGNITE-15820) Streaming from .NET Thin Client does not create table entries

Timotheus Preisinger created IGNITE-15820:
---------------------------------------------

             Summary: 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
             Fix For: None
         Attachments: ClientDataStreamerReader.java, IgniteStreamingBugShowcase.zip, image-2021-10-25-09-47-15-262.png, image-2021-10-25-09-50-01-610.png

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)