Commit Graph

185 Commits

Author SHA1 Message Date
Alexander A. Klimov 0da226163f Don't call mysql_error() after a failure of mysql_init()
refs #3664
2017-05-04 12:22:34 +02:00
Andreas Scherbaum 775bee8fe1 Replace http:// links with https:// links where a secure website exists
Leave out tests and third party tools, and license strings

fixes #5151

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-04-20 11:33:27 +02:00
Michael Friedrich 900b33dc5d IDO: Do not terminate Icinga 2 if the database schema version does not match
Instead, log an error and continue.

fixes #4440
2017-03-28 10:16:07 +02:00
Marius Bergmann 38d7f9a19e Add link to upgrade documentation to log message
When there's a schema version mismatch after an upgrade, the following
message is logged:

```
Schema version 'x.y.z' does not match the required version 'x.y.z' (or
newer)! Please check the upgrade documentation.
```

After reading this log message, users have to search for the upgrade
section in the docs in order to perform the necessary steps.

I added the URL for the relevant sections to the log message, so users
can simply click/copy it.
2017-02-28 17:02:10 +01:00
Michael Friedrich 1ad26b8524 IDO MySQL: Don't immediately execute an upsert insert query callback
refs #4603
2017-02-22 17:36:17 +01:00
Michael Friedrich 6f1efff46c Add more debug build logging to IDO MySQL
refs #4603
2017-02-22 17:35:57 +01:00
Michael Friedrich e5f5284838 Add logging for started/stopped features
fixes #3557
2017-02-08 15:40:27 +01:00
Markus Frosch c34feb1fa5 ido/mysql: Remove timestamp defaults for compliance with MySQL 5.7
refs #4950
2017-01-24 17:14:06 +01:00
Markus Frosch 84f9824109 ido/mysql: Fix IDO upgrade compliance against MySQL 5.7
refs #4950
2017-01-24 17:13:49 +01:00
Markus Frosch 399827c62e Fix IDO MySQL schema for MySQL >= 5.7
NOTE: A schema update doesn't seem to be needed, MySQL is updating
internally.

The problem comes up on fresh schema imports on MySQL 5.7.

fixes #13633
2017-01-11 17:37:17 +01:00
Michael Friedrich b7caf0820d Ensure that *.icinga.com is used everywhere
fixes #13897
fixes #13277
2017-01-10 17:19:12 +01:00
Michael Friedrich d076617caa Revert "DB IDO: Make sure that all result sets are processed before sending another query"
This reverts commit b028ff2c33.

refs #12597
refs #13321
2016-11-25 15:53:07 +01:00
Michael Friedrich b028ff2c33 DB IDO: Make sure that all result sets are processed before sending another query
fixes #12597
2016-11-22 15:56:05 +01:00
Eric Lippmann 69cb383b34 ido-mysql: Upgrade timestamp columns to default to NULL
refs #10502
2016-11-18 11:09:50 +01:00
Eric Lippmann bdb3f88b25 ido-mysql: Bump schema version to 1.14.2
refs #10502
2016-11-18 11:09:50 +01:00
Eric Lippmann 0b9046a030 ido-mysql: Don't set the SQL mode to NO_AUTO_VALUE_ON_ZERO
This mode is obsolete because timestamp columns now default to NULL instead of '0000-00...'.

