Openfire breaks after Java/Mariadb update
Not sure if this is the best place to put this (new wiki page maybe?). I encountered a server-side issue when testing software updates on the
lvalert-test box before trying the same procedure on production and playground.
The list of packages from
The following packages were automatically installed and are no longer required: linux-image-4.9.0-3-amd64 linux-image-4.9.0-4-amd64 Use 'apt autoremove' to remove them. The following packages have been kept back: default-jre default-jre-headless icedtea-netx linux-image-amd64 mariadb-client-10.1 mariadb-server mariadb-server-10.1 mariadb-server-core-10.1 The following packages will be upgraded: apt apt-transport-https apt-utils base-files bind9-host ca-certificates-java certbot curl dbus dirmngr dnsutils gnupg gnupg-agent gpgv icedtea-netx-common java-common libapt-inst2.0 libapt-pkg5.0 libbind9-140 libc-bin libc-dev-bin libc-l10n libc6 libc6-dev libcups2 libcurl3 libcurl3-gnutls libdbus-1-3 libdns-export162 libdns162 libisc-export160 libisc160 libisccc140 libisccfg140 libjs-jquery libldb1 liblwres141 libmariadbclient-dev libmariadbclient18 libpam-systemd libpng16-16 libpq5 libsmbclient libssh2-1 libssl1.0.2 libsystemd0 libudev1 libwayland-client0 libwayland-cursor0 libwayland-server0 libwbclient0 libxapian30 linux-libc-dev locales mariadb-client-core-10.1 mariadb-common multiarch-support openjdk-8-jre openjdk-8-jre-headless openssh-client openssh-server openssh-sftp-server osg-ca-certs puppet-agent python-ldb python-samba python3-acme python3-certbot python3-cryptography python3-josepy rsync samba-common samba-common-bin samba-libs smbclient systemd systemd-sysv tzdata udev unzip vim vim-common vim-runtime vim-tiny wget xxd 86 upgraded, 0 newly installed, 0 to remove and 8 not upgraded. Need to get 105 MB of archives. After this operation, 15.0 MB of additional disk space will be used. Do you want to continue? [Y/n]
The following packages were automatically installed and are no longer required: icedtea-netx icedtea-netx-common linux-image-4.9.0-3-amd64 linux-image-4.9.0-4-amd64 Use 'apt autoremove' to remove them. The following packages will be REMOVED: default-java-plugin icedtea-8-plugin The following NEW packages will be installed: libconfig-inifiles-perl linux-image-4.9.0-9-amd64 The following packages will be upgraded: default-jre default-jre-headless icedtea-netx linux-image-amd64 mariadb-client-10.1 mariadb-server mariadb-server-10.1 mariadb-server-core-10.1 8 upgraded, 2 newly installed, 2 to remove and 0 not upgraded. Need to get 55.8 MB of archives. After this operation, 193 MB of additional disk space will be used. Do you want to continue? [Y/n]
Everything upgraded fine, but I noticed this in the output from apt-get:
Current default time zone: 'America/Chicago' Local time is now: Thu Jun 27 14:04:36 CDT 2019. Universal Time is now: Thu Jun 27 19:04:36 UTC 2019. Run 'dpkg-reconfigure tzdata' if you wish to change it.
Important to note that for later. After the upgrade,
lvalert-test because unresponsive to clients and I couldn't access the web interface.
service openfire status still showed it running, but there was this in the error log:
2019.06.27 14:13:44 org.jivesoftware.openfire.auth.DefaultAuthProvider - User SQL failure: java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries. The exception from the last attempt is as follows: java.sql.SQLException: The server time zone value 'CDT' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
I googled around and found the following posts with similar issues:
https://bugs.mysql.com/bug.php?id=85816 https://stackoverflow.com/questions/26515700/mysql-jdbc-driver-5-1-33-time-zone-issue https://stackoverflow.com/questions/52906554/server-time-zone-value-cdt-is-unrecognized-or-represents-more-than-one-time-zo
I manually opened the
openfire.xml configuration file and edited the mysql connection string to look like this:
And then i restarted openfire, and tests have been passing since. Leaving this ticket open until I patch the production servers.