Closed Bug 1159060 Opened 10 years ago Closed 10 years ago

Please purge /pub/mozilla.org/firefox/releases/38.0b8 from the CDNs and origin server cache

Categories

(Cloud Services :: Operations: Miscellaneous, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: rail, Assigned: jason)

References

Details

We need to replace the files at /pub/mozilla.org/firefox/releases/38.0b8 with another build. Please clear the cache for the origin server (download-origin.cdn.mozilla.net), and issue purge requests for the CDNs.
Whiteboard: [kanban:https://webops.kanbanize.com/ctrl_board/2/1062]
Assignee: server-ops-webops → ashish
Status: NEW → ASSIGNED
Zeus cleared
Thanks for taking this so fast! The push is planned for tomorrow European time, this is why I filed this a blocker.
Edgecast requests in purge queue
Akamai purge request has been submitted, this would take upto 40 mins to complete
:rail NP, we go this! If this needs to be reopened for any reason, please unassign. Thanks!
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Thanks!
We see some issues with final verification. stage.mozilla.org doesn't agree with download.cdn.mozilla.net. As an example, see: curl -sI "http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/linux-x86_64/cy/firefox-38.0b8.complete.mar" | grep Content-Length: Content-Length: 45970006 curl -sI http://stage.mozilla.org/pub/mozilla.org/firefox/releases/38.0b8/update/linux-x86_64/cy/firefox-38.0b8.complete.mar | grep Content-Length: Content-Length: 45972761
Assignee: ashish → server-ops-webops
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee: server-ops-webops → ashish
Verified as CDN issue rather than ftp server mismatches: $ curl -I "http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/linux-x86_64/cy/firefox-38.0b8.complete.mar" HTTP/1.1 200 OK Accept-Ranges: bytes Access-Control-Allow-Origin: * Cache-Control: max-age=604800 Content-Type: application/octet-stream Date: Tue, 28 Apr 2015 09:25:50 GMT Etag: "480bf70-2bd7256-514ac48e5690a" Expires: Tue, 05 May 2015 09:25:50 GMT Last-Modified: Mon, 27 Apr 2015 03:24:33 GMT Server: ECAcc (rhv/8115) X-Backend-Server: ftp1.dmz.scl3.mozilla.com X-Cache: HIT X-Cache-Info: caching Content-Length: 45970006 $ curl -I http://stage.mozilla.org/pub/mozilla.org/firefox/releases/38.0b8/update/linux-x86_64/cy/firefox-38.0b8.complete.mar HTTP/1.1 200 OK Date: Tue, 28 Apr 2015 09:26:10 GMT Server: Apache X-Backend-Server: ftp8.dmz.scl3.mozilla.com Last-Modified: Mon, 27 Apr 2015 18:44:22 GMT ETag: "4bb03e5-2bd7d19-514b9226cc5ef" Accept-Ranges: bytes Content-Length: 45972761 Cache-Control: max-age=3600 Expires: Tue, 28 Apr 2015 10:26:10 GMT Access-Control-Allow-Origin: * Content-Type: application/octet-stream $ for i in ftp{1..12}.dmz.scl3.mozilla.com; do curl -I -H 'Host: stage.mozilla.org' "http://$i/pub/mozilla.org/firefox/releases/38.0b8/update/linux-x86_64/cy/firefox-38.0b8.complete.mar"; done 2>&1 | grep ETag ETag: "4bb03e5-2bd7d19-514b9226cc5ef" ETag: "4bb03e5-2bd7d19-514b9226cc5ef" ETag: "4bb03e5-2bd7d19-514b9226cc5ef" ETag: "4bb03e5-2bd7d19-514b9226cc5ef" ETag: "4bb03e5-2bd7d19-514b9226cc5ef" ETag: "4bb03e5-2bd7d19-514b9226cc5ef" ETag: "4bb03e5-2bd7d19-514b9226cc5ef"
(In reply to Rail Aliiev [:rail] from comment #7) > We see some issues with final verification. stage.mozilla.org doesn't agree > with download.cdn.mozilla.net. As an example, see: > > curl -sI > "http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/linux- > x86_64/cy/firefox-38.0b8.complete.mar" | grep Content-Length: > Content-Length: 45970006 This URL does not match the purge request in comment 0: (In reply to Rail Aliiev [:rail] from comment #0) > We need to replace the files at /pub/mozilla.org/firefox/releases/38.0b8 > with another build. Please clear the cache for the origin server > (download-origin.cdn.mozilla.net), and issue purge requests for the CDNs. So I've added two new purge requests to the Edgecast queue: http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/* http://wpc.1237.taucdn.net/801237/download.cdn.mozilla.net/pub/firefox/releases/38.0b8/* I do not have access to the other providers, hopefully this is sufficient.
Flush completed at 02:47 for both.
Severity: blocker → normal
Change priority so it wouldn't ping oncall.
Well, Ludovic, this is just blocking the release work on Firefox...
(In reply to Richard Soderberg [:atoll] from comment #9) > (In reply to Rail Aliiev [:rail] from comment #7) > > We see some issues with final verification. stage.mozilla.org doesn't agree > > with download.cdn.mozilla.net. As an example, see: > > > > curl -sI > > "http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/linux- > > x86_64/cy/firefox-38.0b8.complete.mar" | grep Content-Length: > > Content-Length: 45970006 > > This URL does not match the purge request in comment 0: Ah, this is what happened... stage.m.o has mozilla.org in the url while others don't. Would it be better to request purging both URL prefixes? I'll update our template accordingly.
See Also: → 1159226
resetting the state, maybe someone from Europe/East Coast can look at this.
Assignee: ashish → server-ops-webops
Severity: normal → blocker
Assignee: server-ops-webops → ashish
> 08:26:39 < rail> ashish: http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/mac/fr/firefox-38.0b6-38.0b8.partial.mar vs http://stage.mozilla.org/pub/mozilla.org/firefox/releases/38.0b8/update/mac/fr/firefox-38.0b6-38.0b8.partial.mar disagree :/ This is surely an Edgecast problem. The origin servers are returning the right file. Edgecast isn't purging the cache. I've requested a list of files that are failing from :rail to put in a bulk purge request.
The list of files with size mismatch: http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/linux-x86_64/es-CL/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/linux-x86_64/ar/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/linux-x86_64/he/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/linux-x86_64/es-ES/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/linux-x86_64/en-US/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/linux-i686/eu/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/linux-i686/fr/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/linux-i686/pt-BR/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/mac/af/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/mac/ca/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/mac/as/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/mac/ar/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/mac/en-GB/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/mac/es-ES/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/mac/cs/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/mac/it/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/de/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/es-MX/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/hi-IN/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/en-GB/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/fr/firefox-38.0b8.complete.mar http://download-akamai.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/id/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/mr/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/ms/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/sl/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/nn-NO/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/km/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/lv/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/is/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/tr/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/son/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/ta/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/uk/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/pt-PT/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/zh-CN/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/vi/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/sq/firefox-38.0b8.complete.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/mac/fa/firefox-38.0b5-38.0b8.partial.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/en-US/firefox-38.0b5-38.0b8.partial.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/win32/it/firefox-38.0b5-38.0b8.partial.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/mac/en-US/firefox-38.0b5-38.0b8.partial.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/linux-i686/es-AR/firefox-38.0b6-38.0b8.partial.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/linux-i686/en-US/firefox-38.0b6-38.0b8.partial.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/linux-i686/ko/firefox-38.0b6-38.0b8.partial.mar http://download.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/mac/fr/firefox-38.0b6-38.0b8.partial.mar
I've put in a bulk purge request for all the URLs in Comment 18
releng tests passed, assuming QE tests will as well, closing.
Status: REOPENED → RESOLVED
Closed: 10 years ago10 years ago
Resolution: --- → FIXED
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Results for all CDNs on url in comment 21: http://ftp.mozilla.org/pub/firefox/releases/38.0b8/update/linux-x86_64/es-CL/firefox-38.0b8.complete.mar < Content-Range: bytes 0-7/45915767 < Last-Modified: Mon, 27 Apr 2015 18:53:43 GMT < Content-Length: 8 http://wildcard.cdn.mozilla.net.edgesuite.net/pub/firefox/releases/38.0b8/update/linux-x86_64/es-CL/firefox-38.0b8.complete.mar < Last-Modified: Mon, 27 Apr 2015 03:30:33 GMT < Content-Range: bytes 0-7/45914590 < Content-Length: 8 http://download-akamai.cdn.mozilla.net/pub/firefox/releases/38.0b8/update/linux-x86_64/es-CL/firefox-38.0b8.complete.mar < Last-Modified: Mon, 27 Apr 2015 03:30:33 GMT < Content-Range: bytes 0-7/45914590 < Content-Length: 8 http://cds.d6b5y3z2.hwcdn.net/pub/firefox/releases/38.0b8/update/linux-x86_64/es-CL/firefox-38.0b8.complete.mar < Last-Modified: Mon, 27 Apr 2015 18:53:43 GMT < Content-Length: 8 < Content-Range: bytes 0-7/45915767 http://wpc.1237.edgecastcdn.net/pub/firefox/releases/38.0b8/update/linux-x86_64/es-CL/firefox-38.0b8.complete.mar < Content-Range: bytes 0-7/45915767 < Last-Modified: Mon, 27 Apr 2015 18:53:43 GMT < Content-Length: 8
:rail, we need the full headers of the failure, not just the Content-Length - otherwise we can't tell which CDN provided the incorrect hit. Testing from my house, Edgecast bay area is returning 45915767, but I don't know where the above curl was run from or which CDN it hit.
Thanks Hal
I'm going to hand this over to CloudOps at this point, because we don't really have any other avenues left to explore here and I'm not sure what to do. Jason is talking on IRC about this and the bugtrail here has most if not all of hat we've tried, so hopefully that helps somehow.
Assignee: ashish → nobody
Component: WebOps: Product Delivery → Operations
Product: Infrastructure & Operations → Mozilla Services
QA Contact: nmaul
Assignee: nobody → ashish
Assignee: ashish → nobody
Whiteboard: [kanban:https://webops.kanbanize.com/ctrl_board/2/1062]
As one last try, I've submitted "Load" requests in Edgecast for all the URLs in Comment 18. They are visible from the Purge/Load page.
Let's back off on this -- we're deploying a work around for 38.0b8.
(In reply to Hal Wine [:hwine] (use needinfo) from comment #28) > Let's back off on this -- we're deploying a work around for 38.0b8. OK. Let me know how I can assist.
Assignee: nobody → jthomas
Severity: blocker → normal
The work around for 38.0b8 appears to have worked. We'll have final confirmation tomorrow. That said, we've had similar problems every time we have to purge. It is likely that we will work around the issues with CDN's inability to purge in a timely fashion. Jason - as I understand it, Cloud Services now "owns" the relationships with our CDN vendors. Can you answer the following questions about the CDN SLA's? a) are we paying extra to have the "purge" interface available? b) do the vendors claim to offer any SLA w.r.t purge time? Note that the list of CDN vendors we're currently aware of is at https://nagios.mozilla.org/sentry/.
Flags: needinfo?(jthomas)
FTR, the 'source of truth' for determining what download.cdn.mozilla.net resolves to is Cydexis. You can use https://nagios.mozilla.org/sentry/ as an approximation, if only because it's visible outside of Cloud Services/WebOps, but it's not completely reliable.
(In reply to Hal Wine [:hwine] (use needinfo) from comment #30) > That said, we've had similar problems every time we have to purge. It is > likely that we will work around the issues with CDN's inability to purge in > a timely fashion. What is the current process for replacing files with another build? Are we updating the origin (ftp hosts) with the new build before we submit purge requests? > Jason - as I understand it, Cloud Services now "owns" the relationships with > our CDN vendors. Can you answer the following questions about the CDN SLA's? > > a) are we paying extra to have the "purge" interface available? No. This is usually offered by CDN providers as part of the service. > b) do the vendors claim to offer any SLA w.r.t purge time? I don't believe they provide a SLA w.r.t purge time. On a purge request Akamai will provide a estimated time of purge completion, Edgecast will update the purge request state in their control panel. Akamai support documentation states to file a support request if a purge takes too long or if there are inconsistencies. In the future we should definitely reach out the CDN vendors as soon as we are seeing issues.
Flags: needinfo?(jthomas)
(In reply to Jason Thomas [:jason] from comment #32) > (In reply to Hal Wine [:hwine] (use needinfo) from comment #30) > > That said, we've had similar problems every time we have to purge. It is > > likely that we will work around the issues with CDN's inability to purge in > > a timely fashion. > > What is the current process for replacing files with another build? Are we > updating the origin (ftp hosts) with the new build before we submit purge > requests? We wait to re-publish until we "believe" the purge has taken effect. Given the non-determinism of the purge process below (and generally we're in a time crunch when we have to purge), we'll investigate a "no purge" process. > > > Jason - as I understand it, Cloud Services now "owns" the relationships with > > our CDN vendors. Can you answer the following questions about the CDN SLA's? > > > > a) are we paying extra to have the "purge" interface available? > > No. This is usually offered by CDN providers as part of the service. > > > b) do the vendors claim to offer any SLA w.r.t purge time? > I don't believe they provide a SLA w.r.t purge time. On a purge request > Akamai will provide a estimated time of purge completion, Edgecast will > update the purge request state in their control panel. Akamai support > documentation states to file a support request if a purge takes too long or > if there are inconsistencies. > > In the future we should definitely reach out the CDN vendors as soon as we > are seeing issues. I'll close this bug, and open a new one on avoiding purges.
Status: REOPENED → RESOLVED
Closed: 10 years ago10 years ago
Resolution: --- → FIXED
Unless there is a reason not to, we should re-publish and then request a purge of ZLB + CDN cache. If a request is made via the CDN after the purge completes and old content is still on the origin then old content will be cached and served.
Blocks: 1159804
You need to log in before you can comment on or make changes to this bug.