[crac] RFR: Report checkpoint processing to jcmd [v16]

Anton Kozlov akozlov at openjdk.org
Wed Jul 27 18:01:06 UTC 2022


On Tue, 26 Jul 2022 18:13:19 GMT, Ilarion Nakonechnyy <inakonechnyy at openjdk.org> wrote:

>> pass output stream from diagnosticCommand.cpp through java code into os_linux.cpp::VM_crac::doit()
>
> Ilarion Nakonechnyy has updated the pull request incrementally with one additional commit since the last revision:
> 
>   corrections

Few notes from my side. I haven't run this yet, will try in a couple of days. Thanks!

src/hotspot/os/linux/os_linux.cpp line 6238:

> 6236:         print_resources(ostream, "OK: jcmd socket");
> 6237:         ok = true;
> 6238:         continue;

You should not reset `ok` state here -- continue below should be enough. Otherwise you may lose info about e.g. previously found socket.

src/hotspot/os/linux/os_linux.cpp line 6255:

> 6253:     if (CRHeapDumpOnCheckpointException){
> 6254:       HeapDumper::dump_heap();
> 6255:     }

What is the reason for this change? CRDoThrowCheckpointException is useful sometimes. Please revert back.

src/hotspot/os/linux/os_linux.cpp line 6387:

> 6385:   {
> 6386:     cr.jcmd_operation = (LinuxAttachOperation *) op;
> 6387:     cr.ostream = (outputStream *) stream;

Please initialize these in the constructor.

src/java.base/share/classes/jdk/crac/Core.java line 268:

> 266:                 }
> 267:             }
> 268:         }

Let's move the whole recursive check from public checkpointRestore() here, and make that only to call the private method.

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

Changes requested by akozlov (Lead).

PR: https://git.openjdk.org/crac/pull/10


More information about the crac-dev mailing list