[ https://issues.apache.org/jira/browse/STORM-876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15012001#comment-15012001 ]
ASF GitHub Bot commented on STORM-876: -------------------------------------- Github user d2r commented on a diff in the pull request: https://github.com/apache/storm/pull/845#discussion_r45262228 --- Diff: storm-core/src/clj/backtype/storm/daemon/supervisor.clj --- @@ -510,22 +582,54 @@ ;; synchronize-supervisor doesn't try to launch workers for which the ;; resources don't exist (if on-windows? (shutdown-disallowed-workers supervisor)) - (doseq [storm-id downloaded-storm-ids] + (doseq [storm-id all-downloaded-storm-ids] (when-not (storm-code-map storm-id) (log-message "Removing code for storm id " storm-id) - (try - (rmr (supervisor-stormdist-root conf storm-id)) - (catch Exception e (log-message (.getMessage e)))) - )) - (.add processes-event-manager sync-processes) - ))) + (rm-topo-files conf storm-id localizer rm-blob-refs?))) + (.add processes-event-manager sync-processes)))) (defn mk-supervisor-capacities [conf] {Config/SUPERVISOR_MEMORY_CAPACITY_MB (double (conf SUPERVISOR-MEMORY-CAPACITY-MB)) Config/SUPERVISOR_CPU_CAPACITY (double (conf SUPERVISOR-CPU-CAPACITY))}) +(defn update-blobs-for-topology! + "Update each blob listed in the topology configuration if the latest version of the blob + has not been downloaded." + [conf storm-id localizer] + (let [storm-conf (read-supervisor-storm-conf conf storm-id) + blobstore-map (storm-conf TOPOLOGY-BLOBSTORE-MAP) + user (storm-conf TOPOLOGY-SUBMITTER-USER) + topo-name (storm-conf TOPOLOGY-NAME) + user-dir (.getLocalUserFileCacheDir localizer user) --- End diff -- 'topo-name` and `user-dir` are unused. > Dist Cache: Basic Functionality > ------------------------------- > > Key: STORM-876 > URL: https://issues.apache.org/jira/browse/STORM-876 > Project: Apache Storm > Issue Type: Improvement > Components: storm-core > Reporter: Robert Joseph Evans > Assignee: Robert Joseph Evans > Attachments: DISTCACHE.md, DistributedCacheDesignDocument.pdf > > > Basic functionality for the Dist Cache feature. > As part of this a new API should be added to support uploading and > downloading dist cache items. storm-core.ser, storm-conf.ser and storm.jar > should be written into the blob store instead of residing locally. We need a > default implementation of the blob store that does essentially what nimbus > currently does and does not need anything extra. But having an HDFS backend > too would be great for scalability and HA. > The supervisor should provide a way to download and manage these blobs and > provide a working directory for the worker process with symlinks to the > blobs. It should also allow the blobs to be updated and switch the symlink > atomically to point to the new blob once it is downloaded. > All of this is already done by code internal to Yahoo! we are in the process > of getting it ready to push back to open source shortly. -- This message was sent by Atlassian JIRA (v6.3.4#6332)