rob05c opened a new pull request #4419: ORT Speed Improvements URL: https://github.com/apache/trafficcontrol/pull/4419 ## What does this PR (Pull Request) do? This makes a number of changes to speed up ORT runs. - changes `atstccfg` to not retry 404's from Traffic Ops. If TO returns a 404, it's not going to succeed on retries. With the exponential backoff retry, this saves about a minute on a TO missing Server Capabilities - changes the default `atstccfg` cache format to Gob instead of JSON. This cuts the time of a total ORT run in about half, and for an individual cache file, reduces the parse time to about 1/5 the JSON time. - changes Delivery Service Servers cache format to CSV, which takes about half the time of Gob, and is by far the largest file to load and parse. - Changes the default cache time to 15m instead of 1m. The time was always intended to be a full ORT run, and 1m is far too short. This also exposes the flag in ORT itself, so users can change it if they want. It also changes ORT to delete the cache when it starts, to ensure the `atstccfg` cache is never reused by different ORT runs. - Incidentally, this also abstracts the cache encoding, making it very easy for anyone to change or add new cache formats, if they find something faster, or prefer the easier-to-debug JSON. I left the JSON encoder in, and it's a 1-line compile-time change. I also tested CBOR, which is preferable to Gob as a standard, but it was over twice as slow as Gob, and `atstccfg` currently has 0 external dependencies, so I decided not to include it; but it's trivial to add. Altogether, this cuts the new ORT total run time to about 1/3 what it was, and puts it close to the time it took before the `atstccfg` client-side config generation was added. Includes tests. No docs, no changelog, no interface change. - [x] This PR is not related to any other Issue ## Which Traffic Control components are affected by this PR? - Traffic Ops ORT ## What is the best way to verify this PR? Run unit tests. Run ORT, verify it still creates correct config files. ## If this is a bug fix, what versions of Traffic Control are affected? Not a bug fix. ## The following criteria are ALL met by this PR - [x] This PR includes tests OR I have explained why tests are unnecessary - [x] This PR includes documentation OR I have explained why documentation is unnecessary - [x] This PR includes an update to CHANGELOG.md OR such an update is not necessary - [x] This PR includes any and all required license headers - [x] This PR ensures that database migration sequence is correct OR this PR does not include a database migration - [x] This PR **DOES NOT FIX A SERIOUS SECURITY VULNERABILITY** (see [the Apache Software Foundation's security guidelines](https://www.apache.org/security/) for details) ## Additional Information
---------------------------------------------------------------- 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] With regards, Apache Git Services
