Github user agresch commented on a diff in the pull request:
https://github.com/apache/storm/pull/2732#discussion_r197832970
--- Diff:
storm-server/src/main/java/org/apache/storm/daemon/nimbus/Nimbus.java ---
@@ -3557,6 +3570,14 @@ public ByteBuffer downloadBlobChunk(String session)
throws AuthorizationExceptio
@Override
public void deleteBlob(String key) throws AuthorizationException,
KeyNotFoundException, TException {
try {
+ String topoName = ConfigUtils.getIdFromBlobKey(key);
+ if (topoName != null) {
+ if (isTopologyActiveOrActivating(stormClusterState,
topoName)) {
+ String message = "Attempting to delete blob " + key +
" from under active topology " + topoName;
+ LOG.warn(message);
+ throw new TException(message);
--- End diff --
Makes sense to me. I prefer this to an AuthorizationException.
---