Updated Branches:
  refs/heads/master baa602e14 -> b28311666

TS-1512: volume & hosting will crash the server in cluster


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/b2831166
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/b2831166
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/b2831166

Branch: refs/heads/master
Commit: b28311666a5206bb90c51d0554ac2f77cb66142f
Parents: baa602e
Author: Chen Bin <[email protected]>
Authored: Sat Oct 20 21:52:03 2012 +0800
Committer: Zhao Yongming <[email protected]>
Committed: Sat Oct 20 21:54:21 2012 +0800

----------------------------------------------------------------------
 CHANGES                        |    2 ++
 iocore/cluster/ClusterCache.cc |    7 ++-----
 2 files changed, 4 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b2831166/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index d0c9af5..77dc141 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,8 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache Traffic Server 3.3.1
 
+  *) [TS-1512] get volume & hosting work with cluster
+
   *) [TS-1539] Update build package list in README
 
   *) [TS-1535] FetchSM process_fetch_write should ignore event 
TS_EVENT_VCONN_WRITE_READY

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b2831166/iocore/cluster/ClusterCache.cc
----------------------------------------------------------------------
diff --git a/iocore/cluster/ClusterCache.cc b/iocore/cluster/ClusterCache.cc
index 20c8fee..ac5599d 100644
--- a/iocore/cluster/ClusterCache.cc
+++ b/iocore/cluster/ClusterCache.cc
@@ -1339,12 +1339,11 @@ cache_op_ClusterFunction(ClusterHandler * ch, void 
*data, int len)
       ink_release_assert(c->read_cluster_vc != CLUSTER_DELAYED_OPEN);
 
       CacheHTTPInfo *ci = 0;
-      const char *p;
+      const char *p = (const char *) msg + flen;
       int res = 0;
       int moi_len = len - flen;
 
       if (moi_len && c->cfl_flags & CFL_LOPENWRITE_HAVE_OLDINFO) {
-        p = (const char *) msg + flen;
 
         // Unmarshal old CacheHTTPInfo
         res = HTTPInfo::unmarshal((char *) p, moi_len, NULL);
@@ -1352,8 +1351,6 @@ cache_op_ClusterFunction(ClusterHandler * ch, void *data, 
int len)
         c->ic_old_info.get_handle((char *) p, moi_len);
         ink_assert(c->ic_old_info.valid());
         ci = &c->ic_old_info;
-      } else {
-        p = (const char *) 0;
       }
       if (c->cfl_flags & CFL_ALLOW_MULTIPLE_WRITES) {
         ink_assert(!ci);
@@ -1371,7 +1368,7 @@ cache_op_ClusterFunction(ClusterHandler * ch, void *data, 
int len)
 
       Cache *call_cache = caches[c->frag_type];
       Action *a = call_cache->open_write(c, &key, ci, c->pin_in_cache,
-                                         NULL, c->frag_type, hostname, len);
+                                         NULL, c->frag_type, hostname, 
moi_len);
       if (a != ACTION_RESULT_DONE) {
         c->cache_action = a;
       }

Reply via email to