FusionAuth 1.30.0
I created an application for dev and testing. I went to duplicate it so I can have a production version and a dev version. When attempting to save the new Application (changing only the name field), the UI displays this error:
FusionAuth encountered an unexpected error. Please review the troubleshooting guide found in the documentation for assistance and the available support channels.
I checked the logs and this seems to be the error:
2021-08-24 9:17:09.736 PM ERROR io.fusionauth.app.primeframework.error.ExceptionExceptionHandler - An unhandled exception was thrown
org.apache.ibatis.exceptions.PersistenceException:
### Error updating database. Cause: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "applications_uk_2"
Detail: Key (samlv2_issuer, tenants_id)=(XXX.com, 6165e858-303b-a811-179f-25281f4123e1) already exists.
### The error may exist in io/fusionauth/api/domain/ApplicationMapper.xml
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: INSERT INTO applications( id, active, data, email_update_email_templates_id, email_verification_email_templates_id, email_verified_email_templates_id, forgot_password_email_templates_id, name, access_token_signing_keys_id, forms_id, id_token_signing_keys_id, insert_instant, last_update_instant, login_id_in_use_on_create_email_templates_id, login_id_in_use_on_update_email_templates_id, login_new_device_email_templates_id, login_suspicious_email_templates_id, multi_factor_email_message_templates_id, multi_factor_sms_message_templates_id, passwordless_email_templates_id, password_reset_success_email_templates_id, password_update_email_templates_id, samlv2_issuer, access_token_populate_lambdas_id, id_token_populate_lambdas_id, admin_registration_forms_id, self_service_user_forms_id, samlv2_keys_id, samlv2_default_verification_keys_id, samlv2_logout_default_verification_keys_id, samlv2_logout_keys_id, samlv2_single_logout_keys_id, samlv2_populate_lambdas_id, set_password_email_templates_id, tenants_id, themes_id, two_factor_method_add_email_templates_id, two_factor_method_remove_email_templates_id, ui_ip_access_control_lists_id, verification_email_templates_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
### Cause: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "applications_uk_2"
Detail: Key (samlv2_issuer, tenants_id)=(XXX.com, 6165e858-303b-a811-179f-25281f4123e1) already exists.
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:196)
at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:181)
....
SAML is actually disabled for both applications, but in the original application I had entered a value into the Issuer
field. This causes the duplicate application saving to fail even though SAML is disabled for both applications.
I Enabled SAML, deleted the Issuer
from the new application, then disabled it again since I don't need it yet, and the new application saved fine after that.
So I guess this is half bug report and half info for anyone who runs into this issue.