You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by Chetan Mehrotra <ch...@gmail.com> on 2016/02/23 05:07:14 UTC

JMX Resource Provider and handling of Nan numbers

Hi,

While trying to get JSON rendition of Oak Metrics JMX MBeans I get
following exception [1]. This happens because one of the JMX Attribute
is having value as NaN.

How can such a case should be handled? Should JSON rendition omit such
values, or JMX ResourceProvider skip those attributes?

regards
Chetan Mehrotra

org.apache.sling.commons.json.JSONException: JSON does not allow
non-finite numbers
at org.apache.sling.commons.json.io.JSONRenderer.testNumberValidity(JSONRenderer.java:483)
at org.apache.sling.commons.json.JSONObject.testValidity(JSONObject.java:912)
at org.apache.sling.commons.json.JSONObject.put(JSONObject.java:856)
at org.apache.sling.commons.json.sling.JsonObjectCreator.createProperty(JsonObjectCreator.java:206)
at org.apache.sling.commons.json.sling.JsonObjectCreator.create(JsonObjectCreator.java:94)
at org.apache.sling.commons.json.sling.JsonObjectCreator.create(JsonObjectCreator.java:48)
at org.apache.sling.commons.json.sling.ResourceTraversor.adapt(ResourceTraversor.java:141)
at org.apache.sling.commons.json.sling.ResourceTraversor.collectResource(ResourceTraversor.java:128)
at org.apache.sling.commons.json.sling.ResourceTraversor.collectChildren(ResourceTraversor.java:99)
at org.apache.sling.commons.json.sling.ResourceTraversor.collectResources(ResourceTraversor.java:76)
at org.apache.sling.servlets.get.impl.helpers.JsonRendererServlet.doGet(JsonRendererServlet.java:100)

Re: JMX Resource Provider and handling of Nan numbers

Posted by Chetan Mehrotra <ch...@gmail.com>.
Thanks Carsten for the response. Opened SLING-5549 to track that
Chetan Mehrotra


On Tue, Feb 23, 2016 at 11:50 AM, Carsten Ziegeler <cz...@apache.org> wrote:
> Hmm I thought we already handle this case :(
> I think we should probably do both, at least the JSON renderer should
> handle the case, but skipping the attribute in the provider sounds right
> to me as well
>
> Carsten
>
> Chetan Mehrotra wrote
>> Hi,
>>
>> While trying to get JSON rendition of Oak Metrics JMX MBeans I get
>> following exception [1]. This happens because one of the JMX Attribute
>> is having value as NaN.
>>
>> How can such a case should be handled? Should JSON rendition omit such
>> values, or JMX ResourceProvider skip those attributes?
>>
>> regards
>> Chetan Mehrotra
>>
>> org.apache.sling.commons.json.JSONException: JSON does not allow
>> non-finite numbers
>> at org.apache.sling.commons.json.io.JSONRenderer.testNumberValidity(JSONRenderer.java:483)
>> at org.apache.sling.commons.json.JSONObject.testValidity(JSONObject.java:912)
>> at org.apache.sling.commons.json.JSONObject.put(JSONObject.java:856)
>> at org.apache.sling.commons.json.sling.JsonObjectCreator.createProperty(JsonObjectCreator.java:206)
>> at org.apache.sling.commons.json.sling.JsonObjectCreator.create(JsonObjectCreator.java:94)
>> at org.apache.sling.commons.json.sling.JsonObjectCreator.create(JsonObjectCreator.java:48)
>> at org.apache.sling.commons.json.sling.ResourceTraversor.adapt(ResourceTraversor.java:141)
>> at org.apache.sling.commons.json.sling.ResourceTraversor.collectResource(ResourceTraversor.java:128)
>> at org.apache.sling.commons.json.sling.ResourceTraversor.collectChildren(ResourceTraversor.java:99)
>> at org.apache.sling.commons.json.sling.ResourceTraversor.collectResources(ResourceTraversor.java:76)
>> at org.apache.sling.servlets.get.impl.helpers.JsonRendererServlet.doGet(JsonRendererServlet.java:100)
>>
>
>
>
> --
> Carsten Ziegeler
> Adobe Research Switzerland
> cziegeler@apache.org

Re: JMX Resource Provider and handling of Nan numbers

Posted by Carsten Ziegeler <cz...@apache.org>.
Hmm I thought we already handle this case :(
I think we should probably do both, at least the JSON renderer should
handle the case, but skipping the attribute in the provider sounds right
to me as well

Carsten

Chetan Mehrotra wrote
> Hi,
> 
> While trying to get JSON rendition of Oak Metrics JMX MBeans I get
> following exception [1]. This happens because one of the JMX Attribute
> is having value as NaN.
> 
> How can such a case should be handled? Should JSON rendition omit such
> values, or JMX ResourceProvider skip those attributes?
> 
> regards
> Chetan Mehrotra
> 
> org.apache.sling.commons.json.JSONException: JSON does not allow
> non-finite numbers
> at org.apache.sling.commons.json.io.JSONRenderer.testNumberValidity(JSONRenderer.java:483)
> at org.apache.sling.commons.json.JSONObject.testValidity(JSONObject.java:912)
> at org.apache.sling.commons.json.JSONObject.put(JSONObject.java:856)
> at org.apache.sling.commons.json.sling.JsonObjectCreator.createProperty(JsonObjectCreator.java:206)
> at org.apache.sling.commons.json.sling.JsonObjectCreator.create(JsonObjectCreator.java:94)
> at org.apache.sling.commons.json.sling.JsonObjectCreator.create(JsonObjectCreator.java:48)
> at org.apache.sling.commons.json.sling.ResourceTraversor.adapt(ResourceTraversor.java:141)
> at org.apache.sling.commons.json.sling.ResourceTraversor.collectResource(ResourceTraversor.java:128)
> at org.apache.sling.commons.json.sling.ResourceTraversor.collectChildren(ResourceTraversor.java:99)
> at org.apache.sling.commons.json.sling.ResourceTraversor.collectResources(ResourceTraversor.java:76)
> at org.apache.sling.servlets.get.impl.helpers.JsonRendererServlet.doGet(JsonRendererServlet.java:100)
> 


 
-- 
Carsten Ziegeler
Adobe Research Switzerland
cziegeler@apache.org