CMJ: SQL exception thrown during a snapshot deployment
Problem
A snapshot deployment failed because of an error thrown related to an SQL exception:
There was a SQL exception thrown by the Active Objects library: Database: - name:PostgreSQL - version:12.5 - minor version:5 - major version:12 Driver: - name:PostgreSQL JDBC Driver - version:42.2.25 org.postgresql.util.PSQLException: ERROR: invalid byte sequence for encoding "UTF8": 0x00””
java.util.concurrent.ExecutionException: com.atlassian.activeobjects.internal.ActiveObjectsSqlException: There was a SQL exception thrown by the Active Objects library:
Database:
name:PostgreSQL
- version:12.5
- minor version:5
- major version:12
Driver:
- name:PostgreSQL JDBC Driver
- version:42.2.25
The error suggests there might be a problematic character that is not allowed by the database used (PostgreSQL), so the text value may need to be changed on the source instance.
Solution
To determine where those problematic characters are located, the below steps can be followed:
Modify the number for the app's error threshold to a number bigger than the issues included in the project so the app won’t stop the deployment of issues when that number of errors is encountered.
Redeploy the snapshot and generate a support zip, ensuring the app's DEBUG is enabled; in that way, all errors related to this problem will be reported.
Once all issues are identified on the logs (see example below), modify all problematic comments by deleting the null character (on the source) and re-create the snapshot.