NSAmelchev opened a new pull request, #365:
URL: https://github.com/apache/ignite-extensions/pull/365

   ### Flaky `testWithExpiryPolicy`
   The destination receives the source's absolute expire time, so an entry that 
arrives after its TTL is dropped as already expired, and the test waits for it 
until the test timeout. In the failed run, Kafka to Ignite replication took 
~12.7 s against a 10 s TTL: each applier thread polls its partitions in turn 
with the default 3 s `kafkaConsumerPollTimeout`, and an event can wait several 
empty polls on other partitions. Tests now use a 500 ms poll timeout, both for 
the in-process streamers and for the XML configs of the `Apps` tests.
   
   ### Metadata consumer leak
   `KafkaToIgniteMetadataUpdater#close` only woke up the Kafka consumer and 
never closed it, so each streamer stop inside a running JVM leaked the consumer 
with its connection and heartbeat thread, and its member stayed in the metadata 
consumer group.
   - `close()` now calls `wakeup()` to interrupt a blocked `poll()`, then 
closes the consumer under the same lock as `updateMetadata()`, because the 
consumer is shared by the applier threads and is not thread-safe.
   - `runAppliers()` closes the updater once, in `finally`, so this covers both 
a stop by interruption and an exit after an applier failure. The call from 
`KafkaToIgniteCdcStreamerApplier#close` is removed.
   
   New test: `KafkaToIgniteMetadataUpdaterTest#testCloseLeavesGroup`.
   
   ### Behavior changes
   - The metadata consumer leaves its consumer group when the streamer stops.
   - On a stop by interruption, an applier that is still processing a batch 
with a metadata marker after the updater is closed logs `Applier error!` 
instead of exiting silently. This is a rare race and only affects how the 
streamer stops.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to