refs #10502
2016-11-18 11:09:50 +01:00
Eric Lippmann 1bb363091c ido-mysql: Change timestamp columns to default to NULL in the schema
refs #10502
2016-11-18 11:09:50 +01:00
Eric Lippmann 8a21b4af2f ido-mysql: Add yet empty v2.6.0 schema upgrade script
refs #10502
2016-11-18 11:09:50 +01:00
Gunnar Beutner 06cb3cf875 Another build fix for Windows
refs #9182
2016-08-31 13:43:50 +02:00
Gunnar Beutner 68dceaab06 Replace boost::exception_ptr with std::exception_ptr
refs #9182
2016-08-30 20:46:23 +02:00
Gunnar Beutner 4dbc07e2bc Improve support for MySQL >=5.7
fixes #12558
2016-08-27 10:20:59 +02:00
Gunnar Beutner 30762e5330 Set versions for all internal libraries
fixes #12552
2016-08-25 17:56:18 +02:00
Gunnar Beutner 288413f046 Replace BOOST_FOREACH with range-based for loops
fixes #12538
2016-08-25 06:46:17 +02:00
Gunnar Beutner 78c249b96b Fix compiler warnings in DB IDO
refs #12534
2016-08-25 05:00:46 +02:00
Gunnar Beutner 429d11daa8 Fix compiler warnings
fixes #12534
2016-08-24 20:33:34 +02:00
Gunnar Beutner ae1ab5f865 Implement unit tests for state changes
fixes #12530
2016-08-24 19:45:52 +02:00
Gunnar Beutner 4c54cddec8 Fix problem with duplicate INSERTs for the same key columns
fixes #12461
fixes #12458
2016-08-17 13:35:10 +02:00
Gunnar Beutner 2e8d3d3934 Implement support for incremental IDO updates
fixes #12435
2016-08-15 14:43:11 +02:00
Rune Darrud 16d1f1893e Fix typo in mysql schema
fixes #12423
2016-08-14 13:03:49 +02:00
Gunnar Beutner ed53366490 Avoid duplicate IDO config updates at startup
fixes #12417
2016-08-13 23:31:22 +02:00
Michael Friedrich 1ff6939f90 Fix missing MySQL session_token changes
refs #12258
refs #12288
2016-08-02 15:05:21 +02:00
Michael Friedrich cd5c9366cf DB IDO: Use upsert and session token for comment/downtime updates
refs #12258
fixes #12288
2016-08-02 14:37:16 +02:00
Michael Friedrich 53930e321c DB IDO: Ensure that queries are not executed if categories don't match
refs #12147
refs #12147
2016-08-02 14:27:20 +02:00
Gunnar Beutner 0d02b01c02 Use application start-up time for the IDO session token
fixes #12250
2016-07-29 08:40:10 +02:00
Michael Friedrich ce3d7ab973 DB IDO: Do not clear {host,service,contact}group_members tables on restart
fixes #12210
2016-07-25 17:10:27 +02:00
Gunnar Beutner 959e2501aa Avoid duplicate entries in the icinga_objects table for commands
refs #12147
2016-07-15 09:40:39 +02:00
Gunnar Beutner 1bd235b9fb Improve IDO performance
refs #12147
2016-07-13 14:44:53 +02:00
Michael Friedrich ca42b4658a DB IDO: Change alias column to varchar(255) in MySQL
fixes #10061
2016-07-07 18:48:09 +02:00
Michael Friedrich a0a5989181 Add missing index on statehistory table for DB IDO cleanup
fixes #12107
2016-07-06 12:17:41 +02:00
Michael Friedrich 091274e417 Change DB IDO 'categories' attribute to Array notation
Example:
    categories = [ "DbCatProgramStatus", "DbCatState" ]

The old method with constants and OR is still supported but deprecated.

refs #11445
fixes #12024
2016-06-23 14:55:01 +02:00
Michael Friedrich 7f56a04dd5 DB IDO: Add missing indexes for icinga_endpoints* and icinga_zones* tables
fixes #10066
2016-06-22 12:56:24 +02:00
Michael Friedrich 067cb8d283 DB IDO: Fix overflow in current_notification_number column (MySQL)
fixes #11962
2016-06-22 12:13:49 +02:00
Michael Friedrich f10289aa71 DB IDO: Add missing object_id index for icinga_{scheduleddowntime,comments} tables
fixes #10070
refs #11947
2016-06-20 17:15:09 +02:00
Michael Friedrich f610e56a59 DB IDO: Fix missing schema version update in {mysql,pgsql}.sql
refs #10069
refs #11967
2016-06-20 16:17:06 +02:00
Lee Clemens 759818d289 DB IDO: Make check_source a varchar(255) column
fixes #10069

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2016-06-17 11:03:26 +02:00
Gunnar Beutner d415ff7373 Add missing OnConfigLoaded calls in Ido{My,Pg}sqlConnection
fixes #11951
2016-06-16 14:22:20 +02:00
Gunnar Beutner ff57b0ccd6 Add name attribute for the WorkQueue class
fixes #10816
2016-06-14 09:08:04 +02:00
Gunnar Beutner 93da47a670 Fix PostgreSQL warnings on startup
fixes #11798
2016-05-17 10:32:38 +02:00
Michael Friedrich 90f102abf3 Ensure that program status updates are immediately updated in DB IDO
fixes #11767
2016-05-11 14:03:40 +02:00
Lee Clemens 7050529976 Add SSL support for the IdoMysqlConnection feature
fixes #9725

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2016-05-03 15:01:32 +02:00
Gunnar Beutner 4a32211de2 Fix crash in Ido{Mysql,Pgsql}Connection::ExecuteMultipleQueries
fixes #11639
2016-04-21 09:17:40 +02:00
Michael Friedrich 83e0bcddce IDO: Ensure that the notification insert id is passed to contactnotification inserts
We cannot add the notification insert id directly
to the following contactnotifications queries. Instead
we need to pass a DbValue reference which gets set after
the notification insert id is calculated.
The contactnotifications insert queries are fired as query
group calling CanExecuteQuery() and FieldToEscapedString().
If the notification id does not exist yet, the queries are
moved to the end of the queue.
Once the contactnotifications queries are fired the DbValue
reference is destroyed.

