RFR: 8345286: Remove use of SecurityManager API from misc areas [v2]
Severin Gehwolf
sgehwolf at openjdk.org
Mon Dec 2 13:46:42 UTC 2024
On Mon, 2 Dec 2024 13:39:57 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:
>> Can I please get a review of this change which removes usages of SecurityManager related APIs and some leftover related to SecurityManager changes?
>>
>> This addresses https://bugs.openjdk.org/browse/JDK-8345286. Most of these changes are trivial. The `src/java.base/linux/classes/jdk/internal/platform/CgroupUtil.java` used to expose utility methods for dealing with SecurityManager permissions and it was called from a few places. That class is no longer needed with the clean up done in this PR.
>>
>> No new tests have been introduced and tier testing is currently in progress.
>
> Jaikiran Pai has updated the pull request incrementally with four additional commits since the last revision:
>
> - remove unnecessary space
> - Path.of() instead of Paths.get()
> - fix formatting of try-with-resources in CgroupSubsystemController.java
> - leave out MethodUtil from the clean up
I've reviewed only the cgroups parts.
src/java.base/linux/classes/jdk/internal/platform/CgroupSubsystemController.java line 70:
> 68: String line = bufferedReader.readLine();
> 69: return line;
> 70: } catch (IOException e) {
We can use `Files.lines` here right away:
Suggestion:
try (Stream<String> lines = Files.lines(filePath)) {
Optional<String> firstLine = lines.findFirst();
return firstLine.orElse(null);
} catch (UncheckedIOException | IOException e) {
src/java.base/linux/classes/jdk/internal/platform/CgroupSubsystemController.java line 71:
> 69: String line = bufferedReader.readLine();
> 70: return line;
> 71: } catch (IOException e) {
I think we can do this refactoring now:
Suggestion:
try (Stream<String> lines =
Files.lines(Paths.of(controller.path(), param))) {
Optional<String> firstLine = lines.findFirst();
return firstLine.orElse(null);
} catch (IOException e) {
src/java.base/linux/classes/jdk/internal/platform/cgroupv2/CgroupV2Subsystem.java line 332:
> 330:
> 331: private long sumTokensIOStat(Function<String, Long> mapFunc) {
> 332: try (Stream<String> lines = Files.lines(Paths.get(unified.path(), "io.stat"))) {
Suggestion:
try (Stream<String> lines = Files.lines(Paths.of(unified.path(), "io.stat"))) {
src/java.base/linux/classes/jdk/internal/platform/cgroupv2/CgroupV2Subsystem.java line 334:
> 332: try (Stream<String> lines = Files.lines(Paths.get(unified.path(), "io.stat"))) {
> 333: return lines.map(mapFunc)
> 334: .collect(Collectors.summingLong(e -> e));
Suggestion:
return lines.map(mapFunc)
.collect(Collectors.summingLong(e -> e));
-------------
PR Review: https://git.openjdk.org/jdk/pull/22478#pullrequestreview-2472643767
PR Review Comment: https://git.openjdk.org/jdk/pull/22478#discussion_r1865876078
PR Review Comment: https://git.openjdk.org/jdk/pull/22478#discussion_r1865860841
PR Review Comment: https://git.openjdk.org/jdk/pull/22478#discussion_r1865815063
PR Review Comment: https://git.openjdk.org/jdk/pull/22478#discussion_r1865865085
More information about the serviceability-dev
mailing list