[aerogear-dev] Status code for /health endpoint ?
Matthias Wessendorf
matzew at apache.org
Thu Jul 7 09:13:11 EDT 2016
On Thu, Jul 7, 2016 at 3:00 PM, Luke Holmquist <lholmqui at redhat.com> wrote:
>
>
> On Thu, Jul 7, 2016 at 8:56 AM, Summers Pittman <supittma at redhat.com>
> wrote:
>
>>
>>
>> On Thu, Jul 7, 2016 at 7:26 AM, Matthias Wessendorf <matzew at apache.org>
>> wrote:
>>
>>> Hi,
>>>
>>> we have a /health endpoint:
>>>
>>> https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/util/HealthCheck.java#L54-L69
>>>
>>> that gives indication if the DB and the supported push-networks are
>>> reachable.
>>>
>>> If all goes well, it returns '200' and a response like:
>>> {"status":"ok","details":[{"description":"Database
>>> connection","result":"connected","runtime":191,"test_status":"ok"},{"description":"Google
>>> Cloud
>>> Messaging","result":"online","runtime":143,"test_status":"ok"},{"description":"Apple
>>> Push Network
>>> Sandbox","result":"online","runtime":260,"test_status":"ok"},{"description":"Apple
>>> Push Network
>>> Production","result":"online","runtime":263,"test_status":"ok"},{"description":"Windows
>>> Push
>>> Network","result":"online","runtime":351,"test_status":"ok"}],"summary":"Everything
>>> is ok"}
>>>
>>>
>>>
>>> If something, like DB, is not reachable, it also returns '200', and
>>> describes the problems in the JSON response:
>>> {"status":"crit","details":[{"description":"Database
>>> connection","result":"org.hibernate.exception.JDBCConnectionException:
>>> could not extract
>>> ResultSet","runtime":26,"test_status":"crit"},{"description":"Google Cloud
>>> Messaging","result":"online","runtime":14,"test_status":"ok"},{"description":"Apple
>>> Push Network
>>> Sandbox","result":"online","runtime":32,"test_status":"ok"},{"description":"Apple
>>> Push Network
>>> Production","result":"online","runtime":211,"test_status":"ok"},{"description":"Windows
>>> Push
>>> Network","result":"online","runtime":149,"test_status":"ok"}],"summary":"There
>>> is 1 error found"}
>>>
>>>
>>> Questions:
>>> * do we continue to return '200' in the later case?
>>>
>> Yes
>>
>>> * Or should we give a 500 if there is at least one problem ?
>>>
>> No, unless the server is unable to fufll the health request.
>>
>
> +1 to this option.
>
ok, so we stay as is today - yay!
>
> Please report your desire :-)
>>>
>>
>>
>>
>>
>>>
>>>
>>> -Matthias
>>>
>>> --
>>> Matthias Wessendorf
>>>
>>> blog: http://matthiaswessendorf.wordpress.com/
>>> twitter: http://twitter.com/mwessendorf
>>>
>>> _______________________________________________
>>> aerogear-dev mailing list
>>> aerogear-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>
>>
>>
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>
>
>
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>
--
Matthias Wessendorf
blog: http://matthiaswessendorf.wordpress.com/
twitter: http://twitter.com/mwessendorf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20160707/3ea3fedb/attachment.html
More information about the aerogear-dev
mailing list