Skip to content

Commit 435c8aa

Browse files
committed
Revert registry artifacts when a DB error occurs while adding a revision
1 parent 66a7e62 commit 435c8aa

File tree

1 file changed

+14
-1
lines changed
  • components/apimgt/org.wso2.carbon.apimgt.impl/src/main/java/org/wso2/carbon/apimgt/impl

1 file changed

+14
-1
lines changed

components/apimgt/org.wso2.carbon.apimgt.impl/src/main/java/org/wso2/carbon/apimgt/impl/APIProviderImpl.java

+14-1
Original file line numberDiff line numberDiff line change
@@ -5863,7 +5863,20 @@ public String addAPIRevision(APIRevision apiRevision, String organization) throw
58635863
ExceptionCodes.from(ExceptionCodes.API_REVISION_UUID_NOT_FOUND));
58645864
}
58655865
apiRevision.setRevisionUUID(revisionUUID);
5866-
apiMgtDAO.addAPIRevision(apiRevision);
5866+
try {
5867+
apiMgtDAO.addAPIRevision(apiRevision);
5868+
} catch (APIManagementException e) {
5869+
try {
5870+
apiPersistenceInstance.deleteAPIRevision(new Organization(organization), apiId.getUUID(), revisionUUID,
5871+
revisionId);
5872+
} catch (APIPersistenceException e1) {
5873+
String errorMessage = "Failed to remove revision registry artifacts";
5874+
throw new APIManagementException(errorMessage, ExceptionCodes.from(ExceptionCodes.
5875+
ERROR_DELETING_API_REVISION, apiRevision.getApiUUID()));
5876+
}
5877+
throw new APIManagementException("Failed to add API Revision entry of API UUID "
5878+
+ apiRevision.getApiUUID(), e);
5879+
}
58675880
if (importExportAPI != null) {
58685881
try {
58695882
File artifact = importExportAPI

0 commit comments

Comments
 (0)