helix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zhen Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Assigned] (HELIX-548) race condition in Helix message handler factory registration
Date Mon, 16 Feb 2015 18:33:11 GMT

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

Zhen Zhang reassigned HELIX-548:
--------------------------------

    Assignee: Zhen Zhang

> race condition in Helix message handler factory registration
> ------------------------------------------------------------
>
>                 Key: HELIX-548
>                 URL: https://issues.apache.org/jira/browse/HELIX-548
>             Project: Apache Helix
>          Issue Type: Bug
>            Reporter: Zhen Zhang
>            Assignee: Zhen Zhang
>
> -- copied from email --
> I have a small issue when running a Helix cluster in Docker (all on the same machine,
very small RTT):
> I register two message handler factories, similarly to the way it is done in BootstrapProcess.java
example. The manager is not yet connected. My understanding is that this places the handlers
in a hashmap from which they will be read and registered later, upon connect.
> Upon connect, I see that the DefaultMessagingService.onConnected function is called and
Helix starts registering the message handlers. However, messages start arriving already and
HelixTaskExecutor.createMessageHandler is called, before all handlers have been registered.
The result is that I get NullPointerExceptions for the missing handlers in the following line
of HelixTaskExecutor.createMessageHandler:
> MessageHandlerFactory handlerFactory = item.factory();
> due to the fact that there is no item (MessageHandlerFactoryRegistryItem) for that message
type registered yet.
> I came upon this bug after updating the git code from an old snapshot of 0.7.1. I saw
that the relevant code changes are from around the summer.
> Regards,
> Vlad



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message