Skip to main content

Hi

Over the weekend one on our ODX jobs failed with the following error;

 

Executing table PRODDTA]..F0101]:
failed with error:
Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-50000: Connection request timed out
   at OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPassw, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch, Boolean bAsync)
   at OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassw, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch, Boolean bAsync)
   at OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, OracleOpaqueString securedPassw, OracleOpaqueString securedProxyPassw, OracleConnection connRefForCriteria, Boolean bAsync)
   at Oracle.ManagedDataAccess.Client.OracleConnectionInternal.OpenInternal(Boolean bAsync)
   at Oracle.ManagedDataAccess.Client.OracleConnectionInternal.Open()
   at Oracle.ManagedDataAccess.Client.OracleConnection.Open()
   at DataStorageEngine.SQL.SQLHelper.<>c__DisplayClass38_0.<TransferWithBulkCopy>b__0(IDbConnection con)
   at DataStorageEngine.SQL.SQLHelper.ApplyUsingHT](T disposable, Boolean dispose, Action`1 action)
   at DataStorageEngine.SQL.SQLHelper.TransferWithBulkCopy(SqlDatabaseEndpoint storageEndpoint, IDbCommand destinationCommand, String destinationTableName, IEnumerable`1 columnModels, IDbCommand sourceTransferCommand, DataTable transferTable, Stringa] queries, Boolean disposeSourceObjects)
   at DataStorageEngine.SQL.SQLStorageEngine.<>c__DisplayClass60_1.<TransferDataToTable>b__3(IDbCommand sourceCommand, Strings] queries, Boolean disposeSourceObjects)
   at DataStorageEngine.SQL.SQLStorageEngine.<>c__DisplayClass60_0.<TransferDataToTable>b__1(IDbCommand destinationCommand)
   at DataStorageEngine.SQL.SQLStorageExtensions.ExecuteCommand(IDbConnection connection, Int32 commandTimeout, Action`1 action)
   at DataStorageEngine.SQL.SQLStorageEngine.<>c__DisplayClass57_5.<TransferData>b__9(SQLExecutionMethod executionMethod)
   at DataSourceEngine.Custom.CustomSourceEngine.InvokeDataSourceExecution(Action`1 action)
   at DataSourceEngine.Custom.CustomSourceEngine.RunExecutionCM](DataExecutionDestination dataExecutionMethod, Action`1 action)
   at DataStorageEngine.SQL.SQLStorageEngine.<>c__DisplayClass57_3.<TransferData>b__6()

 

Having spent a little bit of time investigating this one of the recommendations has been to check the mconnection timeout] value of the connection. Having had a look on the TX portal I cannot see a setting for this so presumably it is something that needs to be set as an ‘Additional Property’.

 

Does anyone know the correct name value to use to set this property so I can override whatever the default value is to something larger?

 

Regards

Hi,

the parameter should be Connection Timeout={seconds]; . I am not sure that will be enough though, normally TimeXtender has connection timeout settings available explicitly. In the ODX Server ADO Data Source for Oracle there only seems to be a command timeout, that implies the timeout is hardocded. Note that if it is 60 seconds by default, the failure might be caused by a (transient) network error or heavy load on your Oracle source.


Thanks ​@rory.smith

Do TimeXtender Support have anything further to add? Is this property something that can be changed or is it hardcoded?

I should note that the job has run since the weekend failure without issue, so I am in agreement with Rory that it is probably a transient network error or heavy load on oracle source, and probably difficult to determine root cause if not replicable. I have requested network and oracle teams to investigate their logs around this time, but don’t expect anything of obvious interest back.

I know that there is a retry option on job packages in the Prepare instance, but I cannot find any reference to being able to set a retry on a job in an Ingest instance. Am I missing something?

And what about the tpooling] and amin pool size] setting, which is currently false and 0 respectively. Could these settings make any difference? 


Hi ​@Paul Bridge 

If you increased the available timeout settings you have on the data source and the instance setup and it had no effect then you will need to increase it elsewhere or limit the amount of data transferred so it is able to do so in the allowed time.


Hi ​@Thomas Lind 

So can you confirm that there is no retry step option for ODX ingest jobs?


Hi ​@Paul Bridge 

You can do retries in your TimeXtender Orchestration setup.


Reply