Publishing Error: ORA-01013: user requested cancel of current operation

Hi Everyone,

We are encountering an intermittent problem when publishing our web application.  Does anyone encounter this kind of problem and what is the resolution? 


Our web application uses the OS DB and we also use other tables from postgre DB using an Extension.


Internal Error

ORA-01013: user requested cancel of current operation

Details : Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-01013: user requested cancel of current operation

   at OracleInternal.ServiceObjects.OracleCommandImpl.VerifyExecution(OracleConnectionImpl connectionImpl, Int32& cursorId, Boolean bThrowArrayBindRelatedErrors, OracleException& exceptionForArrayBindDML, Boolean& hasMoreRowsInDB, Boolean bFirstIterationDone)

   at OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteReader(String commandText, OracleParameterCollection paramColl, CommandType commandType, OracleConnectionImpl connectionImpl, OracleDataReaderImpl& rdrImpl, Int32 longFetchSize, Int64 clientInitialLOBFS, OracleDependencyImpl orclDependencyImpl, Int64[] scnForExecution, Int64[]& scnFromExecution, OracleParameterCollection& bindByPositionParamColl, Boolean& bBindParamPresent, Int64& internalInitialLOBFS, OracleException& exceptionForArrayBindDML, Boolean isDescribeOnly, Boolean isFromEF)

   at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)

   at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteDbDataReader(CommandBehavior behavior)

   at OutSystems.HubEdition.DatabaseProvider.Oracle.ExecutionService.ExecutionService.ExecuteReader(IDbCommand cmd)

   at #8lb.#hmb.ExecuteReader(String description, Boolean isApplication, Boolean transformParameters, Boolean skipLog)

   at OutSystems.HubEdition.DeploymentController.Database.DBCompilerService.GetDependentConsumers(Transaction tran, ObjectKey producerSSKey)

   at OutSystems.HubEdition.DeploymentController.Compiler.CheckForIncompatibleProducerConsumers(String consumerName, Int32 consumerVersionId, ObjectKey producerKey, HEMessageArrayList response, IDictionary`2 consumerProducers, HashSet`1 producersChecked)

   at OutSystems.HubEdition.DeploymentController.Compiler.BuildReferencesProxy(CallType callType, HEMessageArrayList response, String espaceTemporaryPath, String eSpaceName, ObjectKey eSpaceKey, Boolean debugMode, IDictionary`2 extensions, IDictionary`2 eSpaces, Int32 eSpaceVersionId, String uniqueId, ObjectUsageCache& objectUsageCache, IDictionary`2& producerVersions, Boolean useDiff2ndStageCompilation)

   at OutSystems.HubEdition.DeploymentController.Compiler.<>c__DisplayClass217_4.<CompileOml>b__0()

   at OutSystems.HubEdition.Compiler.Utils.CompilerUtils.WithOverridenSettings(IDictionary`2 settingsOverride, Action body)

   at OutSystems.HubEdition.DeploymentController.Compiler.CompileOml(Byte[] oml, Boolean debugMode, String eSpaceName, Int32 eSpaceVersionId, String userName, Boolean partial, Boolean forceNewTables, #afc lockBehaviors, String uniqueId, Boolean fromSS, Boolean abortOnNewBrokenReferences, List`1 lastCheckedBrokenReferences, Dictionary`2 compilerSettingsOverride, Boolean useDifferential2ndStageCompilation)

Exception Details:

[1] Internal Error: ORA-01013: user requested cancel of current operation

Details : Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-01013: user requested cancel of current operation

   at OracleInternal.ServiceObjects.OracleCommandImpl.VerifyExecution(OracleConnectionImpl connectionImpl, Int32& cursorId, Boolean bThrowArrayBindRelatedErrors, OracleException& exceptionForArrayBindDML, Boolean& hasMoreRowsInDB, Boolean bFirstIterationDone)

   at OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteReader(String commandText, OracleParameterCollection paramColl, CommandType commandType, OracleConnectionImpl connectionImpl, OracleDataReaderImpl& rdrImpl, Int32 longFetchSize, Int64 clientInitialLOBFS, OracleDependencyImpl orclDependencyImpl, Int64[] scnForExecution, Int64[]& scnFromExecution, OracleParameterCollection& bindByPositionParamColl, Boolean& bBindParamPresent, Int64& internalInitialLOBFS, OracleException& exceptionForArrayBindDML, Boolean isDescribeOnly, Boolean isFromEF)

   at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)

   at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteDbDataReader(CommandBehavior behavior)

   at OutSystems.HubEdition.DatabaseProvider.Oracle.ExecutionService.ExecutionService.ExecuteReader(IDbCommand cmd)

   at #8lb.#hmb.ExecuteReader(String description, Boolean isApplication, Boolean transformParameters, Boolean skipLog)

   at OutSystems.HubEdition.DeploymentController.Database.DBCompilerService.GetDependentConsumers(Transaction tran, ObjectKey producerSSKey)

   at OutSystems.HubEdition.DeploymentController.Compiler.CheckForIncompatibleProducerConsumers(String consumerName, Int32 consumerVersionId, ObjectKey producerKey, HEMessageArrayList response, IDictionary`2 consumerProducers, HashSet`1 producersChecked)

   at OutSystems.HubEdition.DeploymentController.Compiler.BuildReferencesProxy(CallType callType, HEMessageArrayList response, String espaceTemporaryPath, String eSpaceName, ObjectKey eSpaceKey, Boolean debugMode, IDictionary`2 extensions, IDictionary`2 eSpaces, Int32 eSpaceVersionId, String uniqueId, ObjectUsageCache& objectUsageCache, IDictionary`2& producerVersions, Boolean useDiff2ndStageCompilation)

   at OutSystems.HubEdition.DeploymentController.Compiler.<>c__DisplayClass217_4.<CompileOml>b__0()

   at OutSystems.HubEdition.Compiler.Utils.CompilerUtils.WithOverridenSettings(IDictionary`2 settingsOverride, Action body)

   at OutSystems.HubEdition.DeploymentController.Compiler.CompileOml(Byte[] oml, Boolean debugMode, String eSpaceName, Int32 eSpaceVersionId, String userName, Boolean partial, Boolean forceNewTables, #afc lockBehaviors, String uniqueId, Boolean fromSS, Boolean abortOnNewBrokenReferences, List`1 lastCheckedBrokenReferences, Dictionary`2 compilerSettingsOverride, Boolean useDifferential2ndStageCompilation)

at OutSystems.HubEdition.DeploymentController.Compiler.CompileOml(Byte[] oml, Boolean debugMode, String eSpaceName, Int32 eSpaceVersionId, String userName, Boolean partial, Boolean forceNewTables, #afc lockBehaviors, String uniqueId, Boolean fromSS, Boolean abortOnNewBrokenReferences, List`1 lastCheckedBrokenReferences, Dictionary`2 compilerSettingsOverride, Boolean useDifferential2ndStageCompilation)

   at OutSystems.HubEdition.DeploymentController.Compiler.PublishOml(Object operation)

   at #Wcc.#Ycc.#WT.#sic(Object s)

   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)

   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)

   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()

   at System.Threading.ThreadPoolWorkQueue.Dispatch()

