[
https://issues.apache.org/jira/browse/AMBARI-8342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14286207#comment-14286207
]
Tom Beerbower commented on AMBARI-8342:
---------------------------------------
Same issue for other resource types ...
{quote}
The {{ClusterControllerImpl}} does not seem to differentiate between a {{null}}
response from a ResourceProvider or an empty collection. When returning an
empty collection, the API treats this as a missing resource and throws a 404
not found.
You can see this by requesting the following URI when there are no alerts:
http://localhost:8080/api/v1/clusters/c1/alerts
The problem is that a 404 should only be thrown when requesting a specific
resource or an invalid endpoint. For alerts, this means that the predicate
could be many different combinations, such as
http://localhost:8080/api/v1/clusters/c1/alerts?Alert/service_name=bar&Alert/host_name=baz
which could return 0 results as the predicate would strip them out. Only if the
primary keys of the alert are in the predicate should the API throw a 404. For
example, I'd expect this to to return a 404:
http://localhost:8080/api/v1/clusters/c1/alerts?Alert/id=9999999
since Alert/id is a primary key.
{quote}
> Requesting the config_groups collection resource with no registered
> configuration groups results in a 404 response
> ------------------------------------------------------------------------------------------------------------------
>
> Key: AMBARI-8342
> URL: https://issues.apache.org/jira/browse/AMBARI-8342
> Project: Ambari
> Issue Type: Bug
> Components: ambari-server
> Affects Versions: 1.7.0
> Reporter: John Speidel
> Assignee: Tom Beerbower
> Labels: api
> Fix For: 2.0.0
>
>
> GET http://AMBARI_HOST:8080/api/v1/clusters/c1/config_groups
> {
> "status" : 404,
> "message" : "The requested resource doesn't exist: ConfigGroup not found,
> ConfigGroup/cluster_name=c1"
> }
> The cluster c1 exists and has no configuration groups. The above response is
> incorrect. As per the api specification, it should return an empty
> collection.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)