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

Nikolay Izhikov commented on IGNITE-7756:
-----------------------------------------

Hello, [~vozerov].

Can you, please, take a look at my changes?
It, literally, 1 line of production code.

Upsource - https://reviews.ignite.apache.org/ignite/review/IGNT-CR-499
TC - https://ci.ignite.apache.org/viewLog.html?buildId=1108157&;

> Streamer fails if IgniteUuid is indexed
> ---------------------------------------
>
>                 Key: IGNITE-7756
>                 URL: https://issues.apache.org/jira/browse/IGNITE-7756
>             Project: Ignite
>          Issue Type: Bug
>          Components: streaming
>    Affects Versions: 2.3
>            Reporter: Nikolay Izhikov
>            Assignee: Nikolay Izhikov
>            Priority: Minor
>              Labels: MakeTeamcityGreenAgain
>             Fix For: 2.5
>
>
> IgniteDataStreamer are failed to put data to the cache if IgniteUuid is 
> IndexedType.
> Spark tests in IGNITE-7227 are failed because of this issue.
> Reproducer:
> {code:java}
>     public void testStreamer() throws Exception {
>         Ignite client = grid("client");
>         CacheConfiguration ccfg = new CacheConfiguration("UUID_CACHE");
>         ccfg.setIndexedTypes(IgniteUuid.class, String.class);
>         client.createCache(ccfg);
>         try(IgniteDataStreamer<IgniteUuid, String> cache =
>                 client.dataStreamer("UUID_CACHE")) {
>             for(Integer i=0; i<2; i++)
>                 cache.addData(IgniteUuid.randomUuid(), i.toString());
>         }
>     }
> {code}
> Exception stack trace:
> {noformat}
> [23:43:35] (err) Failed to execute compound future reducer: 
> GridCompoundFuture [rdc=null, initFlag=1, lsnrCalls=0, done=false, 
> cancelled=false, err=null, futs=[true, true]][23:43:35] (err) Failed to 
> execute compound future reducer: GridCompoundFuture [rdc=null, initFlag=1, 
> lsnrCalls=0, done=false, cancelled=false, err=null, futs=[true, true]]class 
> org.apache.ignite.IgniteCheckedException: DataStreamer request failed 
> [node=57961924-82ec-4d56-81eb-1a4109a00000]
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl$Buffer.onResponse(DataStreamerImpl.java:1900)
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl$3.onMessage(DataStreamerImpl.java:344)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1554)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1182)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:125)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1089)
>       at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.run(StripedExecutor.java:499)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: class org.apache.ignite.IgniteException: Failed to set initial 
> value for cache entry
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl$IsolatedUpdater.receive(DataStreamerImpl.java:2135)
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerUpdateJob.call(DataStreamerUpdateJob.java:140)
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor.localUpdate(DataStreamProcessor.java:397)
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor.processRequest(DataStreamProcessor.java:302)
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor.access$000(DataStreamProcessor.java:59)
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor$1.onMessage(DataStreamProcessor.java:89)
>       ... 6 more
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to update 
> index, incorrect key class [expCls=org.apache.ignite.lang.IgniteUuid, 
> actualCls=org.apache.ignite.internal.binary.BinaryObjectImpl]
>       at 
> org.apache.ignite.internal.processors.query.GridQueryProcessor.typeByValue(GridQueryProcessor.java:1954)
>       at 
> org.apache.ignite.internal.processors.query.GridQueryProcessor.store(GridQueryProcessor.java:1877)
>       at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.store(GridCacheQueryManager.java:403)
>       at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.finishUpdate(IgniteCacheOffheapManagerImpl.java:1343)
>       at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1207)
>       at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:345)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.storeValue(GridCacheMapEntry.java:3527)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.initialValue(GridCacheMapEntry.java:2735)
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl$IsolatedUpdater.receive(DataStreamerImpl.java:2113)
>       ... 11 more
> class org.apache.ignite.IgniteCheckedException: DataStreamer request failed 
> [node=57961924-82ec-4d56-81eb-1a4109a00000]
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl$Buffer.onResponse(DataStreamerImpl.java:1900)
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl$3.onMessage(DataStreamerImpl.java:344)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1554)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1182)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:125)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1089)
>       at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.run(StripedExecutor.java:499)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: class org.apache.ignite.IgniteException: Failed to set initial 
> value for cache entry
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl$IsolatedUpdater.receive(DataStreamerImpl.java:2135)
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerUpdateJob.call(DataStreamerUpdateJob.java:140)
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor.localUpdate(DataStreamProcessor.java:397)
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor.processRequest(DataStreamProcessor.java:302)
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor.access$000(DataStreamProcessor.java:59)
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor$1.onMessage(DataStreamProcessor.java:89)
>       ... 6 more
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to update 
> index, incorrect key class [expCls=org.apache.ignite.lang.IgniteUuid, 
> actualCls=org.apache.ignite.internal.binary.BinaryObjectImpl]
>       at 
> org.apache.ignite.internal.processors.query.GridQueryProcessor.typeByValue(GridQueryProcessor.java:1954)
>       at 
> org.apache.ignite.internal.processors.query.GridQueryProcessor.store(GridQueryProcessor.java:1877)
>       at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.store(GridCacheQueryManager.java:403)
>       at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.finishUpdate(IgniteCacheOffheapManagerImpl.java:1343)
>       at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1207)
>       at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:345)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.storeValue(GridCacheMapEntry.java:3527)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.initialValue(GridCacheMapEntry.java:2735)
>       at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl$IsolatedUpdater.receive(DataStreamerImpl.java:2113)
>       ... 11 more
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to