[ https://issues.apache.org/jira/browse/STORM-876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14990389#comment-14990389 ]
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_r43937803 --- Diff: storm-core/src/clj/backtype/storm/daemon/nimbus.clj --- @@ -130,22 +162,40 @@ (defn inbox [nimbus] (master-inbox (:conf nimbus))) -(defn- read-storm-conf [conf storm-id] - (let [stormroot (master-stormdist-root conf storm-id)] - (merge conf - (clojurify-structure - (Utils/fromCompressedJsonConf - (FileUtils/readFileToByteArray - (File. (master-stormconf-path stormroot)))))))) +(defn- get-subject [] + (let [req (ReqContext/context)] + (.subject req))) + +(defn- read-storm-conf [conf storm-id blob-store] + (clojurify-structure + (Utils/fromCompressedJsonConf + (.readBlob blob-store (master-stormconf-key storm-id) (get-subject))))) (declare delay-event) (declare mk-assignments) +(defn nimbus-subject + [] + (let [subject (Subject.) + principal (NimbusPrincipal.) + principals (.getPrincipals subject)] + (.add principals principal) + subject)) + +(def get-nimbus-subject + (nimbus-subject)) + +(defn- get-key-list-from-id [conf id] + (log-debug "set keys id = " id "set = " #{(master-stormcode-key id) (master-stormjar-key id) (master-stormconf-key id)}) + (if (local-mode? conf) + [(master-stormcode-key id) (master-stormconf-key id)] + [(master-stormcode-key id) (master-stormjar-key id) (master-stormconf-key id)])) --- End diff -- minor: arg list on own line > 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)