Alexander A. Klimov
ba7102cae3
Explicitly stop started timers and wait for them
...
before permitting their parent objects' destruction.
For the cases where the handlers have raw pointers to these objects.
2023-04-14 14:52:04 +02:00
Alexander A. Klimov
21b68455ce
Use Timer::Create() instead of new Timer()
...
git ls-files -z |xargs -0 perl -pi -e 's/\bnew Timer\b/Timer::Create/g'
ex. in Timer::Create() itself.
2023-04-04 10:35:20 +02:00
Alexander A. Klimov
83021f8231
CONTEXT: use << everywhere to unify usages
2022-11-30 11:06:51 +01:00
Alexander Aleksandrovič Klimov
f749c7556e
Merge pull request #9314 from Icinga/latin1
...
IDO MySQL: reason latin1 charset for actually UTF-8 bytes
2022-04-04 11:05:12 +02:00
Alexander A. Klimov
11b8d0f058
IDO MySQL: reason latin1 charset for actually UTF-8 bytes
2022-03-31 18:10:21 +02:00
Alexander Aleksandrovič Klimov
2fa26961ac
Merge pull request #9311 from Icinga/9308
...
IDO MySQL: explicitly use latin1
2022-03-31 16:44:11 +02:00
Alexander A. Klimov
245fbad1e5
IDO MySQL: explicitly use latin1
...
for the case the MySQL client lib is compiled with another default
not to turn Unicode chars into ??.
2022-03-31 15:04:45 +02:00
Alexander A. Klimov
e4bfb4898d
IDO MySQL: support larger host and service names
...
refs #7472
2021-07-15 11:16:13 +02:00
Alexander Aleksandrovič Klimov
b63eb2aa3d
Merge pull request #8855 from Icinga/bugfix/inconsistent-ido-schema-versions-8852
...
Fix IDO MySQL schema version (as in v2.11 upgrade)
2021-07-14 18:09:27 +02:00
Alexander Aleksandrovič Klimov
bee83ead8b
Merge pull request #8730 from Icinga/bugfix/ido-stop-progstat-8727
...
IDO: update program status on stop
2021-07-06 18:07:38 +02:00
Alexander A. Klimov
e9118d6b09
Fix IDO MySQL schema version (as in v2.11 upgrade)
2021-07-05 19:17:53 +02:00
Alexander A. Klimov
4373acf8ed
Ido*sqlConnection::Reconnect(): de-couple MySQL and Postgres schema versions
2021-07-05 19:17:51 +02:00
Alexander A. Klimov
9e2f58ea9f
IdoCheckTask: de-couple MySQL and Postgres schema versions
2021-07-05 19:14:07 +02:00
Alexander Aleksandrovič Klimov
b7efbd0bba
Merge pull request #8626 from Icinga/bugfix/recreate-object-invisible-ido-8584
...
Ido*sqlConnection#InternalDeactivateObject(): mark object inactive also in memory
2021-07-02 16:34:28 +02:00
Noah Hilverling
f551e95338
IDO-MySQL: Make sure InternalNewTransaction() and FinishAsyncQueries() get executed during high load
2021-05-19 17:28:11 +02:00
Alexander A. Klimov
306a0f476c
Ido*Connection#FieldToEscapedString(): support NULL
...
refs #8727
2021-04-20 19:30:59 +02:00
Alexander A. Klimov
3d8586ccec
Ido*Connection: extend IsPaused() check where the difference matters
...
refs #8727
2021-04-20 19:04:49 +02:00
Alexander A. Klimov
92df2ce2ca
Deduplicate DbConnection#Disconnect() in #Pause()
...
refs #8727
2021-04-20 18:42:37 +02:00
Alexander A. Klimov
fd9bdb798d
Deduplicate DbConnection#m_QueryQueue.Join() in #Pause()
...
refs #8727
2021-04-20 18:40:35 +02:00
Yonas Habteab
43ba2da39c
Replace std/boost::bind() function with lambda expression
2021-03-10 16:29:40 +01:00
Alexander A. Klimov
e0c13401f7
Ido*sqlConnection#InternalDeactivateObject(): mark object inactive also in memory
...
Previously:
1. You delete an object from a config file
2. You reload Icinga
3. Icinga fetches all objects and whether they're active from the IDO
4. Icinga recognizes that the just deleted object doesn't exist anymore
5. Icinga marks it as inactive in the IDO, but not in memory
6. You re-create the just deleted object via API
7. Icinga still thinks it's active and doesn't activate it - it's invisible
refs #8584
2021-02-08 16:57:15 +01:00
Noah Hilverling
8db82ff87d
IDO: Do not log stats, if paused
2020-10-15 10:48:41 +02:00
Alexander A. Klimov
cd72eaf2b9
IDO MySQL: actually COMMIT after 25000 async queries
2020-10-14 10:40:57 +02:00
Henrik Triem
7a759a6427
IDO: Implement more accurate logging for query stats
2020-09-22 13:44:02 +02:00
Michael Friedrich
9932f04751
Update doc URL references for the DB IDO feature
2019-08-27 16:46:51 +02:00
Michael Friedrich
c77d6eb869
Quality: Drop unused boost/tuple header include
2019-05-24 15:50:43 +02:00
Michael Friedrich
149f640fd8
Improve DB IDO HA failover behaviour
...
- Decrease Object Authority updates to 10s (was 30s)
- Decrease failover timeout to 30s (was 60s)
- Decrease cold startup (after (re)start) with no OA updates to 30s (was 60s)
- Immediately connect on Resume()
- Fix query priority which got broken with #6970
- Add more logging when a failover is in progress
```
[2019-03-29 16:13:53 +0100] information/IdoMysqlConnection: Last update by endpoint 'master1' was 8.33246s ago (< failover timeout of 30s). Retrying.
[2019-03-29 16:14:23 +0100] information/IdoMysqlConnection: Last update by endpoint 'master1' was 38.3288s ago. Taking over 'ido-mysql' in HA zone 'master'.
```
- Add more logging for reconnect and disconnect handling
- Add 'last_failover' attribute to IDO*Connection objects
refs #6970
2019-04-01 08:50:00 +02:00
Michael Friedrich
e2df11520e
Merge pull request #6970 from Icinga/bugfix/perfdata-gaps
...
Improve reload handling for features (metric & queue flush, activation priority)
2019-02-26 15:38:15 +01:00
Michael Friedrich
d14a88235d
Replace Copyright header with a short version, part I
...
CLion -> replace in path
2019-02-25 14:48:22 +01:00
Michael Friedrich
1bfe756cb1
DB IDO: Improve queue handling on Pause/Shutdown/Reload
2019-02-20 17:10:46 +01:00
Michael Friedrich
c0c6ea545b
DB IDO: Don't enqueue queries when the feature is paused (HA)
...
fixes #5876
refs #6739
2018-10-30 13:17:28 +01:00
Michael Friedrich
dab53448bc
icinga.com: Update *.{h,c}pp
2018-10-18 09:27:04 +02:00
Michael Friedrich
c0c17fc340
Remove unused timestamp function in DB IDO
...
refs #6584
2018-09-17 10:06:30 +02:00
Alexander A. Klimov
7a31cd4fe7
IDO/MySQL: avoid empty queries
2018-08-08 12:11:37 +02:00
Gunnar Beutner
9d436605f0
Fix compatibility with CMake < 3.1
2018-01-18 15:12:46 +01:00
Gunnar Beutner
c2fb9fe226
Use initializer lists for arrays and dictionaries
2018-01-16 12:27:44 +01:00
Gunnar Beutner
91c256261a
Apply clang-tidy fix 'modernize-use-default-member-init'
2018-01-04 12:24:58 +01:00
Gunnar Beutner
e0174b8f3f
Apply clang-tidy fix 'modernize-return-braced-init-list'
2018-01-04 12:24:57 +01:00
Gunnar Beutner
e3ad0be769
Apply clang-tidy fix 'modernize-use-auto'
2018-01-04 12:24:57 +01:00
Gunnar Beutner
621eed3f13
Apply clang-tidy fix 'modernize-pass-by-value'
2018-01-04 12:24:57 +01:00
Gunnar Beutner
ac155d1dda
Apply clang-tidy fix 'modernize-redundant-void-arg'
2018-01-04 12:24:57 +01:00
Gunnar Beutner
2f953d6204
Implement shim for libmysqlclient and libpq
2018-01-02 23:29:48 +01:00
Michael Insel
158ae2188e
Change copyright header for 2018
2018-01-02 12:08:55 +01:00
Jean Flach
2636e6a77a
Whitespace fix
...
What does this change?
* Remove use of spaces for formatting
These could be found by using `grep -r -l -P '^\t+ +[^*]'
* Removal of training whitespaces
* A few lines longer than 120 chars
2017-12-20 14:53:52 +01:00
Gunnar Beutner
1ad83886ac
Replace a few more NULLs with nullptr
2017-12-14 15:37:20 +01:00
Gunnar Beutner
325e4a2fb9
Use nullptr instead of <Type>::Ptr()
2017-11-30 17:47:09 +01:00
Gunnar Beutner
3c60fbf75d
Use std::vector::emplace_back instead of std::vector::push_back
2017-11-30 17:47:09 +01:00
Gunnar Beutner
858873b940
Replace boost::bind/boost::function with std::bind/std::function
2017-11-27 15:15:11 +01:00
Michael Friedrich
d366a63510
Add API & Cluster stats to /v1/status & icinga check performance metrics
...
refs #5133
2017-05-24 16:21:05 +02:00
Michael Friedrich
79dcb789c2
Move PerfdataValue() class into base library
...
This is required for libremote and ApiListener stats in #5133
2017-05-15 16:32:29 +02:00