[jira] [Resolved] (STORM-3197) Make StormMetricsRegistry a regular instance class rather than a static utility

2018-09-17 Thread Robert Joseph Evans (JIRA)


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

Robert Joseph Evans resolved STORM-3197.

   Resolution: Fixed
Fix Version/s: 2.0.0

Thanks [~Srdo],

 

I merged this into master.

> Make StormMetricsRegistry a regular instance class rather than a static 
> utility
> ---
>
> Key: STORM-3197
> URL: https://issues.apache.org/jira/browse/STORM-3197
> Project: Apache Storm
>  Issue Type: Task
>  Components: storm-server
>Affects Versions: 2.0.0
>Reporter: Stig Rohde Døssing
>Assignee: Stig Rohde Døssing
>Priority: Major
>  Labels: pull-request-available
> Fix For: 2.0.0
>
>  Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> Having the registry be a static utility makes fixing some issues harder than 
> it should be. Preventing daemons from accidentally registering metrics for 
> other daemons (STORM-3101) and flushing reporters on shutdown without 
> breaking the tests (STORM-3173) for example.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (STORM-3228) Supervisor blobstore ref counting not working properly

2018-09-17 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot updated STORM-3228:
--
Labels: pull-request-available  (was: )

> Supervisor blobstore ref counting not working properly
> --
>
> Key: STORM-3228
> URL: https://issues.apache.org/jira/browse/STORM-3228
> Project: Apache Storm
>  Issue Type: Bug
>Affects Versions: 2.0.0
>Reporter: Aaron Gresch
>Assignee: Aaron Gresch
>Priority: Major
>  Labels: pull-request-available
>
> When supervisors release slots, they can continue to indefinitely download 
> the blob.
> {code:java}
> 2018-09-17 16:18:00.955 o.a.s.l.AsyncLocalizer SLOT_6703 [INFO] Releasing 
> slot for logviewer-ui-groups-test-11-1537201071 6703
> 2018-09-17 16:18:00.956 o.a.s.l.LocallyCachedBlob SLOT_6703 [WARN] 
> {logviewer-ui-groups-test-11-1537201071 on 6703} had no reservation for 
> logviewer-ui-groups-test-11-1537201071 stormjar.jar
> 2018-09-17 16:22:50.198 o.a.s.l.AsyncLocalizer AsyncLocalizer Executor - 2 
> [WARN] Failed to download blob LOCAL TOPO BLOB TOPO_CONF 
> logviewer-ui-groups-test-11-1537201071 will try again in 100 ms{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (STORM-3205) Optimization in TuplImpl

2018-09-17 Thread Robert Joseph Evans (JIRA)


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

Robert Joseph Evans resolved STORM-3205.

Resolution: Fixed

Thanks [~roshan_naik],

 

I merged this to master.

> Optimization in TuplImpl
> 
>
> Key: STORM-3205
> URL: https://issues.apache.org/jira/browse/STORM-3205
> Project: Apache Storm
>  Issue Type: Improvement
>  Components: storm-client
>Affects Versions: 2.0.0
>Reporter: Roshan Naik
>Assignee: Roshan Naik
>Priority: Major
>  Labels: pull-request-available
> Fix For: 2.0.0
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Wrapping {{TuplImpl.values}} with Collections.unmodifiableList() turns out be 
> very expensive. Its intention is obviously to check and prevent accidental 
> tweaking TuplImpl once created. Given the high cost, if needed, we can limit 
> this extra checking mechanism in debug/dev mode. Being in the critical path 
> it means several thousand/million additional allocations per second of the 
> List wrapper object  proportional to the number of bolt/spout instances.
> *TVL :*
> | |throughput (k/sec)|cores|mem (mb)|
> |*master (#f5a410ba3)*|412 |4.26|103|
> |*storm-3205*|547  (+33%)|4.09|132|
> {{+cmd:+ bin/storm jar topos/storm-loadgen-2.0.0-SNAPSHOT.jar 
> org.apache.storm.loadgen.ThroughputVsLatency *--rate 55* --spouts 1 
> --splitters 3 --counters 2 -c topology.acker.executors=0}}
> *+ConstSpoutIdentityBoltNullBolt :+*
> | |throughput|
> |*master*|4.25 mill/sec|
> |*storm-3205*|5.4 mill/sec (+27%)|
> +cmd+: {{bin/storm jar topos/storm-perf-2.0.0-SNAPSHOT.jar 
> org.apache.storm.perf.ConstSpoutIdBoltNullBoltTopo -c 
> topology.acker.executors=0 -c topology.producer.batch.size=1000 400}}
> *Note:* The perf gains are more evident when operating at high thoughputs w/o 
> backpressure occurring (i.e. some bolts have not yet become a bottleneck)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (STORM-3227) Improve security of credentials push

2018-09-17 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot updated STORM-3227:
--
Labels: pull-request-available  (was: )

> Improve security of credentials push
> 
>
> Key: STORM-3227
> URL: https://issues.apache.org/jira/browse/STORM-3227
> Project: Apache Storm
>  Issue Type: Improvement
>  Components: storm-client, storm-server
>Reporter: Robert Joseph Evans
>Assignee: Robert Joseph Evans
>Priority: Major
>  Labels: pull-request-available
>
> When pushing credentials to a topology most of the checks we do right now are 
> to verify that the topology is allowing a given user to do the push, but we 
> also need to protect the user from pushing to the wrong topology.
>  
> This is really only an issue if a user has the push setup on some kind of a 
> cron like job, and the topology is down (which should be rare), but to 
> eliminate any race conditions we should have nimbus either verify that the 
> topology is owned by the same user as the one doing the push, or have an 
> optional user that the client expects the topology to be owned by.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (STORM-3228) Supervisor blobstore ref counting not working properly

2018-09-17 Thread Aaron Gresch (JIRA)


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

Aaron Gresch commented on STORM-3228:
-

There are two implementations of the PortAndAssignment interface.  The two 
implementations are not considered equal in the reference count map.

> Supervisor blobstore ref counting not working properly
> --
>
> Key: STORM-3228
> URL: https://issues.apache.org/jira/browse/STORM-3228
> Project: Apache Storm
>  Issue Type: Bug
>Affects Versions: 2.0.0
>Reporter: Aaron Gresch
>Assignee: Aaron Gresch
>Priority: Major
>
> When supervisors release slots, they can continue to indefinitely download 
> the blob.
> {code:java}
> 2018-09-17 16:18:00.955 o.a.s.l.AsyncLocalizer SLOT_6703 [INFO] Releasing 
> slot for logviewer-ui-groups-test-11-1537201071 6703
> 2018-09-17 16:18:00.956 o.a.s.l.LocallyCachedBlob SLOT_6703 [WARN] 
> {logviewer-ui-groups-test-11-1537201071 on 6703} had no reservation for 
> logviewer-ui-groups-test-11-1537201071 stormjar.jar
> 2018-09-17 16:22:50.198 o.a.s.l.AsyncLocalizer AsyncLocalizer Executor - 2 
> [WARN] Failed to download blob LOCAL TOPO BLOB TOPO_CONF 
> logviewer-ui-groups-test-11-1537201071 will try again in 100 ms{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (STORM-3228) Supervisor blobstore ref counting not working properly

2018-09-17 Thread Aaron Gresch (JIRA)
Aaron Gresch created STORM-3228:
---

 Summary: Supervisor blobstore ref counting not working properly
 Key: STORM-3228
 URL: https://issues.apache.org/jira/browse/STORM-3228
 Project: Apache Storm
  Issue Type: Bug
Affects Versions: 2.0.0
Reporter: Aaron Gresch
Assignee: Aaron Gresch


When supervisors release slots, they can continue to indefinitely download the 
blob.
{code:java}
2018-09-17 16:18:00.955 o.a.s.l.AsyncLocalizer SLOT_6703 [INFO] Releasing slot 
for logviewer-ui-groups-test-11-1537201071 6703
2018-09-17 16:18:00.956 o.a.s.l.LocallyCachedBlob SLOT_6703 [WARN] 
{logviewer-ui-groups-test-11-1537201071 on 6703} had no reservation for 
logviewer-ui-groups-test-11-1537201071 stormjar.jar

2018-09-17 16:22:50.198 o.a.s.l.AsyncLocalizer AsyncLocalizer Executor - 2 
[WARN] Failed to download blob LOCAL TOPO BLOB TOPO_CONF 
logviewer-ui-groups-test-11-1537201071 will try again in 100 ms{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (STORM-3225) AuthorizedUserFilter should not convert the media type to a string

2018-09-17 Thread Robert Joseph Evans (JIRA)


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

Robert Joseph Evans resolved STORM-3225.

   Resolution: Fixed
Fix Version/s: 2.0.0

> AuthorizedUserFilter should not convert the media type to a string
> --
>
> Key: STORM-3225
> URL: https://issues.apache.org/jira/browse/STORM-3225
> Project: Apache Storm
>  Issue Type: Bug
>  Components: storm-webapp
>Affects Versions: 2.0.0
>Reporter: Robert Joseph Evans
>Assignee: Robert Joseph Evans
>Priority: Major
>  Labels: pull-request-available
> Fix For: 2.0.0
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> The AuthorizedUserFilter is converting the media type to a string so it can 
> do a comparison check.  There is a better way.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (STORM-3226) Improve Supervisor authorization handler error message

2018-09-17 Thread Robert Joseph Evans (JIRA)


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

Robert Joseph Evans resolved STORM-3226.

   Resolution: Fixed
Fix Version/s: 2.0.0

> Improve Supervisor authorization handler error message
> --
>
> Key: STORM-3226
> URL: https://issues.apache.org/jira/browse/STORM-3226
> Project: Apache Storm
>  Issue Type: Improvement
>  Components: storm-server
>Affects Versions: 2.0.0
>Reporter: Robert Joseph Evans
>Assignee: Robert Joseph Evans
>Priority: Major
>  Labels: pull-request-available
> Fix For: 2.0.0
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> The error in the supervisor about the authorization handler is confusing and 
> does not explain how to fix the issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (STORM-3227) Improve security of credentials push

2018-09-17 Thread Robert Joseph Evans (JIRA)
Robert Joseph Evans created STORM-3227:
--

 Summary: Improve security of credentials push
 Key: STORM-3227
 URL: https://issues.apache.org/jira/browse/STORM-3227
 Project: Apache Storm
  Issue Type: Improvement
  Components: storm-client, storm-server
Reporter: Robert Joseph Evans
Assignee: Robert Joseph Evans


When pushing credentials to a topology most of the checks we do right now are 
to verify that the topology is allowing a given user to do the push, but we 
also need to protect the user from pushing to the wrong topology.

 

This is really only an issue if a user has the push setup on some kind of a 
cron like job, and the topology is down (which should be rare), but to 
eliminate any race conditions we should have nimbus either verify that the 
topology is owned by the same user as the one doing the push, or have an 
optional user that the client expects the topology to be owned by.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (STORM-2138) java.io.FileNotFoundException: stormconf.ser does not exist

2018-09-17 Thread michel hummel (JIRA)


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

michel hummel commented on STORM-2138:
--

This issue still exists in V1.2.2.

I think there is a race condition when a topology is stopping:

the supervisor is removing the local files:

 
{noformat}
2018-09-14 21:33:03.718 o.a.s.d.s.Container [INFO] Cleaning up 
5485e983-34a9-46ad-8679-bbe79c110cba:32173038-42d8-40c7-94ce-9229e3177b6e
2018-09-14 21:33:03.718 o.a.s.d.s.Container [INFO] GET worker-user for 
32173038-42d8-40c7-94ce-9229e3177b6e
2018-09-14 21:33:03.718 o.a.s.d.s.AdvancedFSOps [INFO] Deleting path 
/space/StormData/storm-data/workers/32173038-42d8-40c7-94ce-9229e3177b6e/pids/69074
2018-09-14 21:33:03.718 o.a.s.d.s.AdvancedFSOps [INFO] Deleting path 
/space/StormData/storm-data/workers/32173038-42d8-40c7-94ce-9229e3177b6e/heartbeats
2018-09-14 21:33:03.730 o.a.s.d.s.AdvancedFSOps [INFO] Deleting path 
/space/StormData/storm-data/workers/32173038-42d8-40c7-94ce-9229e3177b6e/pids
2018-09-14 21:33:03.731 o.a.s.d.s.AdvancedFSOps [INFO] Deleting path 
/space/StormData/storm-data/workers/32173038-42d8-40c7-94ce-9229e3177b6e/tmp
2018-09-14 21:33:03.731 o.a.s.d.s.AdvancedFSOps [INFO] Deleting path 
/space/StormData/storm-data/workers/32173038-42d8-40c7-94ce-9229e3177b6e
2018-09-14 21:33:03.732 o.a.s.d.s.Container [INFO] REMOVE worker-user 
32173038-42d8-40c7-94ce-9229e3177b6e
2018-09-14 21:33:03.732 o.a.s.d.s.AdvancedFSOps [INFO] Deleting path 
/space/StormData/storm-data/workers-users/32173038-42d8-40c7-94ce-9229e3177b6e
2018-09-14 21:33:03.734 o.a.s.d.s.BasicContainer [INFO] Removed Worker ID 
32173038-42d8-40c7-94ce-9229e3177b6e
2018-09-14 21:33:03.734 o.a.s.l.AsyncLocalizer [INFO] Released blob reference 
ipc-fci-nrt_Tsit-RCFD_2017100_0018-09-14T21-22-51-429Z-100-1536960172 6702 
Cleaning up BLOB references...
2018-09-14 21:33:03.735 o.a.s.l.AsyncLocalizer [INFO] Released blob reference 
ipc-fci-nrt_Tsit-RCFD_2017100_0018-09-14T21-22-51-429Z-100-1536960172 6702 
Cleaning up basic files...
2018-09-14 21:33:03.735 o.a.s.d.s.AdvancedFSOps [INFO] Deleting path 
/space/StormData/storm-data/supervisor/stormdist/ipc-fci-nrt_Tsit-RCFD_2017100_0018-09-14T21-22-51-429Z-100-1536960172
{noformat}
and if the blobUpdateTimer is trigged at the same time

 

[https://github.com/apache/storm/blob/v1.2.2/storm-core/src/jvm/org/apache/storm/daemon/supervisor/timer/UpdateBlobs.java]
 

it will search for the topology configuration which doesn't exists anymore:

 
{noformat}
2018-09-14 21:33:03.796 o.a.s.e.EventManagerImp [ERROR] {} Error when 
processing event
java.lang.RuntimeException: java.io.FileNotFoundException: File 
'/space/StormData/storm-data/supervisor/stormdist/ipc-fci-nrt_Tsit-RCFD_2017100_0018-09-14T21-22-51-429Z-100-1536960172/stormconf.ser'
 does not exist
at org.apache.storm.utils.Utils.wrapInRuntime(Utils.java:1571) 
~[storm-core-1.2.2.jar:1.2.2]
at 
org.apache.storm.daemon.supervisor.timer.UpdateBlobs.run(UpdateBlobs.java:86) 
~[storm-core-1.2.2.jar:1.2.2]
at org.apache.storm.event.EventManagerImp$1.run(EventManagerImp.java:54) 
[storm-core-1.2.2.jar:1.2.2]
Caused by: java.io.FileNotFoundException: File 
'/space/StormData/storm-data/supervisor/stormdist/ipc-fci-nrt_Tsit-RCFD_2017100_0018-09-14T21-22-51-429Z-100-1536960172/stormconf.ser'
 does not exist
at 
org.apache.storm.shade.org.apache.commons.io.FileUtils.openInputStream(FileUtils.java:292)
 ~[storm-core-1.2.2.jar:1.2.2]
at 
org.apache.storm.shade.org.apache.commons.io.FileUtils.readFileToByteArray(FileUtils.java:1815)
 ~[storm-core-1.2.2.jar:1.2.2]
at 
org.apache.storm.utils.ConfigUtils.readSupervisorStormConfGivenPath(ConfigUtils.java:262)
 ~[storm-core-1.2.2.jar:1.2.2]
at 
org.apache.storm.utils.ConfigUtils.readSupervisorStormConfImpl(ConfigUtils.java:374)
 ~[storm-core-1.2.2.jar:1.2.2]
at 
org.apache.storm.utils.ConfigUtils.readSupervisorStormConf(ConfigUtils.java:368)
 ~[storm-core-1.2.2.jar:1.2.2]
at 
org.apache.storm.daemon.supervisor.timer.UpdateBlobs.updateBlobsForTopology(UpdateBlobs.java:100)
 ~[storm-core-1.2.2.jar:1.2.2]
at 
org.apache.storm.daemon.supervisor.timer.UpdateBlobs.run(UpdateBlobs.java:76) 
~[storm-core-1.2.2.jar:1.2.2]
... 1 more
{noformat}
I think that dealing with this race condition is hard without doing a lock 
may-be adding a catch on FileNotFoundException could be an acceptable fix ?

 

> java.io.FileNotFoundException: stormconf.ser does not exist
> ---
>
> Key: STORM-2138
> URL: https://issues.apache.org/jira/browse/STORM-2138
> Project: Apache Storm
>  Issue Type: Bug
>  Components: storm-core
>Affects Versions: 1.0.2
>Reporter: Eddy
>Priority: Major
>
> We are seeing problems in our storm topology whereby all our workers crash.
> The errors we see are
>