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

Robert Joseph Evans edited comment on STORM-617 at 3/23/15 1:53 PM:
--------------------------------------------------------------------

The way to work around this, and what we have been doing is having trident 
topologies override the randomly generated secret with their own secret that 
persists across relaunches of a topology.
{code}storm jar ... -c 
'storm.zookeeper.auth.payload="user-part:password-part"'{code}

I know it is far from ideal, but it works.  In the ideal world nimbus would 
recognize the two trident topologies were related and could then update the 
ACLs accordingly, if they were owned by an appropriate user.  The issue is that 
nimbus is not actually aware of the transactional state in any way.  Trident is 
really a library sitting on top of core storm, and the transactional state 
could even be updated to point to a different ZK instance that nimbus is not 
aware of.  These are the reasons why we went with the quick and dirty solution.

I thought I had updated the documentation to include this, but looking at it 
now I see I didn't.  I'm really sorry about that.


was (Author: revans2):
The way to work around this, and what we have been doing is having trident 
topologies override the randomly generated secret with their own secret that 
persists across relaunches of a topology.

```storm jar ... -c 'storm.zookeeper.auth.payload="user-part:password-part"'```

I know it is far from ideal, but it works.  In the ideal world nimbus would 
recognize the two trident topologies were related and could then update the 
ACLs accordingly, if they were owned by an appropriate user.  The issue is that 
nimbus is not actually aware of the transactional state in any way.  Trident is 
really a library sitting on top of core storm, and the transactional state 
could even be updated to point to a different ZK instance that nimbus is not 
aware of.  These are the reasons why we went with the quick and dirty solution.

I thought I had updated the documentation to include this, but looking at it 
now I see I didn't.  I'm really sorry about that.

> In Storm secure mode re-deploying trident topology causes zookeeper ACL issue
> -----------------------------------------------------------------------------
>
>                 Key: STORM-617
>                 URL: https://issues.apache.org/jira/browse/STORM-617
>             Project: Apache Storm
>          Issue Type: Bug
>    Affects Versions: 0.10.0
>            Reporter: Sriharsha Chintalapani
>            Assignee: Sriharsha Chintalapani
>            Priority: Blocker
>
> This issue is caused by this line 
> https://github.com/apache/storm/blob/master/storm-core/src/jvm/backtype/storm/transactional/state/TransactionalState.java#L67
> If the storm cluster nimbus is running with a kerberos principal named 
> "nimbus"
> and supervisors are running with principal "storm" . Storm puts the acl on 
> trident spout using principal "nimbus" and this won't be able to accessed or 
> modified by supervisor since they are logging into zookeeper as user "storm".



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

Reply via email to