You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by tu...@apache.org on 2021/04/08 08:07:37 UTC
[nifi] branch main updated: NIFI-8400: Use longs in
SystemDiagnostics, add null checks
This is an automated email from the ASF dual-hosted git repository.
turcsanyi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new 33ec8c8 NIFI-8400: Use longs in SystemDiagnostics, add null checks
33ec8c8 is described below
commit 33ec8c8427eb2cebf52f5f91e81785bc285e6544
Author: Matthew Burgess <ma...@apache.org>
AuthorDate: Wed Apr 7 13:37:19 2021 -0400
NIFI-8400: Use longs in SystemDiagnostics, add null checks
This closes #4980.
Signed-off-by: Peter Turcsanyi <tu...@apache.org>
---
.../apache/nifi/diagnostics/SystemDiagnostics.java | 6 +++---
.../nifi/diagnostics/SystemDiagnosticsFactory.java | 24 ++++++++++++++--------
2 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/diagnostics/SystemDiagnostics.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/diagnostics/SystemDiagnostics.java
index 1190845..ac9f1f6 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/diagnostics/SystemDiagnostics.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/diagnostics/SystemDiagnostics.java
@@ -39,9 +39,9 @@ public class SystemDiagnostics implements Cloneable {
private int totalThreads;
private int daemonThreads;
- private Long totalPhysicalMemory;
- private Long maxOpenFileHandles;
- private Long openFileHandles;
+ private long totalPhysicalMemory;
+ private long maxOpenFileHandles;
+ private long openFileHandles;
private long uptime;
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/diagnostics/SystemDiagnosticsFactory.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/diagnostics/SystemDiagnosticsFactory.java
index 5c86495..0316baa 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/diagnostics/SystemDiagnosticsFactory.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/diagnostics/SystemDiagnosticsFactory.java
@@ -16,6 +16,12 @@
*/
package org.apache.nifi.diagnostics;
+import org.apache.nifi.controller.repository.ContentRepository;
+import org.apache.nifi.controller.repository.FlowFileRepository;
+import org.apache.nifi.provenance.ProvenanceRepository;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import java.io.IOException;
import java.lang.management.GarbageCollectorMXBean;
import java.lang.management.ManagementFactory;
@@ -31,12 +37,6 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.apache.nifi.controller.repository.ContentRepository;
-import org.apache.nifi.controller.repository.FlowFileRepository;
-import org.apache.nifi.provenance.ProvenanceRepository;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* A factory for creating system diagnostics.
*
@@ -163,17 +163,23 @@ public class SystemDiagnosticsFactory {
final Method totalPhysicalMemory = unixOsMxBeanClass.getMethod("getTotalPhysicalMemorySize");
totalPhysicalMemory.setAccessible(true);
final Long ramBytes = (Long) totalPhysicalMemory.invoke(osStats);
- systemDiagnostics.setTotalPhysicalMemory(ramBytes);
+ if (ramBytes != null) {
+ systemDiagnostics.setTotalPhysicalMemory(ramBytes);
+ }
final Method maxFileDescriptors = unixOsMxBeanClass.getMethod("getMaxFileDescriptorCount");
maxFileDescriptors.setAccessible(true);
final Long maxOpenFileDescriptors = (Long) maxFileDescriptors.invoke(osStats);
- systemDiagnostics.setMaxOpenFileHandles(maxOpenFileDescriptors);
+ if (maxOpenFileDescriptors != null) {
+ systemDiagnostics.setMaxOpenFileHandles(maxOpenFileDescriptors);
+ }
final Method openFileDescriptors = unixOsMxBeanClass.getMethod("getOpenFileDescriptorCount");
openFileDescriptors.setAccessible(true);
final Long openDescriptorCount = (Long) openFileDescriptors.invoke(osStats);
- systemDiagnostics.setOpenFileHandles(openDescriptorCount);
+ if (openDescriptorCount != null) {
+ systemDiagnostics.setOpenFileHandles(openDescriptorCount);
+ }
}
} catch (final Throwable t) {
// Ignore. This will throw either ClassNotFound or NoClassDefFoundError if unavailable in this JVM.