Re: [trafficserver] branch master updated: TS-4340: fix small issue related to match typ e NONE

2016-04-14 Thread James Peach

> On Apr 14, 2016, at 1:44 PM, bri...@apache.org wrote:
> 
> This is an automated email from the ASF dual-hosted git repository.
> 
> briang pushed a commit to branch master
> in repository https://git-dual.apache.org/repos/asf/trafficserver.git
> 
> The following commit(s) were added to refs/heads/master by this push:
>   new  8d4c256   TS-4340: fix small issue related to match typ e NONE
> 8d4c256 is described below
> 
> commit 8d4c25653bb038f70651b8675a5969e522668d43
> Author: Brian Geffon 
> AuthorDate: Thu Mar 3 15:45:41 2016 -0800
> 
>TS-4340: fix small issue related to match typ e NONE
> ---
> proxy/http/HttpConnectionCount.h | 8 
> proxy/http/HttpServerSession.cc  | 4 ++--
> 2 files changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/proxy/http/HttpConnectionCount.h 
> b/proxy/http/HttpConnectionCount.h
> index b025e8f..eea0d1a 100644
> --- a/proxy/http/HttpConnectionCount.h
> +++ b/proxy/http/HttpConnectionCount.h
> @@ -58,6 +58,10 @@ public:
>   int
>   getCount(const IpEndpoint , const INK_MD5 _hash, 
> TSServerSessionSharingMatchType match_type)
>   {
> +if (TS_SERVER_SESSION_SHARING_MATCH_NONE == match_type) {
> +  return 0; // We can never match a node if match type is NONE
> +}
> +
> ink_mutex_acquire(&_mutex);
> int count = _hostCount.get(ConnAddr(addr, hostname_hash, match_type));
> ink_mutex_release(&_mutex);
> @@ -73,6 +77,10 @@ public:
>   incrementCount(const IpEndpoint , const INK_MD5 _hash, 
> TSServerSessionSharingMatchType match_type,
>  const int delta = 1)
>   {
> +if (TS_SERVER_SESSION_SHARING_MATCH_NONE == match_type) {
> +  return; // We can never match a node if match type is NONE.
> +}
> +
> ConnAddr caddr(addr, hostname_hash, match_type);
> ink_mutex_acquire(&_mutex);
> int count = _hostCount.get(caddr);
> diff --git a/proxy/http/HttpServerSession.cc b/proxy/http/HttpServerSession.cc
> index 763c6b8..d2f2386 100644
> --- a/proxy/http/HttpServerSession.cc
> +++ b/proxy/http/HttpServerSession.cc
> @@ -140,14 +140,14 @@ HttpServerSession::do_io_close(int alerrno)
>   // Check to see if we are limiting the number of connections
>   // per host
>   if (enable_origin_connection_limiting == true) {
> -if (connection_count->getCount(server_ip, hostname_hash, sharing_match) 
> > 0) {
> +if (connection_count->getCount(server_ip, hostname_hash, sharing_match) 
> >= 0) {

Surely a count of -1 is a bug? It should be a release_assert?

>   connection_count->incrementCount(server_ip, hostname_hash, 
> sharing_match, -1);
>   ip_port_text_buffer addrbuf;
>   Debug("http_ss", "[%" PRId64 "] connection closed, ip: %s, count: %u", 
> con_id,
> ats_ip_nptop(_ip.sa, addrbuf, sizeof(addrbuf)),
> connection_count->getCount(server_ip, hostname_hash, 
> sharing_match));
> } else {
> -  Error("[%" PRId64 "] number of connections should be greater than 
> zero: %u", con_id,
> +  Error("[%" PRId64 "] number of connections should be greater than or 
> equal to zero: %u", con_id,
> connection_count->getCount(server_ip, hostname_hash, 
> sharing_match));
> }
>   }
> 
> -- 
> To stop receiving notification emails like this one, please contact
> ['"commits@trafficserver.apache.org" '].



[trafficserver] branch master updated: TS-4340: fix small issue related to match typ e NONE

2016-04-14 Thread briang
This is an automated email from the ASF dual-hosted git repository.

briang pushed a commit to branch master
in repository https://git-dual.apache.org/repos/asf/trafficserver.git

The following commit(s) were added to refs/heads/master by this push:
   new  8d4c256   TS-4340: fix small issue related to match typ e NONE
8d4c256 is described below

commit 8d4c25653bb038f70651b8675a5969e522668d43
Author: Brian Geffon 
AuthorDate: Thu Mar 3 15:45:41 2016 -0800

TS-4340: fix small issue related to match typ e NONE
---
 proxy/http/HttpConnectionCount.h | 8 
 proxy/http/HttpServerSession.cc  | 4 ++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/proxy/http/HttpConnectionCount.h b/proxy/http/HttpConnectionCount.h
index b025e8f..eea0d1a 100644
--- a/proxy/http/HttpConnectionCount.h
+++ b/proxy/http/HttpConnectionCount.h
@@ -58,6 +58,10 @@ public:
   int
   getCount(const IpEndpoint , const INK_MD5 _hash, 
TSServerSessionSharingMatchType match_type)
   {
+if (TS_SERVER_SESSION_SHARING_MATCH_NONE == match_type) {
+  return 0; // We can never match a node if match type is NONE
+}
+
 ink_mutex_acquire(&_mutex);
 int count = _hostCount.get(ConnAddr(addr, hostname_hash, match_type));
 ink_mutex_release(&_mutex);
@@ -73,6 +77,10 @@ public:
   incrementCount(const IpEndpoint , const INK_MD5 _hash, 
TSServerSessionSharingMatchType match_type,
  const int delta = 1)
   {
+if (TS_SERVER_SESSION_SHARING_MATCH_NONE == match_type) {
+  return; // We can never match a node if match type is NONE.
+}
+
 ConnAddr caddr(addr, hostname_hash, match_type);
 ink_mutex_acquire(&_mutex);
 int count = _hostCount.get(caddr);
diff --git a/proxy/http/HttpServerSession.cc b/proxy/http/HttpServerSession.cc
index 763c6b8..d2f2386 100644
--- a/proxy/http/HttpServerSession.cc
+++ b/proxy/http/HttpServerSession.cc
@@ -140,14 +140,14 @@ HttpServerSession::do_io_close(int alerrno)
   // Check to see if we are limiting the number of connections
   // per host
   if (enable_origin_connection_limiting == true) {
-if (connection_count->getCount(server_ip, hostname_hash, sharing_match) > 
0) {
+if (connection_count->getCount(server_ip, hostname_hash, sharing_match) >= 
0) {
   connection_count->incrementCount(server_ip, hostname_hash, 
sharing_match, -1);
   ip_port_text_buffer addrbuf;
   Debug("http_ss", "[%" PRId64 "] connection closed, ip: %s, count: %u", 
con_id,
 ats_ip_nptop(_ip.sa, addrbuf, sizeof(addrbuf)),
 connection_count->getCount(server_ip, hostname_hash, 
sharing_match));
 } else {
-  Error("[%" PRId64 "] number of connections should be greater than zero: 
%u", con_id,
+  Error("[%" PRId64 "] number of connections should be greater than or 
equal to zero: %u", con_id,
 connection_count->getCount(server_ip, hostname_hash, 
sharing_match));
 }
   }

-- 
To stop receiving notification emails like this one, please contact
['"commits@trafficserver.apache.org" '].