ECCU Matches and the purge.data File

When you create an ECCU request, the requests add to or replace matches in a purge.data XML file, a file created and maintained for your ECCU matches. The ECCU match refers to the refresh rule you set, for example, /bin/images/*.gif, . The match also includes the revalidate timestamp. Note that the match refers to the rule, not to the files matching the rule. For example, /bin/images/*.gif is a match—not /bin/images/file1.gif, file2.gif, etc.

ECCU matches are applied to every request for that host header, which can impact performance if you have a great many unique matches. Objects are not refreshed at the origin unless the timestamp shows them to be stale, of course.

Your purge.data file persists, and the code lines with the matches persist until they are replaced. Matches are replaced if a new match includes the old at a parent level. For example, if you previously used /bin/images/*.gif as a match but you are currently submitting a revalidation request that includes /bin/*.*, the latter will replace the former, assuming the timestamp is for a current date and time. Matches are replaced, or pruned, when there are matches with more recent timestamps.

Since requests persist in the purge.data, the file will grow without bound without maintenance. To prevent growth to a point that damages performance, requests are pruned using a match of /*.* (all directories, all extensions) with a timestamp as distant in the past as possible to slightly reduce file size. The edge server does this automatically when the file grows beyond a configurable size, for example, 250KB.