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

ASF GitHub Bot commented on STORM-901:
--------------------------------------

Github user d2r commented on a diff in the pull request:

    https://github.com/apache/storm/pull/822#discussion_r43399062
  
    --- Diff: storm-core/src/clj/backtype/storm/daemon/logviewer.clj ---
    @@ -333,42 +503,112 @@ Note that if anything goes wrong, this will throw an 
Error and exit."
                         (name k) "'")
                    ex)))))
     
    +(defn list-log-files
    +  [user topoId port log-root callback origin]
    +  (let [file-results
    +        (if (nil? topoId)
    +          (if (nil? port)
    +            (get-all-logs-for-rootdir (File. log-root))
    +            (reduce concat
    +              (for [topo-dir (.listFiles (File. log-root))]
    +                (reduce concat
    +                  (for [port-dir (.listFiles topo-dir)]
    +                    (if (= (str port) (.getName port-dir))
    +                      (into [] (.listFiles port-dir))))))))
    +          (if (nil? port)
    +            (let [topo-dir (File. (str log-root file-path-separator 
topoId))]
    +              (if (.exists topo-dir)
    +                (reduce concat
    +                  (for [port-dir (.listFiles topo-dir)]
    +                    (into [] (.listFiles port-dir))))
    +                []))
    +            (let [port-dir (get-worker-dir-from-root log-root topoId port)]
    +              (if (.exists port-dir)
    +                (into [] (.listFiles port-dir))
    +                []))))
    +        file-strs (sort (for [file file-results]
    +                          (get-topo-port-workerlog file)))]
    +    (json-response file-strs
    +      callback
    +      :headers {"Access-Control-Allow-Origin" origin
    +                "Access-Control-Allow-Credentials" "true"})))
    +
     (defroutes log-routes
       (GET "/log" [:as req & m]
    -       (try
    -         (let [servlet-request (:servlet-request req)
    -               log-root (:log-root req)
    -               user (.getUserName http-creds-handler servlet-request)
    -               start (if (:start m) (parse-long-from-map m :start))
    -               length (if (:length m) (parse-long-from-map m :length))]
    -           (log-template (log-page (:file m) start length (:grep m) user 
log-root)
    -                         (:file m) user))
    -         (catch InvalidRequestException ex
    -           (log-error ex)
    -           (ring-response-from-exception ex))))
    +    (try
    +      (let [servlet-request (:servlet-request req)
    +            log-root (:log-root req)
    +            user (.getUserName http-creds-handler servlet-request)
    +            start (if (:start m) (parse-long-from-map m :start))
    +            length (if (:length m) (parse-long-from-map m :length))
    +            file (url-decode (:file m))]
    +        (log-template (log-page file start length (:grep m) user log-root)
    +          file user))
    +      (catch InvalidRequestException ex
    +        (log-error ex)
    +        (ring-response-from-exception ex))))
    +  (GET "/daemonlog" [:as req & m]
    +    (try
    +      (let [servlet-request (:servlet-request req)
    +            daemonlog-root (:daemonlog-root req)
    +            user (.getUserName http-creds-handler servlet-request)
    +            start (if (:start m) (parse-long-from-map m :start))
    +            length (if (:length m) (parse-long-from-map m :length))
    +            file (url-decode (:file m))]
    +        (log-template (daemonlog-page file start length (:grep m) user 
daemonlog-root)
    +          file user))
    +      (catch InvalidRequestException ex
    +        (log-error ex)
    +        (ring-response-from-exception ex))))
       (GET "/download/:file" [:as {:keys [servlet-request servlet-response 
log-root]} file & m]
    -       (try
    -         (let [user (.getUserName http-creds-handler servlet-request)]
    -           (download-log-file file servlet-request servlet-response user 
log-root))
    -         (catch InvalidRequestException ex
    -           (log-error ex)
    -           (ring-response-from-exception ex))))
    +    ;; We do not use servlet-response here, but do not remove it from the
    +    ;; :keys list, or this rule could stop working when an authentication
    +    ;; filter is configured.
    --- End diff --
    
    It seems we do use `servlet-response` here, so can we remove this comment?


> Worker Artifacts Directory
> --------------------------
>
>                 Key: STORM-901
>                 URL: https://issues.apache.org/jira/browse/STORM-901
>             Project: Apache Storm
>          Issue Type: New Feature
>          Components: storm-core
>            Reporter: Robert Joseph Evans
>            Assignee: Zhuo Liu
>         Attachments: daemon-logs-view.png, worker-logs-view.png
>
>
> At Yahoo we have added in a separate directory that stores a workers log 
> files, but also provides a place where the worker can place other files that 
> it might help with debugging.  It is a new directory in the current working 
> directory of the worker process.  The files in there are cleaned up if they 
> get too large, but provides a place for heap dumps GC logs, etc.
> This work is already done, but needs to be put back into open source.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to