4

In my code I'm reading a Bundle which is in workflow and eventually it get dissovled after completion of workflow. To avoid any reading error I am using IsExistingObject(bundle_tcm_id) method from core service however sometime I get following exception rather than false :

System.ServiceModel.FaultException`1[Tridion.ContentManager.CoreService.Client.CoreServiceFault]: A database error occurred while executing Stored Procedure "EDA_ORG_ITEMS.READ_ORG_ITEM". ORA-01403: no data found ORA-06512: at "TCMDBUSER.EDA_ORG_ITEMS", line 2715 ORA-06512: at line 1

Shouldn't the method retrun false if "no data found".

2 Answers 2

3

I would consider that a bug, yeah. The intent of the method is clearly to prevent exceptions, so it wouldn't make sense for it to raise one unless it's a critical one like an out of memory exception.

You wouldn't happen to be deleting it within the same transaction that you are calling IsExistingObject in, would you?

2
  • No, both are completely different xactions. May 9, 2016 at 14:00
  • And if there are cases where it should throw an exception by design, it should not be a database exception. May 9, 2016 at 14:48
2

This looks like a timeout error on database side. The problem you are observing is most probably related to slow database. To make sure that this is indeed the case, try speeding up your database by running sp_updatestats stored procedure and by rebuilding indexes. Also check the timeout in MMC snap-in for short and long database operations. It might be too low.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.