diff --git a/src/jdk.management.jfr/share/classes/jdk/management/jfr/DiskRepository.java b/src/jdk.management.jfr/share/classes/jdk/management/jfr/DiskRepository.java index 4b3fda3defd49..24fd768dd414c 100644 --- a/src/jdk.management.jfr/share/classes/jdk/management/jfr/DiskRepository.java +++ b/src/jdk.management.jfr/share/classes/jdk/management/jfr/DiskRepository.java @@ -409,7 +409,9 @@ public synchronized void close() throws IOException { public synchronized void setMaxAge(Duration maxAge) { this.maxAge = maxAge; - trimToAge(Instant.now().minus(maxAge)); + if (maxAge != null) { + trimToAge(Instant.now().minus(maxAge)); + } } public synchronized void setMaxSize(long maxSize) { diff --git a/src/jdk.management.jfr/share/classes/jdk/management/jfr/RemoteRecordingStream.java b/src/jdk.management.jfr/share/classes/jdk/management/jfr/RemoteRecordingStream.java index 1b21191f3add8..ddf4ffa72de29 100644 --- a/src/jdk.management.jfr/share/classes/jdk/management/jfr/RemoteRecordingStream.java +++ b/src/jdk.management.jfr/share/classes/jdk/management/jfr/RemoteRecordingStream.java @@ -410,7 +410,6 @@ public EventSettings enable(String name) { * state */ public void setMaxAge(Duration maxAge) { - Objects.requireNonNull(maxAge); synchronized (lock) { repository.setMaxAge(maxAge); this.maxAge = maxAge; diff --git a/test/jdk/jdk/jfr/jmx/streaming/TestDelegated.java b/test/jdk/jdk/jfr/jmx/streaming/TestDelegated.java index 2232000a559c5..04a9139b12272 100644 --- a/test/jdk/jdk/jfr/jmx/streaming/TestDelegated.java +++ b/test/jdk/jdk/jfr/jmx/streaming/TestDelegated.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -49,7 +49,7 @@ static class TestDelegatedEvent extends Event { } // The assumption here is that the following methods don't - // need t be tested fully since they all delegate to the + // need to be tested fully since they all delegate to the // same implementation class that is tested elsewhere. public static void main(String[] args) throws Exception { @@ -70,12 +70,8 @@ public static void main(String[] args) throws Exception { private static void testSetMaxAge() throws Exception { try (RemoteRecordingStream stream = new RemoteRecordingStream(CONNECTION)) { - try { + stream.setMaxAge(Duration.ofHours(1)); stream.setMaxAge(null); - throw new Exception("Expected NullPointerException"); - } catch (NullPointerException npe) { - // As expected - } } }