Sergey Korotkov created IGNITE-20572:
----------------------------------------
Summary: AssertionError in CDC on metadata deserialize
Key: IGNITE-20572
URL: https://issues.apache.org/jira/browse/IGNITE-20572
Project: Ignite
Issue Type: Bug
Reporter: Sergey Korotkov
CDC process terminates sometimes with the below error.
One the cases is cache creation which causes the creation of the .bin file in
the binary_meta directory. Say if custom indexed types are passed via the
CacheConfiguration.setIndexedTypes.
Looks like the race condition. CDC processed the binary meta file which is
already created but still empty.
{noformat}
[2023-10-04T22:29:32,673][ERROR][Thread-0][] Cdc error
java.lang.AssertionError: null
at
org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:302)
~[classes/:?]
at
org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:120)
~[classes/:?]
at
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:92)
~[classes/:?]
at
org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10761)
~[classes/:?]
at
org.apache.ignite.internal.processors.cache.binary.BinaryMetadataFileStore.restoreMetadata(BinaryMetadataFileStore.java:222)
~[classes/:?]
at
org.apache.ignite.internal.processors.cache.binary.BinaryMetadataFileStore.restoreMetadata(BinaryMetadataFileStore.java:216)
~[classes/:?]
at
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl.cacheMetadataLocally(CacheObjectBinaryProcessorImpl.java:1076)
~[classes/:?]
at
org.apache.ignite.internal.cdc.CdcMain.lambda$updateTypes$4(CdcMain.java:616)
~[classes/:?]
at
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[?:?]
at
java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) ~[?:?]
at
java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958) ~[?:?]
at
java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:294)
~[?:?]
at
java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206)
~[?:?]
at
java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:161)
~[?:?]
at
java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300)
~[?:?]
at java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681) ~[?:?]
at org.apache.ignite.internal.cdc.CdcMain.updateTypes(CdcMain.java:627)
~[classes/:?]
at
org.apache.ignite.internal.cdc.CdcMain.updateMetadata(CdcMain.java:588)
~[classes/:?]
at
org.apache.ignite.internal.cdc.CdcMain.consumeWalSegmentsUntilStopped(CdcMain.java:463)
~[classes/:?]
at org.apache.ignite.internal.cdc.CdcMain.runX(CdcMain.java:324)
~[classes/:?]
at org.apache.ignite.internal.cdc.CdcMain.run(CdcMain.java:266)
[classes/:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)