Page MenuHomePhabricator

Clean up Thumbor VCL
Closed, ResolvedPublic

Description

@BBlack has given me some feedback on things the VM's VCL currently has which wouldn't be acceptable in production. Let's clean that up, as it will have to be done at some point anyway:

  • ban and pipe shouldn't be used. Ban is inefficient and pipe bypasses DoS protection and header manipulation. These should never happen as a result of end-user traffic.
  • As much logic as possible should be removed from the VCL and moved to the app layer. For instance the whole URL translation, it should be possible to add a new handler to thumbor to understand our existing URL scheme. Similarly, it might be possible to set the xkey header in the Thumbor response, as well as change the purge URL scheme to take the xkey directly instead of doing any translating. Bottom line is, we should try to move as much logic as we can out of the VCL.

Revisions and Commits

rTHMBREXT Thumbor Plugins
Restricted Differential Revision

Event Timeline

Gilles claimed this task.
Gilles raised the priority of this task from to Medium.
Gilles updated the task description. (Show Details)
Gilles moved this task from Inbox, needs triage to Doing (old) on the Performance-Team board.

Change 266487 had a related patch set uploaded (by Gilles):
Simplify Thumbor VCL

https://gerrit.wikimedia.org/r/266487

Gilles added a revision: Restricted Differential Revision.Jan 26 2016, 12:20 PM
Gilles added a revision: Restricted Differential Revision.Jan 27 2016, 4:07 PM
Gilles removed a revision: Restricted Differential Revision.Jan 27 2016, 4:15 PM

Change 266487 merged by jenkins-bot:
Simplify Thumbor VCL

https://gerrit.wikimedia.org/r/266487

It ended up growing again for the Swift failover code, but that will go away when I hook Thumbor directly into Swift, the same way we do in production, as part of T123278