[
https://issues.apache.org/jira/browse/TS-4707?focusedWorklogId=28626&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-28626
]
ASF GitHub Bot logged work on TS-4707:
--------------------------------------
Author: ASF GitHub Bot
Created on: 09/Sep/16 17:10
Start Date: 09/Sep/16 17:10
Worklog Time Spent: 10m
Work Description: Github user PSUdaemon commented on a diff in the pull
request:
https://github.com/apache/trafficserver/pull/834#discussion_r78214909
--- Diff: proxy/ParentConsistentHash.cc ---
@@ -58,29 +61,131 @@ ParentConsistentHash::~ParentConsistentHash()
delete chash[SECONDARY];
}
+void
+ParentConsistentHash::getPathHash_Helper(char *buffer, int size, const
char *tmp, int len)
+{
+ int slen;
+ int max = size - 1;
+ slen = (len > max) ? max : len;
+ strncpy(buffer, tmp, slen);
+ buffer[slen] = 0;
+}
+
uint64_t
ParentConsistentHash::getPathHash(HttpRequestData *hrdata, ATSHash64 *h)
{
const char *tmp = NULL;
int len;
URL *url = hrdata->hdr->url_get();
+ char buffer[1024];
+ int num_dirs = 0;
+
+ // Use over-ride URL from HttpTransact::State's
cache_info.parent_selection_url, if present.
+ URL *ps_url = NULL;
+ Debug("parent_select", "hrdata->cache_info_parent_selection_url = %p",
hrdata->cache_info_parent_selection_url);
+ if (hrdata->cache_info_parent_selection_url) {
+ ps_url = *(hrdata->cache_info_parent_selection_url);
+ Debug("parent_select", "ps_url = %p", ps_url);
+ if (ps_url) {
+ tmp = ps_url->string_get_ref(&len);
+ if (tmp && len > 0) {
+ // Print the over-ride URL
+ if (is_debug_tag_set("parent_select")) {
+ getPathHash_Helper(buffer, 1024, tmp, len);
--- End diff --
Same thing about the old diff. You should not pass magic numbers in.
Issue Time Tracking
-------------------
Worklog Id: (was: 28626)
Time Spent: 5.5h (was: 5h 20m)
> Parent Consistent Hash Selection - add fname and maxdirs options.
> -----------------------------------------------------------------
>
> Key: TS-4707
> URL: https://issues.apache.org/jira/browse/TS-4707
> Project: Traffic Server
> Issue Type: Improvement
> Components: Parent Proxy
> Reporter: Peter Chou
> Assignee: Peter Chou
> Fix For: 7.0.0
>
> Time Spent: 5.5h
> Remaining Estimate: 0h
>
> This enhancement adds two options, "fname" and "maxdirs", which can be used
> to exclude the file-name and some of the directories in the path. The
> remaining portions of the path are then used as part of the hash computation
> for selecting among multiple parent caches.
> For our usage, it was desirable from an operational perspective to direct all
> components of particular sub-tree to a single parent cache (to simplify
> trouble-shooting, pre-loading, etc.). This can be achieved by excluding the
> query-string, file-name, and right-most portions of the path from the hash
> computation.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)