Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[dev.icinga.com #10711] Zone::CanAccessObject is very expensive #3702

Closed
icinga-migration opened this issue Nov 23, 2015 · 9 comments
Closed
Labels
area/distributed Distributed monitoring (master, satellites, clients) blocker Blocks a release or needs immediate attention bug Something isn't working
Milestone

Comments

@icinga-migration
Copy link

This issue has been migrated from Redmine: https://dev.icinga.com/issues/10711

Created by mfrosch on 2015-11-23 14:50:32 +00:00

Assignee: mfriedrich
Status: Resolved (closed on 2015-11-25 11:10:03 +00:00)
Target Version: 2.4.2
Last Update: 2016-02-23 11:49:54 +00:00 (in Redmine)

Icinga Version: 2.4.0
Backport?: Already backported
Include in Changelog: 1

And will cause a lot of load...

#0  0x00007f925b402faa in _int_malloc () from /lib64/libc.so.6
#1  0x00007f925b40518c in malloc () from /lib64/libc.so.6
#2  0x00007f925bcbd0ad in operator new(unsigned long) () from /lib64/libstdc++.so.6
#3  0x00007f925bd1bc29 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator const&) ()

from /lib64/libstdc**.so.6

#4  0x00007f925e195441 in char* std::string::_S_construct(char const*, char const*, std::allocator const&, std::forward_iterator_tag) () from /lib64/libboost_regex-mt.so.1.53.0
#5  0x00007f925bd1d918 in std::basic_string, std::allocator >::basic_string(char const*, std::allocator const&) () from /lib64/libstdc++.so.6
#6  0x00007f925d54d4cc in String (data=0x7f925d58f650 "Zone", this=0x7f9255407690) at ../base/string.hpp:65
#7  GetTypeName () at ../remote/zone.hpp:37
#8  icinga::ConfigObject::GetObject (name=...) at ../base/configobject.hpp:81
#9  0x00007f925d4edc99 in GetByName (name=...) at ../remote/zone.hpp:37
#10 icinga::Zone::CanAccessObject (this=0x7f920407efc0, object=...) at ../remote/zone.cpp:64
#11 0x00007f925d5376d2 in icinga::ApiListener::SyncRelayMessage (this=0x7f920c000c50, origin=..., secobj=..., 

message=..., log=) at ../remote/apilistener.cpp:612

#12 0x00007f925de7776a in operator() (this=0x7f9255407bc0) at /usr/include/boost/function/function_template.hpp:767
#13 icinga::WorkQueue::WorkerThreadProc (this=0x7f920c000de8) at ../base/workqueue.cpp:211
#14 0x00007f925e8cf24a in thread_proxy () from /lib64/libboost_thread-mt.so.1.53.0
#15 0x00007f925af68df5 in start_thread () from /lib64/libpthread.so.0
#16 0x00007f925b47b1ad in clone () from /lib64/libc.so.6

Changesets

2015-11-25 11:06:20 +00:00 by mfriedrich 3adedcd

Improve performance for Zone::CanAccessObject

fixes #10711

2015-11-30 14:33:01 +00:00 by (unknown) fd65fed

Fix incorrect return value for ApiListener::GetInstance

refs #10711

2016-02-23 08:25:27 +00:00 by mfriedrich eda28b2

Improve performance for Zone::CanAccessObject

fixes #10711

2016-02-23 08:25:35 +00:00 by (unknown) 9383462

Fix incorrect return value for ApiListener::GetInstance

refs #10711
@icinga-migration
Copy link
Author

Updated by mfriedrich on 2015-11-23 14:52:17 +00:00

  • Category set to Cluster
  • Target Version set to Backlog

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2015-11-23 14:53:04 +00:00

Idea: Cache the zone object for the Checkable class.

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2015-11-23 16:15:38 +00:00

  • Priority changed from Normal to High

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2015-11-25 11:05:52 +00:00

  • Status changed from New to Assigned
  • Assigned to set to mfriedrich
  • Target Version changed from Backlog to 2.5.0

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2015-11-25 11:10:03 +00:00

  • Status changed from Assigned to Resolved
  • Done % changed from 0 to 100

Applied in changeset 3adedcd.

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2015-11-25 11:14:57 +00:00

This affects SyncMessage() and might as well slow down the initial SendRuntimeConfigObjects() introduced with 2.4 for runtime API created object sync. There are multiple occurrences where this has been fixed.

@markus
Please test the fix for the environment where this happens :)

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2016-01-25 10:39:44 +00:00

  • Target Version changed from 2.5.0 to 2.4.2

@icinga-migration
Copy link
Author

Updated by gbeutner on 2016-02-23 09:58:19 +00:00

  • Backport? changed from Not yet backported to Already backported

@icinga-migration
Copy link
Author

Updated by gbeutner on 2016-02-23 11:49:54 +00:00

  • Subject changed from Zone::CanAccessObject is very expensive to Zone::CanAccessObject is very expensive

@icinga-migration icinga-migration added blocker Blocks a release or needs immediate attention bug Something isn't working area/distributed Distributed monitoring (master, satellites, clients) labels Jan 17, 2017
@icinga-migration icinga-migration added this to the 2.4.2 milestone Jan 17, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/distributed Distributed monitoring (master, satellites, clients) blocker Blocks a release or needs immediate attention bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant