In HYRAX-1868, we brute-force returned checksums for all requests, to match legacy behavior. (Note that this legacy behavior was/is buggy for other situations, namely, breaks the getdap4 client.)
Now that hyrax supports checksum returning as an option (thanks to work by @ndp-opendap and @Mikejmnez), we need to support that option without breaking existing behavior for legacy clients, i.e., could set a conditional default that always returns checksums for older clients and does NOT return checksums for newer clients (unless specifically requested via the given request parameter). (Turning checksums off is a performance win, as it significantly reduces hyrax response time.)
For site to address, see @FIXME in NgapBesApi.java.
Should be tested against the requests that failed and forced the rollback HYRAX-1868, to ensure a fix does not re-break these requests.
Note that if a special-casing for legacy clients is necessary, the clients used can be found in the request logs in cloudwatch
In HYRAX-1868, we brute-force returned checksums for all requests, to match legacy behavior. (Note that this legacy behavior was/is buggy for other situations, namely, breaks the getdap4 client.)
Now that hyrax supports checksum returning as an option (thanks to work by @ndp-opendap and @Mikejmnez), we need to support that option without breaking existing behavior for legacy clients, i.e., could set a conditional default that always returns checksums for older clients and does NOT return checksums for newer clients (unless specifically requested via the given request parameter). (Turning checksums off is a performance win, as it significantly reduces hyrax response time.)
For site to address, see
@FIXMEin NgapBesApi.java.Should be tested against the requests that failed and forced the rollback HYRAX-1868, to ensure a fix does not re-break these requests.
Note that if a special-casing for legacy clients is necessary, the clients used can be found in the request logs in cloudwatch