You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Sergey Uttsel (Jira)" <ji...@apache.org> on 2023/10/06 09:47:00 UTC

[jira] [Updated] (IGNITE-20536) No-op handlers for StripedDisruptor.StripeEntryHandler#subscribers

     [ https://issues.apache.org/jira/browse/IGNITE-20536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Uttsel updated IGNITE-20536:
-----------------------------------
    Ignite Flags:   (was: Docs Required,Release Notes Required)

> 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
>            Priority: Major
>              Labels: ignite-3
>
> 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)