You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@brooklyn.apache.org by "Aled Sage (JIRA)" <ji...@apache.org> on 2017/09/20 19:19:00 UTC

[jira] [Created] (BROOKLYN-538) IllegalArgumentException parsing (null?) json response in http feed

Aled Sage created BROOKLYN-538:
----------------------------------

             Summary: IllegalArgumentException parsing (null?) json response in http feed
                 Key: BROOKLYN-538
                 URL: https://issues.apache.org/jira/browse/BROOKLYN-538
             Project: Brooklyn
          Issue Type: Bug
            Reporter: Aled Sage
            Priority: Minor


I found this exception in my log (using bleeding edge 0.12.0-SNAPSHOT):

{noformat}
2017-09-20T14:44:22,427 WARN  122 o.a.b.c.f.AttributePollHandler [ger-H3hclarI-321] unable to compute VanillaSoftwareProcessImpl{id=s588wsizik}->Sensor: planeId (java.lang.String); on val=HttpToolResponse{responseCode=200}
java.lang.IllegalArgumentException: json can not be null
        at com.jayway.jsonpath.internal.Utils.notNull(Utils.java:316) [71:com.jayway.jsonpath.json-path:2.4.0]
        at com.jayway.jsonpath.internal.JsonContext.<init>(JsonContext.java:47) [71:com.jayway.jsonpath.json-path:2.4.0]
        at com.jayway.jsonpath.internal.ParseContextImpl.parse(ParseContextImpl.java:38) [71:com.jayway.jsonpath.json-path:2.4.0]
        at com.jayway.jsonpath.JsonPath.read(JsonPath.java:502) [71:com.jayway.jsonpath.json-path:2.4.0]
        at org.apache.brooklyn.feed.http.JsonFunctions$GetPath.apply(JsonFunctions.java:320) [122:org.apache.brooklyn.core:0.12.0.SNAPSHOT]
        at org.apache.brooklyn.feed.http.JsonFunctions$GetPath.apply(JsonFunctions.java:310) [122:org.apache.brooklyn.core:0.12.0.SNAPSHOT]
        at com.google.common.base.Functions$FunctionComposition.apply(Functions.java:216) [66:com.google.guava:18.0.0]
        at org.apache.brooklyn.core.feed.AttributePollHandler.transformValueOnSuccess(AttributePollHandler.java:114) [122:org.apache.brooklyn.core:0.12.0.SNAPSHOT]
        at org.apache.brooklyn.core.feed.AttributePollHandler.onSuccess(AttributePollHandler.java:101) [122:org.apache.brooklyn.core:0.12.0.SNAPSHOT]
        at org.apache.brooklyn.core.feed.DelegatingPollHandler.onSuccess(DelegatingPollHandler.java:51) [122:org.apache.brooklyn.core:0.12.0.SNAPSHOT]
        at org.apache.brooklyn.core.feed.Poller$PollJob$1.run(Poller.java:79) [122:org.apache.brooklyn.core:0.12.0.SNAPSHOT]
        at org.apache.brooklyn.core.feed.Poller$1$1.call(Poller.java:160) [122:org.apache.brooklyn.core:0.12.0.SNAPSHOT]
        at org.apache.brooklyn.core.feed.Poller$1$1.call(Poller.java:153) [122:org.apache.brooklyn.core:0.12.0.SNAPSHOT]
        at org.apache.brooklyn.util.core.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:363) [122:org.apache.brooklyn.core:0.12.0.SNAPSHOT]
        at org.apache.brooklyn.util.core.task.BasicExecutionManager$ScheduledTaskCallable$1.call(BasicExecutionManager.java:451) [122:org.apache.brooklyn.core:0.12.0.SNAPSHOT]
        at org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:529) [122:org.apache.brooklyn.core:0.12.0.SNAPSHOT]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
        at java.lang.Thread.run(Thread.java:748) [?:?]
{noformat}

I presume it came from this http feed:
{noformat}
        - type: org.apache.brooklyn.core.sensor.http.HttpRequestSensor
          brooklyn.config:
            name: planeId
            period: 5s
            jsonPath: "$"
            uri:
              $brooklyn:formatString:
              - "%s/v1/server/planeid"
              - $brooklyn:attributeWhenReady("main.uri.public")
{noformat}

My guess is that the api returned {{null}}, but I've not yet tried writing a unit test to reproduce.

I'd have expected this to return the json value of {{null}} if that's what the value is.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)