On Thu, 6 May 2021 20:41:40 GMT, Kevin Walls <[email protected]> wrote:

> This is a merge request to fix the issue where a running jstatd does not see 
> JVMs in docker containers started since the jstatd itself started.
> 
> jstatd was using the set of temp directories gathered on startup to scan for 
> VMs, by reading their perfdata file.  That includes existing running VMs in 
> docker instances using tmp dirs such as /proc/PID/root/tmp/.  But it needs to 
> re-evaluate that set of temp dirs continually to see new VMs in docker 
> containers.  Rescanning also means it "forgets" about tmp dirs which have 
> disappeared, for containers that have shutdown, and it will now not be 
> scanning those directories forever.
> 
> Have been testing this manually, watching jps connecting to jstatd and show 
> newly created JVMs in docker containers come and go.  Running existing tests 
> OK so far.

src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/LocalVmManager.java
 line 79:

> 77:     public LocalVmManager(String user) {
> 78:         this.userName = user;
> 79:         setTempDirs();

Is this call necessary? It looks like we don't need to hold `tmpdirs` anymore. 
Can we remove `tmpdirs` from class member and can call 
`PerfDataFile.getTempDirectories()` directly at L138?

-------------

PR: https://git.openjdk.java.net/jdk/pull/3908

Reply via email to