[
https://issues.apache.org/jira/browse/AMBARI-19217?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wei-Chiu Chuang updated AMBARI-19217:
-------------------------------------
Fix Version/s: 3.1.0
(was: 3.0.0)
> Ambari LogSearch data retrieval class should only use one instance of factory
> -----------------------------------------------------------------------------
>
> Key: AMBARI-19217
> URL: https://issues.apache.org/jira/browse/AMBARI-19217
> Project: Ambari
> Issue Type: Task
> Components: ambari-server
> Affects Versions: 2.5.0
> Reporter: Bob Nettleton
> Assignee: Bob Nettleton
> Priority: Major
> Fix For: 3.1.0
>
> Original Estimate: 48h
> Remaining Estimate: 48h
>
> This issue came up during a review for AMBARI-19105.
> The following class in the Ambari LogSearch integration code:
> org.apache.ambari.server.controller.logging.LogSearchDataRetrievalService
> uses multiple instances of the {code}LoggingRequestHelperFactory{code}
> interface.
> This is due to the fact that some methods are handled on the main request
> thread, and these instances use the injected factory instance. In some other
> cases, requests are handled on a separate thread, and so new factory
> instances are created with the Google Guice Injector.
> This is somewhat confusing in terms of the design, and this should be
> refactored for a simpler design.
> The most straightforward way to handle this would be to ensure that the
> {code}LoggingRequestHelperFactory{code} is thread-safe, which would allow a
> single instance of this factory to be injected into the retrieval service, as
> well as into the separate runnables to handle helper creation from multiple
> threads.
> This issue tracks the work involved in investigating this, and implementing a
> refactoring of this class, such that a single injected factory implementation
> can be used by this class, and by any threads launched by this class.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]