[
https://issues.apache.org/jira/browse/SENTRY-396?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14133514#comment-14133514
]
guoquanshen commented on SENTRY-396:
------------------------------------
[~prasadm], thanks for your commend. I guess you may be misunderstand my
meaning, It's my fault not to express what I thought correctly. The patch
doesn't change the logic of registering
multiprocessors. I just adjust the order this process, that's meaningful. If
there are two processors need to register, one for hive/impala processing
request called processorA, the other for solr processing request called
processorB. The original procedure is that:
registeredProcessor = registeredProcessor || factory.register(processor); if
processorA is registered correctly, the processorB doesn't get a chance to
register because of the short circuit of the expression
but the changing order is that:
registeredProcessor = factory.register(processor) || registeredProcessor; Every
processor will get a chance to register even the previous processor failed
> The Thrift multiplexedProcessor registers mutil processor failed
> ----------------------------------------------------------------
>
> Key: SENTRY-396
> URL: https://issues.apache.org/jira/browse/SENTRY-396
> Project: Sentry
> Issue Type: Bug
> Affects Versions: 1.4.0
> Reporter: guoquanshen
> Assignee: guoquanshen
> Fix For: 1.5.0
>
> Attachments: SENTRY-396.patch
>
>
> The sentry service uses multiplexedProcessor to register multi processor, but
> the logic isn't correct in my opinion. It use processFactory to register and
> the source code as following:
> {code}TMultiplexedProcessor processor = new TMultiplexedProcessor();
> boolean registeredProcessor = false;
> for (String processorFactory : processorFactories){
> ProcessorFactory factory = (ProcessorFactory) #create factory instance
> with processorFactory name
> registeredProcessor = registeredProcessor ||
> factory.register(processor);
> }{code}
> If the first factory register successfully, registeredProcessor will become
> true then the following factories don't get the chance to register
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)