Sergey Uttsel created IGNITE-20536:
--------------------------------------
Summary: No-op handlers for
StripedDisruptor.StripeEntryHandler#subscribers
Key: IGNITE-20536
URL: https://issues.apache.org/jira/browse/IGNITE-20536
Project: Ignite
Issue Type: Bug
Reporter: Sergey Uttsel
h3. Motivation
In https://issues.apache.org/jira/browse/IGNITE-20397 we discussed that it is
possible to get null handler in StripedDisruptor.StripeEntryHandler#onEvent on
a table drop. And we start to use a log warning instead of an assert.
But this is not the best solution. We still need to assert that handler is not
null on first event for the partition. And we need to skip events if the
partition was removed. So we need:
# to add assert that `handler != null`,
# on StripedDisruptor.StripeEntryHandler#unsubscribe put a no-op handler to a
subscribers map instead of remove it,
# to remove the no-op handler when there are no events for this handler.
h3. Definition of done:
# assert that `handler != null` is added,
# no-op handler on StripedDisruptor.StripeEntryHandler#unsubscribe,
# remove handler when it is not needed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)