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)

Reply via email to