[ https://issues.apache.org/jira/browse/NIFI-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Byunghwa Yun updated NIFI-2858: ------------------------------- Description: When NiFi cluster is busy, Sometimes Cluster of Global Menu throws below an exception. So, I was tracking that exception to find a problem that getSystemLoadAverage of OperatingSystemMXBean sometimes returns a negative value. 2016-10-04 14:53:20,488 ERROR [NiFi Web Server-40942] o.a.nifi.web.api.config.ThrowableMapper An unexpected error has occurred: java.lang.NullPointerException. Returning Internal Server Error response. java.lang.NullPointerException: null at org.apache.nifi.cluster.manager.StatusMerger.merge(StatusMerger.java:576) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.cluster.manager.StatusMerger.merge(StatusMerger.java:548) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.cluster.coordination.http.endpoints.SystemDiagnosticsEndpointMerger.mergeResponses(SystemDiagnosticsEndpointMerger.java:69) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.cluster.coordination.http.endpoints.SystemDiagnosticsEndpointMerger.mergeResponses(SystemDiagnosticsEndpointMerger.java:31) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.cluster.coordination.http.endpoints.AbstractNodeStatusEndpoint.mergeResponses(AbstractNodeStatusEndpoint.java:41) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.cluster.coordination.http.endpoints.AbstractSingleDTOEndpoint.merge(AbstractSingleDTOEndpoint.java:48) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.cluster.coordination.http.StandardHttpResponseMerger.mergeResponses(StandardHttpResponseMerger.java:179) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.cluster.coordination.http.replication.StandardAsyncClusterResponse.getMergedResponse(StandardAsyncClusterResponse.java:145) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.cluster.coordination.http.replication.StandardAsyncClusterResponse.awaitMergedResponse(StandardAsyncClusterResponse.java:160) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.web.api.SystemDiagnosticsResource.getSystemDiagnostics(SystemDiagnosticsResource.java:141) ~[classes/:na] at sun.reflect.GeneratedMethodAccessor988.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_51] at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_51] at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) [jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) [jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) [jersey-server-1.19.jar:1.19] When systemLoad of SystemDiagnosticsFactory is negative, it skips setting setProcessorLoadAverage of SystemDiagnostics. if (systemLoad > 0) { systemDiagnostics.setProcessorLoadAverage(systemLoad); } I think when getSystemLoadAverage returns a negative value, systemLoad sets -1.0. Thank you. was: When NiFi cluster is busy, Sometimes Cluster of Global Menu throws below an exception. So, I was tracking that exception to find a problem that getSystemLoadAverage of OperatingSystemMXBean sometimes returns a negative value. 2016-10-04 14:53:20,488 ERROR [NiFi Web Server-40942] o.a.nifi.web.api.config.ThrowableMapper An unexpected error has occurred: java.lang.NullPointerException. Returning Internal Server Error response. java.lang.NullPointerException: null at org.apache.nifi.cluster.manager.StatusMerger.merge(StatusMerger.java:576) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.cluster.manager.StatusMerger.merge(StatusMerger.java:548) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.cluster.coordination.http.endpoints.SystemDiagnosticsEndpointMerger.mergeResponses(SystemDiagnosticsEndpointMerger.java:69) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.cluster.coordination.http.endpoints.SystemDiagnosticsEndpointMerger.mergeResponses(SystemDiagnosticsEndpointMerger.java:31) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.cluster.coordination.http.endpoints.AbstractNodeStatusEndpoint.mergeResponses(AbstractNodeStatusEndpoint.java:41) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.cluster.coordination.http.endpoints.AbstractSingleDTOEndpoint.merge(AbstractSingleDTOEndpoint.java:48) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.cluster.coordination.http.StandardHttpResponseMerger.mergeResponses(StandardHttpResponseMerger.java:179) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.cluster.coordination.http.replication.StandardAsyncClusterResponse.getMergedResponse(StandardAsyncClusterResponse.java:145) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.cluster.coordination.http.replication.StandardAsyncClusterResponse.awaitMergedResponse(StandardAsyncClusterResponse.java:160) ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] at org.apache.nifi.web.api.SystemDiagnosticsResource.getSystemDiagnostics(SystemDiagnosticsResource.java:141) ~[classes/:na] at sun.reflect.GeneratedMethodAccessor988.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_51] at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_51] at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) [jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) [jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) [jersey-server-1.19.jar:1.19] When systemLoad of SystemDiagnosticsFactory is negative, it skips setting setProcessorLoadAverage of SystemDiagnostics. if (systemLoad > 0) { systemDiagnostics.setProcessorLoadAverage(systemLoad); } I think when getSystemLoadAverage returns a negative value, systemLoad sets 1. Thank you. > getSystemLoadAverage of OperatingSystemMXBean sometimes returns a negative > value. > --------------------------------------------------------------------------------- > > Key: NIFI-2858 > URL: https://issues.apache.org/jira/browse/NIFI-2858 > Project: Apache NiFi > Issue Type: Bug > Components: Core Framework > Affects Versions: 1.1.0 > Reporter: Byunghwa Yun > > When NiFi cluster is busy, Sometimes Cluster of Global Menu throws below an > exception. > So, I was tracking that exception to find a problem that getSystemLoadAverage > of OperatingSystemMXBean sometimes returns a negative value. > 2016-10-04 14:53:20,488 ERROR [NiFi Web Server-40942] > o.a.nifi.web.api.config.ThrowableMapper An unexpected error has occurred: > java.lang.NullPointerException. Returning Internal Server Error response. > java.lang.NullPointerException: null > at > org.apache.nifi.cluster.manager.StatusMerger.merge(StatusMerger.java:576) > ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] > at > org.apache.nifi.cluster.manager.StatusMerger.merge(StatusMerger.java:548) > ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] > at > org.apache.nifi.cluster.coordination.http.endpoints.SystemDiagnosticsEndpointMerger.mergeResponses(SystemDiagnosticsEndpointMerger.java:69) > ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] > at > org.apache.nifi.cluster.coordination.http.endpoints.SystemDiagnosticsEndpointMerger.mergeResponses(SystemDiagnosticsEndpointMerger.java:31) > ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] > at > org.apache.nifi.cluster.coordination.http.endpoints.AbstractNodeStatusEndpoint.mergeResponses(AbstractNodeStatusEndpoint.java:41) > ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] > at > org.apache.nifi.cluster.coordination.http.endpoints.AbstractSingleDTOEndpoint.merge(AbstractSingleDTOEndpoint.java:48) > ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] > at > org.apache.nifi.cluster.coordination.http.StandardHttpResponseMerger.mergeResponses(StandardHttpResponseMerger.java:179) > ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] > at > org.apache.nifi.cluster.coordination.http.replication.StandardAsyncClusterResponse.getMergedResponse(StandardAsyncClusterResponse.java:145) > ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] > at > org.apache.nifi.cluster.coordination.http.replication.StandardAsyncClusterResponse.awaitMergedResponse(StandardAsyncClusterResponse.java:160) > ~[nifi-framework-cluster-1.1.0-SNAPSHOT.jar:1.1.0-SNAPSHOT] > at > org.apache.nifi.web.api.SystemDiagnosticsResource.getSystemDiagnostics(SystemDiagnosticsResource.java:141) > ~[classes/:na] > at sun.reflect.GeneratedMethodAccessor988.invoke(Unknown Source) > ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_51] > at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_51] > at > com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) > ~[jersey-server-1.19.jar:1.19] > at > com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205) > ~[jersey-server-1.19.jar:1.19] > at > com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) > ~[jersey-server-1.19.jar:1.19] > at > com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) > ~[jersey-server-1.19.jar:1.19] > at > com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) > ~[jersey-server-1.19.jar:1.19] > at > com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) > ~[jersey-server-1.19.jar:1.19] > at > com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) > ~[jersey-server-1.19.jar:1.19] > at > com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) > [jersey-server-1.19.jar:1.19] > at > com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) > [jersey-server-1.19.jar:1.19] > at > com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) > [jersey-server-1.19.jar:1.19] > When systemLoad of SystemDiagnosticsFactory is negative, it skips setting > setProcessorLoadAverage of SystemDiagnostics. > if (systemLoad > 0) { > systemDiagnostics.setProcessorLoadAverage(systemLoad); > } > I think when getSystemLoadAverage returns a negative value, systemLoad sets > -1.0. > Thank you. -- This message was sent by Atlassian JIRA (v6.3.4#6332)