[ https://issues.apache.org/jira/browse/YARN-4265?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Li Lu updated YARN-4265: ------------------------ Attachment: YARN-4265-trunk.005.patch Thanks [~djp] and [~liuml07] for the help! Since we need to handle files with appends, we cannot directly use directory modification time to decide if the contents of a directory has been changed. This means we also need to change some logics in the cleanLogs method. I redesigned cleanLogs method to perform a log scan with two methods: Method 1: For the given directory, search (in a depth first fashion) to find out application log directories. For each of them, call method 2. Method 2: For the given application log directory, search all files inside. If there exists a file that has been "recently" (as defined by the configs) updates, skip removing this directory. Otherwise, remove this application log directory. In this way we can search inside a directory for all application log directories that need to be reclaimed. According to Junping's suggestion, I've also added a new unit test (testCleanLogs) to cover common cases for the cleanLogs method. > Provide new timeline plugin storage to support fine-grained entity caching > -------------------------------------------------------------------------- > > Key: YARN-4265 > URL: https://issues.apache.org/jira/browse/YARN-4265 > Project: Hadoop YARN > Issue Type: Sub-task > Components: timelineserver > Reporter: Li Lu > Assignee: Li Lu > Attachments: YARN-4265-trunk.001.patch, YARN-4265-trunk.002.patch, > YARN-4265-trunk.003.patch, YARN-4265-trunk.004.patch, > YARN-4265-trunk.005.patch, YARN-4265.YARN-4234.001.patch, > YARN-4265.YARN-4234.002.patch > > > To support the newly proposed APIs in YARN-4234, we need to create a new > plugin timeline store. The store may have similar behavior as the > EntityFileTimelineStore proposed in YARN-3942, but cache date in cache id > granularity, instead of application id granularity. Let's have this storage > as a standalone one, instead of updating EntityFileTimelineStore, to keep the > existing store (EntityFileTimelineStore) stable. -- This message was sent by Atlassian JIRA (v6.3.4#6332)