<Loggers>
...
<AsyncLogger name="com.mulesoft.connectors.mongodb" level="DEBUG"/>
...
</Loggers>
Troubleshooting MongoDB Connector 6.3 - Mule 4
To troubleshoot Anypoint Connector for MongoDB (MongoDB Connector), become familiar with the information about interpreting commonly thrown exception messages.
Enable SSL Logging
Enable SSL logs to investigate an issue related to TLS communications.
Set your SSL log level depending on your required level of detail:
-
Enable only SSL log details:
javax.net.debug=ssl
-
Enable only handshaking details. (The handshake protocol is a series of messages exchanged over the record protocol.)
javax.net.debug=ssl:handshake
-
Enable handshaking details and SSL details at the same time:
javax.net.debug=ssl, handshake
-
Enable the dumping of all details and traffic data:
javax.net.debug=all
This option is very verbose and under normal circumstances is not necessary.
SSL logging results in a performance impact for HTTPS or other TLS connections. Enable SSL logging only to troubleshoot a specific issue and do not enable it for extended periods. SSL logging produces a significant amount of log messages and can inundate your log file if it is left enabled and unattended. |
To enable SSL logs:
Set the debug parameter as an argument in the runtime configuration for the application.
-
In Studio, right-click on the project and select Run > Run Configurations.
-
Go to the Arguments tab and add
-M-Djavax.net.debug=ssl
in the VM arguments section.
Enable Verbose Exception Logging
Enable verbose exception logs to show a complete stack trace of the error instead of the default truncated output:
-
In Studio, right-click on the project and select Run > Run Configurations.
-
Go to the Arguments tab and append the arguments in the VM arguments section to add the
mule.verbose.exceptions
property. For example:-XX:PermSize=128M -XX:MaxPermSize=256M -Dmule.verbose.exceptions=true
Enable Verbose Logging
To get a better understanding of why an application’s interaction with MongoDB Connector is failing, temporarily enable verbose logging for the connector.
Remember to always disable enhanced verbosity after troubleshooting, because it can affect your Mule application’s performance.
To enable verbose logging in the configuration file:
-
Access Anypoint Studio and navigate to the Package Explorer view.
-
Open your application’s project name.
-
Open the
src/main/resources
folder. -
Open the
log4j2.xml
file inside the folder. -
Add an
<AsyncLogger>
tag inside the<Loggers>
tag: -
Save your application changes.
-
Click the project name in Package Explorer and then click Run > Run As > Mule Application.
Understand Commonly Thrown Exceptions
Here is a list of commonly thrown exception messages and how to interpret them:
-
MONGO:CONNECTIVITY
Either a connection could not be established or there is a connectivity error.
-
MONGO:CONSISTENCY_ERROR
The data is not consistent because the client cannot find a read after performing a write.
-
MONGO:DUPLICATE_ERROR
There is a duplicate key.
-
MONGO:INVALID_INPUT
The provided input data for an operation is not valid.
-
MONGO:NOT_FOUND
The server could not find the requested resource.
-
MONGO:PERMISSIONS_DENIED
A permission error occurred while accessing a collection in a database.
-
MONGO:RETRY_EXHAUSTED
The maximum number of retries for the operation is reached.
-
MONGO:TIMEOUT
A specific request takes longer than the configuration timeout values.