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".

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?

|improve this answer|||||
  • No, both are completely different xactions. – Chakresh Singh May 9 '16 at 14:00
  • And if there are cases where it should throw an exception by design, it should not be a database exception. – Lars Møllebjerg May 9 '16 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.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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