[2] Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-01013: user requested cancel of current operation

   at OracleInternal.ServiceObjects.OracleCommandImpl.VerifyExecution(OracleConnectionImpl connectionImpl, Int32& cursorId, Boolean bThrowArrayBindRelatedErrors, OracleException& exceptionForArrayBindDML, Boolean& hasMoreRowsInDB, Boolean bFirstIterationDone)

   at OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteReader(String commandText, OracleParameterCollection paramColl, CommandType commandType, OracleConnectionImpl connectionImpl, OracleDataReaderImpl& rdrImpl, Int32 longFetchSize, Int64 clientInitialLOBFS, OracleDependencyImpl orclDependencyImpl, Int64[] scnForExecution, Int64[]& scnFromExecution, OracleParameterCollection& bindByPositionParamColl, Boolean& bBindParamPresent, Int64& internalInitialLOBFS, OracleException& exceptionForArrayBindDML, Boolean isDescribeOnly, Boolean isFromEF)

   at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)

   at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteDbDataReader(CommandBehavior behavior)

   at OutSystems.HubEdition.DatabaseProvider.Oracle.ExecutionService.ExecutionService.ExecuteReader(IDbCommand cmd)

   at #8lb.#hmb.ExecuteReader(String description, Boolean isApplication, Boolean transformParameters, Boolean skipLog)

   at OutSystems.HubEdition.DeploymentController.Database.DBCompilerService.GetDependentConsumers(Transaction tran, ObjectKey producerSSKey)

   at OutSystems.HubEdition.DeploymentController.Compiler.CheckForIncompatibleProducerConsumers(String consumerName, Int32 consumerVersionId, ObjectKey producerKey, HEMessageArrayList response, IDictionary`2 consumerProducers, HashSet`1 producersChecked)

   at OutSystems.HubEdition.DeploymentController.Compiler.BuildReferencesProxy(CallType callType, HEMessageArrayList response, String espaceTemporaryPath, String eSpaceName, ObjectKey eSpaceKey, Boolean debugMode, IDictionary`2 extensions, IDictionary`2 eSpaces, Int32 eSpaceVersionId, String uniqueId, ObjectUsageCache& objectUsageCache, IDictionary`2& producerVersions, Boolean useDiff2ndStageCompilation)

   at OutSystems.HubEdition.DeploymentController.Compiler.<>c__DisplayClass217_4.<CompileOml>b__0()

   at OutSystems.HubEdition.Compiler.Utils.CompilerUtils.WithOverridenSettings(IDictionary`2 settingsOverride, Action body)

   at OutSystems.HubEdition.DeploymentController.Compiler.CompileOml(Byte[] oml, Boolean debugMode, String eSpaceName, Int32 eSpaceVersionId, String userName, Boolean partial, Boolean forceNewTables, #afc lockBehaviors, String uniqueId, Boolean fromSS, Boolean abortOnNewBrokenReferences, List`1 lastCheckedBrokenReferences, Dictionary`2 compilerSettingsOverride, Boolean useDifferential2ndStageCompilation)

Hello Paul,

This usually means timeout.

Can be due network problems, but often is related to db locks, very common in some BPT  and batch processes (timers) scenarios.

You can take a look around, as you will probably find a number of posts related to this in the forum.

As you can imagine, it is not easy to find the reason and many times requires a code review or data base monitoring to understand when this is happening.

Cheers

It is not directly clear what causes your problem. 

since you are publishing, it could be that the new espace contains an entity with a new index and that the creation of that index takes to much time. it might be as well that you have to many versions of espaces for which you can use https://www.outsystems.com/forge/component-overview/423/dbcleaner

Another solution might be to increase the timeout time, monitor your database if a heavy process is running, or check/disable the onpublish-timers, or locked tables. 

Regards,

Hans