This patch also removes the old notification insert id cache
which was broken in many ways.

fixes #11387
2016-03-29 15:12:24 +02:00
Michael Friedrich 04a4049a4d Increase query queue size for testing
refs #10963
2016-02-12 14:15:24 +01:00
Gunnar Beutner 599929b0f6 Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
Michael Friedrich 6387bec049 Fix duplicate key violation for downtimes
refs #10829
2015-12-16 13:57:29 +01:00
Gunnar Beutner 346c0cbb3c Fix crash in Ido*Connection::InternalExecuteMultipleQueries
fixes #10862
2015-12-16 11:29:06 +01:00
Gunnar Beutner ef8ba6e275 Implement additional query statistics for DB IDO
fixes #10860
2015-12-16 10:46:27 +01:00
Michael Friedrich 1add333a57 DB IDO: Add a log message when the connection handling is completed
fixes #10857
2015-12-15 16:50:17 +01:00
Michael Friedrich 5b48559d75 Implement support for re-ordering groups of IDO queries
fixes #10855
2015-12-15 15:29:48 +01:00
Michael Friedrich 96fa29793c Avoid duplicate config and status updates on startup
fixes #10765
2015-12-15 14:25:08 +01:00
Michael Friedrich 0239acc48e Fix invalid notification_id in DB IDO query
fixes #8976
2015-12-15 11:59:06 +01:00
Michael Friedrich da3d21091c Fix priority ordering for IDO queries
fixes #10829
refs #8714
2015-12-15 11:58:50 +01:00
Gunnar Beutner 372cf07bc4 Clean up the FinishAsyncQueries code a bit
refs #8714
2015-12-14 10:34:12 +01:00
Gunnar Beutner 15ca9987fa Implement support for priorities in the WorkQueue class
fixes #8714
2015-12-10 17:06:00 +01:00
Gunnar Beutner fba0b493cd Make sure that all strings in the IDO database are UTF8-encoded
fixes #10554
2015-12-10 12:26:19 +01:00
Gunnar Beutner d78a081727 Improve performance data for DB IDO
refs #9079
2015-11-07 07:51:41 +01:00
Michael Friedrich 64c936d387 API Actions: Remove -by-id from actions and require names for comments and downtimes
The documentation is updated as well. Furthermore actions provide
detailed error information in case of an exception.
Includes DB IDO schema updates.

fixes #10512
2015-11-06 17:06:12 +01:00
Michael Friedrich 3b902b51e2 Change session_token to integer timestamp
fixes #10529
2015-11-05 18:05:30 +01:00
Michael Friedrich dda05f0322 Fix: Async mysql queries aren't logged in the debug log
fixes #10540
2015-11-05 15:43:09 +01:00
Michael Friedrich 1b9f0a8c77 Add the unique_id for comments/downtimes next to legacy_id to DB IDO
fixes #10431
2015-10-30 11:25:07 +01:00
Michael Friedrich 4d784dd075 DB IDO: Add an index for CV session delete
The DELETE statement might become painfully slow on
large installations.

refs #10436
2015-10-29 16:18:49 +01:00
Michael Friedrich cf5735e3df DB IDO: Remove deleted custom variables
We cannot clear the custom variable tables on startup and then re-insert
all known custom vars. Instead we "fixed" it by leaving them
in the database only updating their value if changed. We certainly
forgot about deleted custom vars at that point.

Since the older fix must stay in place, we'll use a session
token stored in the backend to check whether the custom
variable has been updated/inserted in the current session, or not.
If the session token does not match, the custom vars are deleted
at the end of the config dump. Ugly but fairly the only performant
solution as CVs don't have an object_id.

