From 32f4d8b5eaf8c5fa5da745bc1348f513e2ffe3d3 Mon Sep 17 00:00:00 2001 From: Erik Gahlin Date: Tue, 7 Mar 2023 22:32:45 +0000 Subject: [PATCH] 8303681: JFR: RemoteRecordingStream::setMaxAge() should accept null Reviewed-by: mgronlun --- .../classes/jdk/management/jfr/DiskRepository.java | 4 +++- .../jdk/management/jfr/RemoteRecordingStream.java | 1 - test/jdk/jdk/jfr/jmx/streaming/TestDelegated.java | 10 +++------- 3 files changed, 6 insertions(+), 9 deletions(-) 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 4b3fda3defd..24fd768dd41 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 @@ final class DiskRepository implements Closeable { 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 1b21191f3ad..ddf4ffa72de 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 final class RemoteRecordingStream implements EventStream { * 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 2232000a559..04a9139b122 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 @@ public class TestDelegated { } // 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 class TestDelegated { 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 - } } }