You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ch...@apache.org on 2016/03/29 19:39:03 UTC
qpid-dispatch git commit: Tidy up policyRuleset redefinition. Current
connections stay alive across ruleset updates. Statistics live forever.
Repository: qpid-dispatch
Updated Branches:
refs/heads/crolke-DISPATCH-188-1 e349218c9 -> 3f42fa4fb
Tidy up policyRuleset redefinition.
Current connections stay alive across ruleset updates.
Statistics live forever.
Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/3f42fa4f
Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/3f42fa4f
Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/3f42fa4f
Branch: refs/heads/crolke-DISPATCH-188-1
Commit: 3f42fa4fb5280e41f04c53b1e644695571b50d85
Parents: e349218
Author: Chuck Rolke <cr...@redhat.com>
Authored: Tue Mar 29 13:36:49 2016 -0400
Committer: Chuck Rolke <cr...@redhat.com>
Committed: Tue Mar 29 13:36:49 2016 -0400
----------------------------------------------------------------------
.../qpid_dispatch_internal/policy/policy_local.py | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/3f42fa4f/python/qpid_dispatch_internal/policy/policy_local.py
----------------------------------------------------------------------
diff --git a/python/qpid_dispatch_internal/policy/policy_local.py b/python/qpid_dispatch_internal/policy/policy_local.py
index ea965c7..5d94e21 100644
--- a/python/qpid_dispatch_internal/policy/policy_local.py
+++ b/python/qpid_dispatch_internal/policy/policy_local.py
@@ -389,7 +389,6 @@ class AppStats(object):
def __init__(self, id, manager, ruleset):
self.my_id = id
self._manager = manager
- self._ruleset = ruleset
self.conn_mgr = PolicyAppConnectionMgr(
ruleset[PolicyKeys.KW_MAXCONN],
ruleset[PolicyKeys.KW_MAXCONNPERHOST],
@@ -397,6 +396,12 @@ class AppStats(object):
self._cstats = self._manager.get_agent().qd.qd_dispatch_policy_c_counts_alloc()
self._manager.get_agent().add_implementation(self, "policyStats")
+ def update_ruleset(self, ruleset):
+ self.conn_mgr.update(
+ ruleset[PolicyKeys.KW_MAXCONN],
+ ruleset[PolicyKeys.KW_MAXCONNPERHOST],
+ ruleset[PolicyKeys.KW_MAXCONNPERUSER])
+
def refresh_entity(self, attributes):
"""Refresh management attributes"""
entitymap = {}
@@ -493,11 +498,15 @@ class PolicyLocal(object):
raise PolicyError( "Policy '%s' is invalid: %s" % (name, diag[0]) )
if len(warnings) > 0:
for warning in warnings:
- self._manager.log_debug(warning)
+ self._manager.log_warning(warning)
+ if name not in self.rulesetdb:
+ self.statsdb[name] = AppStats(name, self._manager, candidate)
+ self._manager.log_info("Created policy rules for application %s" % name)
+ else:
+ self.statsdb[name].update_ruleset(candidate)
+ self._manager.log_info("Updated policy rules for application %s" % name)
self.rulesetdb[name] = {}
self.rulesetdb[name].update(candidate)
- self.statsdb[name] = AppStats(name, self._manager, candidate)
- self._manager.log_info("Created policy rules for application %s" % name)
def policy_read(self, name):
"""
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org