TS-2139 fix the bug of purge twice to remove the doc if enable-interim-cache
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/a3d12087 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/a3d12087 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/a3d12087 Branch: refs/heads/5.0.x Commit: a3d1208777c7a232250df65d4409aae1aa58afca Parents: a2809d1 Author: weijin <taorui...@taobao.com> Authored: Wed Oct 23 11:00:30 2013 +0800 Committer: weijin <taorui...@taobao.com> Committed: Wed Oct 23 11:06:31 2013 +0800 ---------------------------------------------------------------------- CHANGES | 2 ++ iocore/cache/Cache.cc | 7 +++++++ 2 files changed, 9 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/a3d12087/CHANGES ---------------------------------------------------------------------- diff --git a/CHANGES b/CHANGES index a626df1..77a834f 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,8 @@ -*- coding: utf-8 -*- Changes with Apache Traffic Server 4.1.0 + *) [TS-2139] Fix PURGE twice to remove object in cache if enable-interim-cache + *) [TS-2216] Fix cquuh log tag, which does not calculate the right string length. http://git-wip-us.apache.org/repos/asf/trafficserver/blob/a3d12087/iocore/cache/Cache.cc ---------------------------------------------------------------------- diff --git a/iocore/cache/Cache.cc b/iocore/cache/Cache.cc index 9256ea5..e417ab8 100644 --- a/iocore/cache/Cache.cc +++ b/iocore/cache/Cache.cc @@ -2720,6 +2720,13 @@ CacheVC::removeEvent(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */) Lcollision: // check for collision if (dir_probe(&key, vol, &dir, &last_collision) > 0) { +#if TS_USE_INTERIM_CACHE == 1 + if (dir_ininterim(&dir)) { + dir_delete(&key, vol, &dir); + last_collision = NULL; + goto Lcollision; + } +#endif int ret = do_read_call(&key); if (ret == EVENT_RETURN) goto Lread;