JDK 9 RFC on 8151955: java.util.prefs: removeNode() / removeNodeSpi(): Node is permanently removed even when no flush() is invoked

Brian Burkhalter brian.burkhalter at oracle.com
Thu Dec 15 16:49:47 UTC 2016

Hi Roger,

On Dec 15, 2016, at 7:21 AM, Roger Riggs <Roger.Riggs at Oracle.com> wrote:

> I read it to say that changes can become permanent at any time (lazy or aggressive) and
> are guaranteed to be permanent only with a flush().
> It does indicate for normal termination, the equivalent of flush occurs, making pending changes permanent.
> There is no statement that ensures a change will *not* become permanent until a specific action.

All my reading as well. A flush of pending changes occurs at termination on Linux and OS X by means of a shutdown hook; on Windows the change is immediate as it is done via a registry call.

> So, not a bug.

I will resolve it as “Not an Issue” this week unless I hear an objection from someone else.



More information about the core-libs-dev mailing list