[ https://issues.apache.org/jira/browse/YARN-4457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15290164#comment-15290164 ]
Daniel Templeton commented on YARN-4457: ---------------------------------------- Oh, [~kasha], if only it were that simple. A {{Dispatcher}} is intended to handle a variety of event types. The {{register()}} method lets classes register a specific handler for a specific event type. It is really untyped with respect to events. The confusion comes from the {{getEventHandler()}} convenience method, which returns a generic event handler, not one of the ones that was registered. In theory we could have the method return an {{EventHandler<? extends Event>}}, which would be more specific. It doesn't actually change anything, however, as the {{EventHandler.handle()}} method (it's only method) would still accept a parameter of type {{Event}}, and it's bad practice to have a wildcarded type as the return type. Wildcards are icky, and forcing callers to deal with them by putting them in the return type is bad form. > Cleanup unchecked types for EventHandler > ---------------------------------------- > > Key: YARN-4457 > URL: https://issues.apache.org/jira/browse/YARN-4457 > Project: Hadoop YARN > Issue Type: Improvement > Affects Versions: 2.7.1 > Reporter: Daniel Templeton > Assignee: Daniel Templeton > Attachments: YARN-4457.001.patch, YARN-4457.002.patch, > YARN-4457.003.patch, YARN-4457.004.patch, YARN-4457.005.patch > > > The EventHandler class is often used in an untyped context resulting in a > bunch of warnings about unchecked usage. The culprit is the > {{Dispatcher.getHandler()}} method. Fixing the typing on the method to > return {{EventHandler<Event>}} instead of {{EventHandler}} clears up the > errors and doesn't not introduce any incompatible changes. In the case that > some code does: > {code} > EventHandler h = dispatcher.getHandler(); > {code} > it will still work and will issue a compiler warning about raw types. There > are, however, no instances of this issue in the current source base. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org