-
Notifications
You must be signed in to change notification settings - Fork 351
Cannot update or delete Cache Groups with null latitude and longitude #6378
Description
This Bug Report affects these Traffic Control components:
- Traffic Ops
Current behavior:
The API does not require a latitude and longitude when creating a Cache Group. Omitting those properties (or setting them to null explicitly) in the POST request to create a Cache Group does not result in an underlying "coordinate" being created for the Cache Group. A further PUT request to change, e.g. the Name of the Cache Group will cause a segmentation fault as Traffic Ops tries to dereference the null ID of the coordinate associated with the Cache Group during the update process. The request then fails even if otherwise well-formed, with a 500 Internal Server Error response.
Expected behavior:
If coordinates are to be required in requests, then omitting them (or setting them to null) in requests should return a client error code and an appropriate alert. If coordinates are not intended to be required, then the handler for PUT requests should not assume they exist and appropriately handle the case that they don't.
Steps to reproduce:
topost -k cachegroups '{"name": "test", "shortName": "test", "typeId": 23(replace23with the ID of any Type that has auseInTablevalue ofcachegroup)toput -k cachegroups/10 '{"name": "test", "shortName": "test", "typeId": 23}'(replace10with the ID of the Cache Group created in step 1. and replace23with the ID of any Type that has auseInTablevalue ofcachegroup)
Note that changing anything is unnecessary to encounter the bug.
It's unclear (to me) if this is a regression or not.