Network error: 200

Network error: 200

Postby realrunner » Sat 06 Mar 2010 17:06

I am testing dotConnect for Oracle and things are looking pretty good. Kudos on the speed, it is fast!

I am running into this error "Network error: 200", or "Network error:: Operation timed out." at a certain, reproducible point.

Here are the details on my environment:

    OS: Linux, Centos 5.3, 64bit
    Runtime: Mono, 2.6.1
    dotConnect version: 5.6 (beta) trial


Symptom:
After a very long running transaction (a big, multi-table import, running around 20 minutes), an error is caused by a unique constraint violation. I know this because I have 2 versions, one with MS OracleClient, and one with yours. The unique constraint violation causes the import to rollback. The rollback process takes about 3 minutes.
With the OracleClient, I see the exception and process it normally. With your client, I get this error after about 60 seconds, and I don't get the ORA- code or any other meaningful information.

Connection is established like so:
Code: Select all
var cmdb = new Devart.Data.Oracle.OracleConnectionStringBuilder();
                cmdb.Direct = true;
                cmdb.Pooling = false;
                cmdb.DefaultCommandTimeout = 1800;
                cmdb.ConnectionTimeout = 60;
                cmdb.UserId = dbi.Username;
                cmdb.Password = dbi.Password;
                cmdb.Port = dbi.Port;
                cmdb.Sid = dbi.DatabaseName;
                cmdb.Server = dbi.Host;
                return cmdb.ToString();


I am creating commands as such:
Code: Select all
var cmd = conn.CreateCommand();
            cmd.CommandTimeout = 1800;
            return cmd;


Is there something else I can try to mitigate this issue. If needs be, I will try and isolate the problem into a more concise project and post it, but since it is a timing issue it will probably be hard to do simply.
realrunner
 
Posts: 3
Joined: Sat 06 Mar 2010 16:52

Postby realrunner » Sat 06 Mar 2010 17:37

Here is the stack trace:

Code: Select all
Network error:: Operation timed out.
  at Devart.Data.Oracle.bs.a (System.Byte[] A_0, Int32 A_1, Int32 A_2) [0x00000]
  at Devart.Data.Oracle.bs.a (System.Byte& A_0) [0x00000]
  at xc.l.b (System.Byte[] A_0, Int32 A_1, Int32 A_2) [0x00000]
  at xc.l.b () [0x00000]
  at xc.f.b () [0x00000]
  at xc.d.c () [0x00000]
  at Devart.Data.Oracle.z.b (Boolean A_0) [0x00000]
  at Devart.Data.Oracle.OracleInternalConnection.Rollback () [0x00000]


Is there anyway to increase the timeout on the rollback operation?
realrunner
 
Posts: 3
Joined: Sat 06 Mar 2010 16:52

Postby StanislavK » Tue 09 Mar 2010 10:36

At the moment, the timeout period for rollback operation is defined by the ConnectionTimeout property. We will investigate the possibility of using DefaultCommandTimeout instead and notify you about the results.

As a workaround, you may increase ConnectionTimeout.
StanislavK
Devart Team
 
Posts: 1710
Joined: Thu 03 Dec 2009 10:48

OK...

Postby realrunner » Tue 09 Mar 2010 15:59

I can increase the connection timeout but DefaultCommandTimeout seems more appropriate.

I don't really want my Oracle connection timeout to be set at 1 hour. But a rollback could easily take that long given a big enough import.

Thanks
realrunner
 
Posts: 3
Joined: Sat 06 Mar 2010 16:52

Postby StanislavK » Wed 10 Mar 2010 10:49

We have set DefaultCommandTimeout to be used for the rollback timeout, please look forward to the nearest build.
StanislavK
Devart Team
 
Posts: 1710
Joined: Thu 03 Dec 2009 10:48

Postby StanislavK » Wed 31 Mar 2010 16:53

The latest 5.60.120 build of dotConnect for Oracle is available for download now. It can be downloaded from
http://www.devart.com/dotconnect/oracle/download.html
(trial version) or from Registered Users' Area (for users with valid subscription only).

For more information, please refer to
http://www.devart.com/forums/viewtopic.php?t=17514 .
StanislavK
Devart Team
 
Posts: 1710
Joined: Thu 03 Dec 2009 10:48


Return to dotConnect for Oracle