fixes #10436
2015-10-29 16:00:06 +01:00
Gunnar Beutner 5ad0c67485 Fix: IDO tries to execute empty UPDATE queries
fixes #10473
2015-10-28 07:46:04 +01:00
Michael Friedrich d618762dad Export original attributes in DB IDO and Livestatus
fixes #10392
2015-10-22 15:49:42 +02:00
Michael Friedrich c3385e6e38 DB IDO should provide its connected state via /v1/status
fixes #10383
2015-10-16 13:02:41 +02:00
Gunnar Beutner d24af1e639 Fix incorrect value for IdoMysqlConnection::m_AffectedRows
refs #10190
2015-09-28 13:19:42 +02:00
Jean-Marcel Flach 4ef9761fee Implement status api handler
Global statistics, features, etc.

fixes #10116
2015-09-23 16:59:07 +02:00
Gunnar Beutner 6fa58a520c Implement config object sync
Adds object version.

refs #9927
2015-09-17 14:20:43 +02:00
Gunnar Beutner d118b71a2a Fix compiler warnings
fixes #9929
2015-08-18 07:46:04 +02:00
Gunnar Beutner 7fc7cde6a1 Build fix for Windows 2015-08-17 19:36:27 +02:00
Gunnar Beutner 071d2f18fb Rename DynamicObject/DynamicType to ConfigObject/ConfigType
fixes #9914
2015-08-15 20:40:41 +02:00
Michael Friedrich d7970f5bb1 Implement modified attributes v2
refs #9081
refs #9093
2015-08-15 20:07:10 +02:00
Michael Friedrich dcef213c8f Fix overflow in freshness_threshold column (smallint) w/ DB IDO MySQL
fixes #9576
2015-07-14 18:20:08 +02:00
Michael Friedrich a788de679c DB IDO: Add zones, zonestatus tables
refs #9286
2015-07-14 18:09:24 +02:00
Michael Friedrich 0c0f53bc36 Fix schema version 1.14.0
refs #9027
2015-05-04 11:35:41 +02:00
Eric Lippmann 1e0df43127 Add yet empty MySQL schema upgrade to IDO version 1.14.0
refs #9027
2015-05-04 11:35:41 +02:00
Gunnar Beutner f8b48cc03b Build fix for db_ido_mysql
refs #8890
2015-03-28 12:22:40 +01:00
Gunnar Beutner 72a7b08480 Move implementation code from thpp files into separate files
fixes #8890
2015-03-28 11:08:12 +01:00
Gunnar Beutner ec7224e3ed Generate C++ code for type validators
fixes #7709
fixes #8867
2015-03-27 07:59:27 +01:00
Gunnar Beutner a4852dae67 Fix assertion failure in IdoMysqlConnection::FieldToEscapedString
fixes #8865
2015-03-26 07:16:22 +01:00
Gunnar Beutner 316eee799e Merge COMMIT and BEGIN into the previous MySQL query
refs #8738
2015-03-14 07:58:55 +01:00
Gunnar Beutner c7c49d7219 Implement support for CLIENT_MULTI_STATEMENTS
fixes #8738
2015-03-13 20:23:14 +01:00
Gunnar Beutner cd20044e4f Implement the pending_queries metric for the IDO check task
refs #8688
2015-03-13 12:00:30 +01:00
Michael Friedrich 8573636cc9 Fix crash in Dependency::Stop()
This partially reverts the fix in #8436

fixes #8687
refs #8436
2015-03-12 11:44:55 +01:00
Gunnar Beutner a4d37132bf Implement a check for IDO database connections
fixes #8688
2015-03-12 10:19:12 +01:00
Gunnar Beutner 94fde1a6b2 Add support for using the 1.12.0 IDO database schema
fixes #8689
2015-03-12 10:19:12 +01:00
Gunnar Beutner bb4beefca9 Add missing "return"s in Ido*Connection::Reconnect 2015-03-05 15:57:46 +01:00
Gunnar Beutner 4d63351561 Fix some compile warnings 2015-03-04 08:26:15 +01:00
Jean-Marcel Flach 9ed21563ff Use RequestShutdown with exitcode instead of Application::Exit
fixes #8436
2015-02-27 14:43:30 +01:00
Gunnar Beutner 6dd33fa751 Make sure to not ignore fields which are set to an empty string
fixes #8496
2015-02-23 15:25:04 +01:00