Deprecate/Remove /api/0.6/changes endpoint#2486
Deprecate/Remove /api/0.6/changes endpoint#2486mmd-osm wants to merge 1 commit intoopenstreetmap:masterfrom mmd-osm:patch/remove_changes_endpoint
Conversation
|
My code is not in use anywhere that I know of. |
|
While I suspect this is nitpicking, could we agree that we only remove support without proper deprecation notice and bumping the version for stuff that is a) not actually in use. not "little-used" (which I suspect is the the case) and b) not documented? Doing anything else would just seem to be a massive best-practices violation (and yes I know we already did that with the expand_bbox call). |
|
Exactly, that’s why I wrote „any remaining users“ in the todo list. Removing little used endpoints is obviously not going to work without deprecation, etc. |
|
I found one or two other posts from 10 years ago mentioning this endpoint in the context of Tiles@Home, a project which is essentially dead/deprecated/discontinued since 2012. https://svn.openstreetmap.org/!svn/bc/20000/sites/other/tilesAtHome_tahngo/requests/views.py |
I looked back over the past 19 days of logs, and saw what looks like one actual user, plus a bunch of other random requests. Random requests
Only one of the above requests was made with any query parameters, suggesting to me that they're one-off experiments or links followed without knowing that they lead to an API rather than a web page. Single userThere was an hourly request from a single IP for the changes over the past hour. Sadly, I could not find any useful information about that IP; it did not reverse into anything useful and the The requests are made with no User-Agent or Referer headers (so if this was a tile request then the policy would prohibit this use). The requests are made over What to do?With the information available, it seems it would be difficult to figure out how to contact this user. A couple of options that occur to me:
As Simon points out, the former option is generally considered bad practice. However, it's the smallest amount of work 😉 On the other hand, writing a small, self-contained |
|
Thanks! Do we know if the VPS company has an abuse contact address where we could report those „unsolicited“ requests and try to get in touch with whoever is running the script? I think that’s not totally inappropriate given that the client fails to provide a valid user agent as per https://operations.osmfoundation.org/policies/api/ |
|
Yes, they have an abuse contact address. Although contacting them seems to me like it should be a last resort, given that the requests are not otherwise causing any kind of operational problem. (The issue we have is a development one, in that we'd like to simplify the code by removing this API call.) |
|
Two more options come to mind:
|
|
Maybe given
it would be fine to ignore this single user? |
|
This topic was already discussed back in 2013: https://wiki.osmfoundation.org/wiki/Working_Group_Minutes/EWG_2013-06-17 18:06:24 once an hour a machine at OVH France checks it |
|
More items to be removed here:
This obsolete endpoint adds complexity to our Docker based setup for no good reason, and it would be best to get rid of it altogether. |
Also removes sql functions which are only used by this endpoint
|
All tests are passing again. There's only some issue with sending test results to coveralls, which I cannot fix. Do we need some db migration to get rid of the old sql function as well? |
|
I'm happy to see this merged. I mean, I would prefer for it to be properly announced as deprecated, not included in the next API version, retired when 0.7 is deactivated, all that kind of thing - but lets face it, that approach is not going to happen any time soon. So I think we should just remove it and move on. If nothing has changed on this topic since 2013, then I don't think removing it now is rushing anything. |
|
As far as I can see nobody has called it in the last few weeks, other than me just now... |
In #2383, @zerebubuth proposed to deprecate and remove the /api/0.6/changes endpoint.
From his reasoning: This API call is little-used and IMHO should be deprecated and removed.
This pull request removes controller, api_ability, route and test case for this endpoint.
/api/0.6/changes is undocumented at this time and a rather obscure and specialized feature.
One (former?) user I could identify: @iandees has an 8 years old script out there (https://gist.github.com/iandees/1271803) to remove outdated tiles in some TileStache disk cache. Not sure, if this is still in use today?
TODO: