You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Sergey Korotkov (Jira)" <ji...@apache.org> on 2023/10/02 11:21:00 UTC

[jira] [Created] (IGNITE-20528) CDC doesn't work if the "Cache objects transformation" is applied

Sergey Korotkov created IGNITE-20528:
----------------------------------------

             Summary: CDC doesn't work if the "Cache objects transformation" is applied
                 Key: IGNITE-20528
                 URL: https://issues.apache.org/jira/browse/IGNITE-20528
             Project: Ignite
          Issue Type: Bug
            Reporter: Sergey Korotkov


CDC doesn't work If some cache objects transformation is applied (see the [https://cwiki.apache.org/confluence/display/IGNITE/IEP-97+Cache+objects+transformation).|https://cwiki.apache.org/confluence/display/IGNITE/IEP-97+Cache+objects+transformation)]

ignite_cdc.sh utility produces the NPE (see below). The immediate reason of the NPE is that ignite_cdc.sh uses the reduced version of the context (StandaloneGridKernalContext), which doesn't contain the GridCacheProcessor.

 
{noformat}
[2023-10-02T10:43:32,017][ERROR][Thread-1][] Unable to convert value [CacheObjectImpl [val=null, hasValBytes=true]]
java.lang.NullPointerException: null
  at org.apache.ignite.internal.processors.cache.CacheObjectTransformerUtils.transformer(CacheObjectTransformerUtils.java:32) ~[classes/:?]
  at org.apache.ignite.internal.processors.cache.CacheObjectTransformerUtils.restoreIfNecessary(CacheObjectTransformerUtils.java:120) ~[classes/:?]
  at org.apache.ignite.internal.processors.cache.CacheObjectAdapter.valueFromValueBytes(CacheObjectAdapter.java:73) ~[classes/:?]
  at org.apache.ignite.internal.processors.cache.CacheObjectImpl.value(CacheObjectImpl.java:92) ~[classes/:?]
  at org.apache.ignite.internal.processors.cache.CacheObjectImpl.value(CacheObjectImpl.java:58) ~[classes/:?]
  at org.apache.ignite.internal.pagemem.wal.record.UnwrapDataEntry.unwrappedValue(UnwrapDataEntry.java:104) ~[classes/:?]
  at org.apache.ignite.internal.cdc.WalRecordsConsumer.lambda$static$c56580e2$1(WalRecordsConsumer.java:99) ~[classes/:?]
  at org.apache.ignite.internal.util.lang.gridfunc.TransformFilteringIterator.nextX(TransformFilteringIterator.java:119) [classes/:?]
  at org.apache.ignite.internal.util.lang.GridIteratorAdapter.next(GridIteratorAdapter.java:35) [classes/:?]
  at org.apache.ignite.internal.util.lang.gridfunc.TransformFilteringIterator.hasNextX(TransformFilteringIterator.java:85) [classes/:?]
  at org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45) [classes/:?]
  at org.apache.ignite.cdc.AbstractCdcEventsApplier.apply(AbstractCdcEventsApplier.java:71) [ignite-cdc-ext-1.0.0-SNAPSHOT.jar:?]
  at org.apache.ignite.cdc.AbstractIgniteCdcStreamer.onEvents(AbstractIgniteCdcStreamer.java:118) [ignite-cdc-ext-1.0.0-SNAPSHOT.jar:?]
  at org.apache.ignite.internal.cdc.WalRecordsConsumer.onRecords(WalRecordsConsumer.java:142) [classes/:?]
  at org.apache.ignite.internal.cdc.CdcMain.consumeSegmentActively(CdcMain.java:557) [classes/:?]
  at org.apache.ignite.internal.cdc.CdcMain.consumeWalSegmentsUntilStopped(CdcMain.java:496) [classes/:?]
  at org.apache.ignite.internal.cdc.CdcMain.runX(CdcMain.java:344) [classes/:?]
  at org.apache.ignite.internal.cdc.CdcMain.run(CdcMain.java:283) [classes/:?]
{noformat}
 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)