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)

Reply via email to