Module: check_mk
Branch: master
Commit: 52c448c91a6d5d743026f7ed38e425ef6d33334b
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=52c448c91a6d5d…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Mon Dec 16 12:09:06 2013 +0100
FIX Improved performance of WATO slave push with a large user base
When having a large number of users (several thousands) and pushing them to a
slave site, the user database hook was executed twice, which resulted in a
senseless duplicate calculation of things. This has been resolved now.
Conflicts:
.bugs/1018
ChangeLog
---
.bugs/980 | 7 +++++--
.werks/330 | 12 ++++++++++++
ChangeLog | 1 +
web/htdocs/userdb.py | 1 +
web/plugins/wato/userdb.py | 5 -----
5 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/.bugs/980 b/.bugs/980
index 303d566..d285c64 100644
--- a/.bugs/980
+++ b/.bugs/980
@@ -1,9 +1,9 @@
Title: Hooks users-saved called duplicate when doing WATO sync
Component: wato
-State: open
+Class: nastiness
+State: done
Date: 2013-10-08 18:24:47
Targetversion: 1.2.3i3
-Class: nastiness
When doing a replicated WATO sync, then the hook users-saved is
being called twice. We should elimiate that. Especially because
@@ -28,3 +28,6 @@ there might be involved lengthy LDAP syncs
[Tue Oct 08 09:23:31 2013] [warn] [client 127.0.0.1] CALLING HOOK activate-changes
[Tue Oct 08 09:23:32 2013] [warn] [client 127.0.0.1] FINISHED HOOK activate-changes
[Tue Oct 08 09:23:32 2013] [warn] [client 127.0.0.1] RESTARTED
+
+2013-12-16 12:06:40: changed state open -> done
+Removed the snapshot-pushed hook.
diff --git a/.werks/330 b/.werks/330
new file mode 100644
index 0000000..47eb7ae
--- /dev/null
+++ b/.werks/330
@@ -0,0 +1,12 @@
+Title: Improved performance of WATO slave push with a large user base
+Level: 1
+Component: wato
+Class: fix
+State: unknown
+Version: 1.2.5i1
+Date: 1387192025
+Targetversion: future
+
+When having a large number of users (several thousands) and pushing them to a
+slave site, the user database hook was executed twice, which resulted in a
+senseless duplicate calculation of things. This has been resolved now.
diff --git a/ChangeLog b/ChangeLog
index b5d9350..5bacde5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -42,6 +42,7 @@
* 0242 FIX: Parameters for clustered services can now be configured on the cluster
host...
* 0309 FIX: Trying to prevent read/write conflicts with a large user base...
* 0311 FIX: Fixed "Inventory failed" message when trying an inventory on
clusters via WATO...
+ * 0330 FIX: Improved performance of WATO slave push with a large user base...
Notifications:
* 0108 FIX: Prevent service notification on host alerts...
diff --git a/web/htdocs/userdb.py b/web/htdocs/userdb.py
index 55905d1..6e23468 100644
--- a/web/htdocs/userdb.py
+++ b/web/htdocs/userdb.py
@@ -664,6 +664,7 @@ def hook_login(username, password):
# Is called on:
# a) before rendering the user management page in WATO
# b) a user is created during login (only for this user)
+# c) Before activating the changes in WATO
def hook_sync(connector_id = None, add_to_changelog = False, only_username = None,
raise_exc = False):
if connector_id:
connectors = [ get_connector(connector_id) ]
diff --git a/web/plugins/wato/userdb.py b/web/plugins/wato/userdb.py
index 0d5663e..43608fd 100644
--- a/web/plugins/wato/userdb.py
+++ b/web/plugins/wato/userdb.py
@@ -30,8 +30,3 @@ def sync_pre_activate_changes(_unused):
if 'wato_pre_activate_changes' in config.userdb_automatic_sync:
userdb.hook_sync()
api.register_hook('pre-activate-changes', sync_pre_activate_changes)
-
-def sync_snapshot_pushed():
- if 'wato_snapshot_pushed' in config.userdb_automatic_sync:
- userdb.hook_sync()
-api.register_hook('snapshot-pushed', sync_snapshot_pushed)