[ 
https://issues.apache.org/jira/browse/KAFKA-2587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14943705#comment-14943705
 ] 

Jun Rao commented on KAFKA-2587:
--------------------------------

[~parth.brahmbhatt], the issue for the above test failure can be due to the 
following. Even though we update the acl cache directly when we add or remove 
acls, the acl cache will be updated again by the ZK listener thread. So, what 
can happen is that: (1) we make an acl change and update the acl cache and a ZK 
event is fired and it reads the acl change and is about to apply the update to 
the acl cache, (2) we make a second acl change and update the acl cache 
directly, (3) the logic in the ZK event in (1) continues and will temporarily 
update the acl cache with just the first acl change. So if you test the acl at 
this moment and expect both acl changes to be in the cache, the assertion will 
fail. That seems to be what's happening in SimpleAclAuthorizerTest.scala:214 
since we made multiple acl changes before the assertion. If we wrap the 
assertion in line 214 in waitUntil(), the assertion should eventually succeed.

Also, currently, addAcl() and removeAcl() In SimpleAclAuthorizer directly 
update the acl cache as well as triggering a ZK event. I am wondering if it's 
simpler to not update the acl cache directly and only let the ZK event to do 
the update. There is no guarantee that we will see the latest acl even if we 
update the cache directly (see the above case). Then, we just need to wrap all 
acl assertions in SimpleAclAuthorizerTest with waitUntil.

Finally, it seems that the issue with "Simultaneously Consistent Cross-Client 
Views" only happens when you have multiple ZK servers in the ensemble. In unit 
tests, we only have a single ZK server.

> Transient test failure: `SimpleAclAuthorizerTest`
> -------------------------------------------------
>
>                 Key: KAFKA-2587
>                 URL: https://issues.apache.org/jira/browse/KAFKA-2587
>             Project: Kafka
>          Issue Type: Sub-task
>            Reporter: Ismael Juma
>            Assignee: Parth Brahmbhatt
>             Fix For: 0.9.0.0
>
>
> I've seen `SimpleAclAuthorizerTest ` fail a couple of times since its recent 
> introduction. Here's one such build:
> https://builds.apache.org/job/kafka-trunk-git-pr/576/console
> [~parth.brahmbhatt], can you please take a look and see if it's an easy fix?



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

Reply via email to