Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

preview exits with null pointer exception #73

Open
kaituo opened this issue Mar 23, 2020 · 1 comment
Open

preview exits with null pointer exception #73

kaituo opened this issue Mar 23, 2020 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@kaituo
Copy link
Member

kaituo commented Mar 23, 2020

[2020-03-23T00:15:33,597][ERROR][c.a.o.a.r.RestExecuteAnomalyDetectorAction] [9801a7a977f1.ant.amazon.com] Unexpected error running anomaly detector jLajBXEBpozDUoJ-TiW2
java.lang.NullPointerException: null
at com.amazon.opendistroforelasticsearch.ad.model.AnomalyResult.toXContent(AnomalyResult.java:94) ~[?:?]
at org.elasticsearch.common.xcontent.XContentBuilder.value(XContentBuilder.java:857) ~[elasticsearch-x-content-7.4.2.jar:7.4.2]
at org.elasticsearch.common.xcontent.XContentBuilder.value(XContentBuilder.java:850) ~[elasticsearch-x-content-7.4.2.jar:7.4.2]
at org.elasticsearch.common.xcontent.XContentBuilder.unknownValue(XContentBuilder.java:828) ~[elasticsearch-x-content-7.4.2.jar:7.4.2]
at org.elasticsearch.common.xcontent.XContentBuilder.value(XContentBuilder.java:915) ~[elasticsearch-x-content-7.4.2.jar:7.4.2]
at org.elasticsearch.common.xcontent.XContentBuilder.unknownValue(XContentBuilder.java:824) ~[elasticsearch-x-content-7.4.2.jar:7.4.2]
at org.elasticsearch.common.xcontent.XContentBuilder.value(XContentBuilder.java:804) ~[elasticsearch-x-content-7.4.2.jar:7.4.2]
at org.elasticsearch.common.xcontent.XContentBuilder.field(XContentBuilder.java:895) ~[elasticsearch-x-content-7.4.2.jar:7.4.2]
at com.amazon.opendistroforelasticsearch.ad.rest.RestExecuteAnomalyDetectorAction$1.lambda$processResponse$0(RestExecuteAnomalyDetectorAction.java:192) ~[?:?]
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:62) [elasticsearch-7.4.2.jar:7.4.2]
at com.amazon.opendistroforelasticsearch.ad.AnomalyDetectorRunner.lambda$executeDetector$0(AnomalyDetectorRunner.java:67) [opendistro-anomaly-detection-1.4.0.0.jar:1.4.0.0]
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:62) [elasticsearch-7.4.2.jar:7.4.2]
at com.amazon.opendistroforelasticsearch.ad.feature.FeatureManager.lambda$getPreviewFeatures$17(FeatureManager.java:372) [opendistro-anomaly-detection-1.4.0.0.jar:1.4.0.0]
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:62) [elasticsearch-7.4.2.jar:7.4.2]
at com.amazon.opendistroforelasticsearch.ad.feature.FeatureManager.lambda$getSamplesForRanges$22(FeatureManager.java:441) [opendistro-anomaly-detection-1.4.0.0.jar:1.4.0.0]
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:62) [elasticsearch-7.4.2.jar:7.4.2]
at com.amazon.opendistroforelasticsearch.ad.feature.SearchFeatureDao.lambda$getFeatureSamplesForPeriods$17(SearchFeatureDao.java:226) [opendistro-anomaly-detection-1.4.0.0.jar:1.4.0.0]
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:62) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:70) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:64) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.action.search.AbstractSearchAsyncAction.sendSearchResponse(AbstractSearchAsyncAction.java:309) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.action.search.FetchSearchPhase$3.run(FetchSearchPhase.java:217) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.action.search.AbstractSearchAsyncAction.executePhase(AbstractSearchAsyncAction.java:180) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.action.search.AbstractSearchAsyncAction.executeNextPhase(AbstractSearchAsyncAction.java:174) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.action.search.ExpandSearchPhase.run(ExpandSearchPhase.java:119) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.action.search.AbstractSearchAsyncAction.executePhase(AbstractSearchAsyncAction.java:180) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.action.search.AbstractSearchAsyncAction.executeNextPhase(AbstractSearchAsyncAction.java:174) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.action.search.FetchSearchPhase.moveToNextPhase(FetchSearchPhase.java:210) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.action.search.FetchSearchPhase.lambda$innerRun$2(FetchSearchPhase.java:104) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.action.search.FetchSearchPhase.innerRun(FetchSearchPhase.java:110) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.action.search.FetchSearchPhase.access$000(FetchSearchPhase.java:44) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.action.search.FetchSearchPhase$1.doRun(FetchSearchPhase.java:86) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.common.util.concurrent.TimedRunnable.doRun(TimedRunnable.java:44) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:773) [elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-7.4.2.jar:7.4.2]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:835) [?:?]
[2020-03-23T00:18:12,116][INFO ][c.a.o.j.s.JobSweeper ] [9801a7a977f1.ant.amazon.com] Running full sweep
[2020-03-23T00:23:12,134][INFO ][c.a.o.j.s.JobSweeper ] [9801a7a977f1.ant.amazon.com] Running full sweep
[2020-03-23T00:28:12,163][INFO ][c.a.o.j.s.JobSweeper ] [9801a7a977f1.ant.amazon.com] Running full sweep
[2020-03-23T00:33:12,178][INFO ][c.a.o.j.s.JobSweeper ] [9801a7a977f1.ant.amazon.com] Running full sweep

@kaituo
Copy link
Member Author

kaituo commented Mar 27, 2020

need to create a unit test to prevent future regression: In this specific case, the issue occurs in the toXContent method of AnomalyResult class. The test case is just create an input AnomalyResult object that causes the toXContent method to throw NPE before the fix and verify that after the changes, the method does not. A public method is as smallest a unit as there can be.

@kaituo kaituo self-assigned this Mar 27, 2020
@ylwu-amzn ylwu-amzn added the bug Something isn't working label Apr 23, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants