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

Jungtaek Lim resolved STORM-2496.
---------------------------------
       Resolution: Fixed
    Fix Version/s: 1.1.1
                   2.0.0

Merged into master and 1.x branch.

> Dependency artifacts should be uploaded to blobstore with READ permission for 
> all
> ---------------------------------------------------------------------------------
>
>                 Key: STORM-2496
>                 URL: https://issues.apache.org/jira/browse/STORM-2496
>             Project: Apache Storm
>          Issue Type: Bug
>          Components: storm-core
>    Affects Versions: 2.0.0, 1.1.0
>            Reporter: Jungtaek Lim
>            Assignee: Jungtaek Lim
>            Priority: Critical
>             Fix For: 2.0.0, 1.1.1
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> When we submit topology via specific user with dependency artifacts, 
> submitter uploads artifacts to the blobstore with user which runs the 
> submission.
> Since uploaded artifacts are uploaded once and shared globally, other user 
> might need to use uploaded artifact. (This is completely fine for non-secured 
> cluster.) In this case, Supervisor fails to get artifact and crashes in 
> result.
> {code}
> 2017-04-28 04:56:46.594 o.a.s.l.AsyncLocalizer Async Localizer [WARN] Caught 
> Exception While Downloading (rethrowing)...
> org.apache.storm.generated.AuthorizationException: null
>       at 
> org.apache.storm.localizer.Localizer.downloadBlob(Localizer.java:535) 
> ~[storm-core-1.1.0.2.6.0.3-8.jar:1.1.0.2.6.0.3-8]
>       at org.apache.storm.localizer.Localizer.access$000(Localizer.java:65) 
> ~[storm-core-1.1.0.2.6.0.3-8.jar:1.1.0.2.6.0.3-8]
>       at 
> org.apache.storm.localizer.Localizer$DownloadBlob.call(Localizer.java:505) 
> ~[storm-core-1.1.0.2.6.0.3-8.jar:1.1.0.2.6.0.3-8]
>       at 
> org.apache.storm.localizer.Localizer$DownloadBlob.call(Localizer.java:481) 
> ~[storm-core-1.1.0.2.6.0.3-8.jar:1.1.0.2.6.0.3-8]
>       at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[?:1.8.0_112]
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [?:1.8.0_112]
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [?:1.8.0_112]
>       at java.lang.Thread.run(Thread.java:745) [?:1.8.0_112]
> 2017-04-28 04:56:46.597 o.a.s.d.s.Slot SLOT_6701 [ERROR] Error when 
> processing event
> java.util.concurrent.ExecutionException: AuthorizationException(msg:<user> 
> does not have READ access to 
> dep-org.apache.curator-curator-framework-jar-2.10.0.jar)
>       at java.util.concurrent.FutureTask.report(FutureTask.java:122) 
> ~[?:1.8.0_112]
>       at java.util.concurrent.FutureTask.get(FutureTask.java:206) 
> ~[?:1.8.0_112]
>       at 
> org.apache.storm.localizer.LocalDownloadedResource$NoCancelFuture.get(LocalDownloadedResource.java:63)
>  ~[storm-core-1.1.0.2.6.0.3-8.jar:1.1.0.2.6.0.3-8]
>       at 
> org.apache.storm.daemon.supervisor.Slot.handleWaitingForBlobLocalization(Slot.java:380)
>  ~[storm-core-1.1.0.2.6.0.3-8.jar:1.1.0.2.6.0.3-8]
>       at 
> org.apache.storm.daemon.supervisor.Slot.stateMachineStep(Slot.java:275) 
> ~[storm-core-1.1.0.2.6.0.3-8.jar:1.1.0.2.6.0.3-8]
>       at org.apache.storm.daemon.supervisor.Slot.run(Slot.java:740) 
> ~[storm-core-1.1.0.2.6.0.3-8.jar:1.1.0.2.6.0.3-8]
> Caused by: org.apache.storm.generated.AuthorizationException
>       at 
> org.apache.storm.localizer.Localizer.downloadBlob(Localizer.java:535) 
> ~[storm-core-1.1.0.2.6.0.3-8.jar:1.1.0.2.6.0.3-8]
>       at org.apache.storm.localizer.Localizer.access$000(Localizer.java:65) 
> ~[storm-core-1.1.0.2.6.0.3-8.jar:1.1.0.2.6.0.3-8]
>       at 
> org.apache.storm.localizer.Localizer$DownloadBlob.call(Localizer.java:505) 
> ~[storm-core-1.1.0.2.6.0.3-8.jar:1.1.0.2.6.0.3-8]
>       at 
> org.apache.storm.localizer.Localizer$DownloadBlob.call(Localizer.java:481) 
> ~[storm-core-1.1.0.2.6.0.3-8.jar:1.1.0.2.6.0.3-8]
>       at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[?:1.8.0_112]
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [?:1.8.0_112]
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [?:1.8.0_112]
>       at java.lang.Thread.run(Thread.java:745) [?:1.8.0_112]
> 2017-04-28 04:56:46.597 o.a.s.u.Utils SLOT_6701 [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:1774) 
> ~[storm-core-1.1.0.2.6.0.3-8.jar:1.1.0.2.6.0.3-8]
>       at org.apache.storm.daemon.supervisor.Slot.run(Slot.java:774) 
> ~[storm-core-1.1.0.2.6.0.3-8.jar:1.1.0.2.6.0.3-8]
> 2017-04-28 04:56:46.599 o.a.s.d.s.Supervisor Thread-7 [INFO] Shutting down 
> supervisor 775c158b-0a2d-40be-9e02-a9662d8bc5c4
> {code}
> So we need to upload artifacts with READ permission to all, or at least 
> supervisor should be able to read them at all.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to