You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@storm.apache.org by "Robert Joseph Evans (JIRA)" <ji...@apache.org> on 2017/08/23 20:48:01 UTC

[jira] [Resolved] (STORM-2700) Blobstore shouldn't check ACL when Blobstore Acl validation disabled

     [ https://issues.apache.org/jira/browse/STORM-2700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Joseph Evans resolved STORM-2700.
----------------------------------------
       Resolution: Fixed
    Fix Version/s: 2.0.0

Thanks [~ethanli],

i merged this into master.  If you want it pulled into another branch please put up a pull request for that.

> Blobstore shouldn't check ACL when Blobstore Acl validation disabled
> --------------------------------------------------------------------
>
>                 Key: STORM-2700
>                 URL: https://issues.apache.org/jira/browse/STORM-2700
>             Project: Apache Storm
>          Issue Type: Bug
>          Components: blobstore
>            Reporter: Ethan Li
>            Assignee: Ethan Li
>             Fix For: 2.0.0
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> When 
> {code:java}
> storm.blobstore.acl.validation.enabled: false
> {code}
> is set, blobstore still checks ACL.
> {code:java}
> 2017-08-21 13:56:19.800 o.a.s.d.s.Slot SLOT_6702 [ERROR] Error when processing event
> java.util.concurrent.ExecutionException: AuthorizationException(msg:ethan does not have READ access to key1)
>         at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_131]
>         at java.util.concurrent.FutureTask.get(FutureTask.java:206) ~[?:1.8.0_131]
>         at org.apache.storm.localizer.LocalDownloadedResource$NoCancelFuture.get(LocalDownloadedResource.java:63) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
>         at org.apache.storm.daemon.supervisor.Slot.handleWaitingForBlobLocalization(Slot.java:410) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
>         at org.apache.storm.daemon.supervisor.Slot.stateMachineStep(Slot.java:305) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
>         at org.apache.storm.daemon.supervisor.Slot.run(Slot.java:789) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> Caused by: org.apache.storm.generated.AuthorizationException
>         at org.apache.storm.localizer.Localizer.downloadBlob(Localizer.java:527) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
>         at org.apache.storm.localizer.Localizer.access$000(Localizer.java:68) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
>         at org.apache.storm.localizer.Localizer$DownloadBlob.call(Localizer.java:497) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
>         at org.apache.storm.localizer.Localizer$DownloadBlob.call(Localizer.java:473) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_131]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_131]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_131]
>         at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
> 2017-08-21 13:56:19.800 o.a.s.u.Utils SLOT_6702 [ERROR] Halting process: Error when processing an event
> java.lang.RuntimeException: Halting process: Error when processing an event
>         at org.apache.storm.utils.Utils.exitProcess(Utils.java:437) ~[storm-client-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
>         at org.apache.storm.daemon.supervisor.Slot.run(Slot.java:823) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> 2017-08-21 13:56:19.802 o.a.s.d.s.Supervisor Thread-6 [INFO] Shutting down supervisor b350cfb4-b333-4ea5-965e-b0698aaea80f-10.88.214.182
> 2017-08-21 13:56:19.803 o.a.s.e.EventManagerImp Thread-5 [INFO] Event manager interrupted
> {code}
> Reproduce:
> 1. Create a blobstore with permission set to one user (e.g mapredqa).
> {code:java}
> sudo -u mapredqa storm blobstore create --file test-blobstore.txt --acl u:mapredqa:rwa key1
> {code}
> 2. Submit a topology with topology.blobstore.map config as someone else (e.g. ethan).
> {code:java}
> sudo -u ethan storm jar /tmp/storm-starter-2.0.0-SNAPSHOT.jar org.apache.storm.starter.WordCountTopology wc -c topology.blobstore.map='{"key1":{"localname":"test-blobstore.txt", "uncompress":false}}'
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)