You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/releaseNotes.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -150,3 +150,12 @@ This file describes the main feature changes for each InfoLogger released versio
150
150
- o2-infologger-adminDb:
151
151
- added interactive confirmation prompt when clearing/deleting non-empty tables, unless option '-o noWarning' is set.
152
152
- added command '-c status' to display status information about infoLogger database content (number of tables, number of rows, data size).
153
+
154
+
## v2.7.2 - 26/09/2024
155
+
- o2-infologger-daemon: improved handling of large number of connections.
156
+
- fixed message flood of "accept() failed" errors when reaching maximum number allowed file descriptors. A single message is now reported when condition occurs, and then when it is cleared. Reaching system limits of max number of descriptors is now handled gracefuly and recovers fine. NB: loop of accept() failures was still occuring even after remote process dead, because fds content are buffered to avoid message loss.
157
+
- upgraded to o2-Common v1.6.3, which fixes unclosed file descriptor when rotating log files (which was contributing to trigger issue above, increasing number of fds in use).
158
+
- added startup checks to verify compatibility of rxMaxConnections with max number of file descriptors allowed by system. If needed, tries to increase the limit. If it does not work, rxMaxConnections is automatically reduced to a lower value.
159
+
- increased default value of rxMaxConnections from 1024 to 2048. This is the number of concurrent clients allowed to connect to o2-infologger-daemon. Can be changed in configuration file.
160
+
- o2-infologger-server: improved logging per thread/database.
161
+
- o2-infologger-newdb: added option to skip user creation
theLog->info("Using DB %s@%s:%s", theConfig->dbUser.c_str(), theConfig->dbHost.c_str(), theConfig->dbName.c_str());
70
+
parent->logInfo("Using DB %s@%s:%s", theConfig->dbUser.c_str(), theConfig->dbHost.c_str(), theConfig->dbName.c_str());
71
71
72
72
// prepare insert query from 1st protocol definition
73
73
// e.g. INSERT INTO messages(severity,level,timestamp,hostname,rolename,pid,username,system,facility,detector,partition,run,errcode,errLine,errsource) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) */
log.error("Failed to connect database : %s", mysql_error(&db));
150
150
return -1;
@@ -171,7 +171,7 @@ int main(int argc, char* argv[])
171
171
172
172
// execute command(s)
173
173
if (optStatus) {
174
-
std::string sqlQuery = "select TABLE_NAME,TABLE_ROWS,DATA_LENGTH from information_schema.TABLES where table_name like '" INFOLOGGER_TABLE_MESSAGES "%' order by table_name";
174
+
std::string sqlQuery = "select TABLE_NAME,TABLE_ROWS,DATA_LENGTH from information_schema.TABLES where table_name like '" INFOLOGGER_TABLE_MESSAGES "%' and table_schema like '" + dbName + "' order by table_name";
175
175
if (mysql_query(&db, sqlQuery.c_str())) {
176
176
log.error("Failed to execute %s\n%s", sqlQuery.c_str(), mysql_error(&db));
0 commit comments