Generic Issues#
This section contains advices and directions to deal with generic issues that may arise in everyday Carbonio use.
The advanced modules do not start due to miscommunication with the Database or Database Connector Roles
There are warning messages about SLF4J in the log files
Carbonio version in the Carbonio Admin Panel and on the CLI do not match
There are a few corner cases that prevent the advanced modules,
provided by the Service Roles, to be running. The
problem is that the Node featuring the Mailstore & Provisioning
Role can not communicate with the Database (PostgreSQL). You can
check if this is the case if you find in log file
/opt/zextras/log/mailbox.log
error messages like:
2024-07-29 10:13:58,575 ERROR [main] [] extensions -
Error getting connection from data source org.postgresql.ds.PGSimpleDataSource@4151251b org.jooq.exception.DataAccessException:
Error getting connection from data source org.postgresql.ds.PGSimpleDataSource@4151251b at com.zextras.modules.core.db.LazyDataSourceConnectionProvider.acquire(BaseDSLContextProvider.java:72) ~[?:?]
Caused by: org.postgresql.util.PSQLException: Connection to 127.78.0.25:20000 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
Caused by: java.net.ConnectException: Connection refused
2024-07-29 10:14:00,642 FATAL [main] [] extensions - Unable to initialize zextras: org.jooq.exception.DataAccessException:
Error getting connection from data source org.postgresql.ds.PGSimpleDataSource@4151251b at org.jooq_3.14.8.POSTGRES.debug (null:-1)
Caused by: org.postgresql.util.PSQLException: Connection to 127.78.0.25:20000 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
Caused by: java.net.ConnectException: Connection refused
In order to fix the problem, ensure that PostgreSQL is reachable and then restart the mailbox.
zextras$ zmmailboxdctl restart
In case you find on Carbonio messages like the following:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/zextras/lib/jars/carbonio-message-dispatcher-auth.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/zextras/lib/jars/log4j-slf4j-impl-2.20.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/zextras/mailbox/jars/log4j-slf4j-impl-2.20.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
While these are only warnings, nonetheless they may become
annoying. The first line is important and gives the reason for the
warning messages: multiple version of the same class are present in
the class path and therefore you need to remove manually the
duplicates (or better rename the .jar
files before to make
sure you do not cause other problems):
/opt/zextras/lib/jars/log4j-slf4j-impl-2.20.0.jar
and
/opt/zextras/mailbox/jars/log4j-slf4j-impl-2.20.0.jar
.
It can sometimes happen, especially after installing hotfixes, that there is a mismatch between the version of Carbonio shown in the Carbonio Admin Panel and in the output of the zmcontrol -v CLI command.
To understand which is the actual Carbonio version installed, you
need to execute, as the zextras
user, the command
zextras$ zmcontrol -v
In the output, you need to check the section starting with Server version.
1 Server versions:
2
3 version 24.9.1
4 commit 68e2e5facf5fbcfc7be0b860e3a28356079e179d
5 system_type carbonio
6 product Carbonio
7 zal_version 24.9.0
8 zal_commit 5021945fc3d4d5c91c70598328d8d71eaa1b958e
The actual Carbonio version is the one shown in the highlighted line.