THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
IgniteConfiguration#cdcConsumer
- implementation of the CdcConsumer interface.IgniteConfiguration#cdcBufSize
- size of the buffer used by CDC to store captured changes. Default is (walSegCount
* walSegSize
), for the default values it is 640MB....
CdcWorker is a thread responsible for collecting WAL records, transforming them into cdc events, submitting them to the CdcConsumer
. The worker has 2 modes:
bufferMode
BUFFER_MODE
- consumes WAL records from the CdcBufferQueue
, that is filled directly from the WAL manager.archiveMode
ARCHIVE_MODE
- consumes WAL records from archived WAL segments.CdcBufferQueue
is being filled in background in this mode....
CdcConsumerState#loadWalState
.archiveMode
ARCHIVE_MODE
. It switches to the CdcBufferQueue
after:...
ReadSegment
and rolling the WAL segment, to guarantee there are no changes in the underlying buffer.ReadSegments
to the CdcWorker
.CdcWorker
checks remaining capacity and the buffer sizeWALPointer
)Queue
while nextHead is not reached.archiveMode
ARCHIVE_MODE
.Body loop (cdc-worker-thread)
bufferMode
BUFFER_MODE
:Queue
, transforms ReadSegment data to Iterator<CdcEvent>
, pushes them to CdcConsumer
.CdcConsumer
should be async then?archiveMode
ARCHIVE_MODE
:CdcMain
- await archived segmentsCdcConsumer
.bufferMode
:WALPointer
after initializationCdcConsumerState
. Policy for committing the progress: by WAL segment....