rob05c opened a new issue #5025: URL: https://github.com/apache/trafficcontrol/issues/5025
Currently, there's no way to set the Server Update Pending and Reval Pending flags, without a race condition. 1. ORT/Config Generation checks the flag, sees that a Reval is needed 2. ORT generates config with the reval 3. Someone issues a new Invalidation Job, which sets the Reval Pending flag (which was already set) 4. ORT unsets the Reval Pending flag. We need some kind of mechanism in the API to say "unset the Reval/Update Pending, but only if it hasn't changed since this time." There are several ways to accomplish this. We're planning to add If-Unmodified-Since. But, the check and set endpoints are different (`GET /update_status` vs `POST /update`), so it would effectively require an IUS that applies to a _different_ endpoint. We could add something custom. But I think the best solution would be to make new endpoint(s) that have GET+POST+/PUT for the same endpoint, so a proper IUS can be used. ## I'm submitting a ... - bug report ## Traffic Control components affected ... - Traffic Ops ## Current behavior: Impossible to set update or reval flags without risking someone having issued a new update and overwriting that. ## Expected / new behavior: Possible to set update or reval flags without risking someone having issued a new update and overwriting that. ## Minimal reproduction of the problem with instructions: 1. ORT/Config Generation checks the flag, sees that a Reval is needed 2. ORT generates config with the reval 3. Someone issues a new Invalidation Job, which sets the Reval Pending flag (which was already set) 4. ORT unsets the Reval Pending flag. ## Anything else: ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
