ASF GitHub Bot commented on DRILL-5270:
---------------------------------------
Github user kkhatua commented on a diff in the pull request:
https://github.com/apache/drill/pull/755#discussion_r171945885
--- Diff:
exec/java-exec/src/main/java/org/apache/drill/exec/store/sys/store/LocalPersistentStore.java
---
@@ -112,23 +127,65 @@ public static DrillFileSystem
getFileSystem(DrillConfig config, Path root) throw
@Override
public Iterator<Map.Entry<String, V>> getRange(int skip, int take) {
+ //Marking currently seen modification time
+ long currBasePathModified = 0L;
+ try {
+ currBasePathModified =
fs.getFileStatus(basePath).getModificationTime();
+ } catch (IOException ioexcp) {
+ ioexcp.printStackTrace();
+ }
+
+ //Acquiring lock to avoid reloading for request coming in before
completion of profile read
--- End diff --
I'll provide the explanation below.
> Improve loading of profiles listing in the WebUI
> ------------------------------------------------
>
> Key: DRILL-5270
> URL: https://issues.apache.org/jira/browse/DRILL-5270
> Project: Apache Drill
> Issue Type: Improvement
> Components: Web Server
> Affects Versions: 1.9.0
> Reporter: Kunal Khatua
> Assignee: Kunal Khatua
> Priority: Major
> Fix For: 1.14.0
>
>
> Currently, as the number of profiles increase, we reload the same list of
> profiles from the FS.
> An ideal improvement would be to detect if there are any new profiles and
> only reload from the disk then. Otherwise, a cached list is sufficient.
> For a directory of 280K profiles, the load time is close to 6 seconds on a 32
> core server. With the caching, we can get it down to as much as a few
> milliseconds.
> To render the cache as invalid, we inspect the last modified time of the
> directory to confirm whether a reload is needed.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)