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

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

GitHub user zhuoliu reopened a pull request:

    https://github.com/apache/storm/pull/822

    [STORM-901] Worker Artifacts Directory for Hierarchical Log Management and 
Debugging

    Originally all logs (both for workers and daemons) are under 
storm-home/logs, this causes name confusion 
("wc22-1-1445957152-worker-6700.log") and difficulty for debugging (hard to 
store and manage heapdump and gc log files for all topologies' workers in a 
single directory). 
    For better management, we present the Worker Artifacts Directory for 
Hierarchical Log Management and Debugging: 
    
    1. workers' logs and metadata are moved to the new directory 
"storm-local/workers-artifacts", while daemon logs are still placed in 
storm-home/logs. 
    
    2. Cleanup, view and list implementations are modified accordingly in 
logviewer and UI. Specifically, we add per-worker quota and total quota for 
files' size, and the cleanup thread will periodically cleanup the oldest files 
in each worker directory and the whole artifacts if the quota is exceeded. Note 
that, the active workers' active logs will be skipped during cleaning.
    
    3. In addition, a symlink called artifacts is created from each worker's 
directory to its log directory "workers-artifacts/topoId/port/". gc.log and 
heapdump files can be configured by users to place under this symlink, thus 
able to be downloaded from UI conveniently. Other useful features can be easily 
support by worker artifacts directory, where their resource files can be dumped.
    
    4. Unit tests are added and the event log are supported under each worker's 
artifacts directory.
    
    Current log structures under storm-local/workers-artifacts:
    --topoId0
    --topoId1
    ------port1
    ------port2
            ---------worker.log
            ---------worker.log.err 
            ---------worker.log.out
            ---------worker.yaml
            ---------gc.log
            ----------heapdump
            ----------events.log

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/zhuoliu/storm 901

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/storm/pull/822.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #822
    
----
commit 4ab6a0f2d2af36102157b632ee55929534165b36
Author: zhuol <[email protected]>
Date:   2015-10-26T16:37:43Z

    STORM-901 worker-artifacts for logviewer

commit 28899baf3a24ab435cbb3db13decafb652ba3afe
Author: zhuol <[email protected]>
Date:   2015-10-26T20:50:10Z

    Solve event-log issue, ui, dir, routes, listLogs

commit 8d9bb1fb8cddef900d53d42b06fd8952cb5b4cb7
Author: zhuol <[email protected]>
Date:   2015-10-27T02:59:27Z

    Fix supervisor test

commit c7bbd091b06b68bd8d22a6f66a4210bcf4a475fa
Author: zhuol <[email protected]>
Date:   2015-10-27T14:34:03Z

    Add unit tests for logviewer cleanup, filter, sorting, etc.

----


> 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
>
> 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