fixedLock on scanning of logs for brute force scanner
Relating to this new feature:
An issue arose where very large logs caused the dataskq to take more than one minute to scan them.
The issue is that the dataskq is run again the next minute, and starts to scan the same logs from the beginning.
Each time this happens, the system gets slower, and prevents any of the scans from finishing.
A simple lock has been added on the file:
for the entire scanning process.
If a lock is present on that file, the brute force scan is skipped and the other normal dataskq activities can resume.
The lock is allowed to live 3 hours, before the dataskq assumes something went wrong and removes it (allowing the next scan to happen)
Another work-around for this issue is to change:
/etc/logrotate.conf (or whichever conf you have on your OS)
to rotate the 3 logs more frequently such that they're smaller.
Note that only the first run of the brute-force scanner will be slow.
Each subsequent runs will start in the log where it was left off, so the parsing of the number of entries within 1 minute will be all that happens on those subsequent runs.
**** You may need to update manually if the dataskq processes are busy ****
fixedCentOS 5 64-bit: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory
If you have CentOS 5 64-bit, after updating to 1.39.0, you may have received the error:
error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory
/usr/local/directadmin/directadmin: /usr/lib64/libmysqlclient.so.16: version `libmysqlclient_16' not found (required by /usr/local/directadmin/directadmin)
which prevents DA from starting up (or the dataskq from running).
The cause is a MySQL upgrade on our build system, where the DA binaries became linked to the new libraries.
The issue is that your systems might not have have these matching/new versions, so we've recompiled the DA binaries such that they do not link to any mysql libraries at compile time, making the version of your copy of MySQL irrelevant to the running of DA.
If you are affected by this, you'll need to update to 1.39.1 manually using this guide: