- Description has changed:
Diff:
~~~~
--- old
+++ new
@@ -1,6 +1,12 @@
when log file is rotated, the oldest log files are deleted to make sure the
number log files is less than "maxFilesRotated". The oldest cfg is also
checked and deleted.
-If oldest cfg file is deleted fail, log service may never find out which
oldest cfg file in next rotation. That causes the cfg file will never be
deleted when log file is rotated.
+Some cases cfg file will never deleted in rotation:
+1/ If oldest cfg file is deleted fail, log service may never find out oldest
cfg file in next rotation because the "cfgolddate" of oldest cfg file is
different with "logolddate" of oldest log file . That causes the cfg file will
never be deleted when log file is rotated in next time.
+
+2/ The closing cfg/log file in old day and creating new cfg/log file in new
day. (E.g. close cfg/log file at 23:59:59 of day and creating log file at
00:00:00 of new day). That causes we cannot find the oldest cfg file
"oldest_file" in the rotation.
+
+The number of cfg file = number of log file + 1 after log rotation. That is
not right.
+
int get_number_of_cfg_files_hdl() {
....
@@ -23,5 +29,3 @@
}
...
}
-
-The "cfgolddate" is not alway equal with "logolddate" if the deleting of cfg
fail in previous or the closing cfg/log file in old day and creating new
cfg/log file in new day. (E.g. close cfg/log file at 23:59:59 of day and
creating log file at 00:00:00 of new day). That causes we cannot find the
oldest cfg file "oldest_file"
~~~~
---
** [tickets:#3045] log: the cfg file never be removed **
**Status:** unassigned
**Milestone:** 5.19.06
**Created:** Tue May 28, 2019 04:27 AM UTC by Canh Truong
**Last Updated:** Tue May 28, 2019 04:33 AM UTC
**Owner:** nobody
when log file is rotated, the oldest log files are deleted to make sure the
number log files is less than "maxFilesRotated". The oldest cfg is also
checked and deleted.
Some cases cfg file will never deleted in rotation:
1/ If oldest cfg file is deleted fail, log service may never find out oldest
cfg file in next rotation because the "cfgolddate" of oldest cfg file is
different with "logolddate" of oldest log file . That causes the cfg file will
never be deleted when log file is rotated in next time.
2/ The closing cfg/log file in old day and creating new cfg/log file in new
day. (E.g. close cfg/log file at 23:59:59 of day and creating log file at
00:00:00 of new day). That causes we cannot find the oldest cfg file
"oldest_file" in the rotation.
The number of cfg file = number of log file + 1 after log rotation. That is not
right.
int get_number_of_cfg_files_hdl() {
....
if ((old_ind != -1) && (***cfgolddate == logolddate***) &&
(cfg_old_time <= log_old_time)) {
TRACE_1(" (cfg_old_date:%d == log_old_date:%d) &&"
" (cfg_old_time:%d <= log_old_time:%d )",
cfg_old_date, log_old_date, cfg_old_time, log_old_time);
TRACE_1("oldest: %s", cfg_namelist[old_ind]->d_name);
n = snprintf(oldest_file, max_outsize, "%s/%s", path.c_str(),
cfg_namelist[old_ind]->d_name);
if (n < 0 || static_cast<uint32_t>(n) >= max_outsize) {
LOG_WA("oldest_file > max_outsize");
rc = -1;
goto done_cfg_free;
} else {
rc = (cfg_files - failed);
}
}
...
}
---
Sent from sourceforge.net because [email protected] is
subscribed to https://sourceforge.net/p/opensaf/tickets/
To unsubscribe from further messages, a project admin can change settings at
https://sourceforge.net/p/opensaf/admin/tickets/options. Or, if this is a
mailing list, you can unsubscribe from the mailing list._______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets