Re: FreeTDS hangs when running a select
Hildo Biersma <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Organization | Morgan Stanley |
| Message-ID | <[email protected]> |
Brian Johnson wrote: > We have a Windows system on the same network that uses the same firewall > going through the same VPN tunnel. The Windoze system works great (returns > all the rows). But both linux systems choke. I'm truely stumped. The log > created when setting TDSDUMP did indeed seem to indicate that there was no > problem, data just stopped flowing. I also looked into the ODBC logs, and > there was no clues there either. > > Any ideas? Any where I can point a finger and say, "Aha! I have something > to update!"? > > For the record, I did try compiling .82RC4 but saw the same results. So I > am thinking you must be correct in that it's not FreeTDS. :( Check the selective ACK (SACK) network setting on your Linux system. If you have a bad firewall, turning off SACK may help. > > -Brian > > On Mon, Apr 7, 2008 at 1:03 PM, James K. Lowden <[email protected]> > wrote: > >> Brian Johnson wrote: >>> Let me start by saying that the following numbers are somewhat made up, >>> but demonstrate the problem accurately. Anyway, lets say we have a >>> table with 5 columns, and 100 rows. If we do a "select * from foo", we >>> would expect to get 100 rows returned. We don't. Instead we get say 25 >>> rows, and the select hangs. I can print out the results of those 25 >>> rows in perl, but the 26th row never gets returned. >>> >>> So, we modified the select to be "SELECT col1 FROM foo", and we got all >>> 100 rows of that column. So we did "SELECT col1, col2 FROM foo", and >>> then we got 75 rows and it hung. So we tried "SELECT col1, col2, col3" >>> FROM foo", and ended up getting 50 rows. >>> >>> Of course, the numbers were not so nice and round. As for how we are >>> connecting, I have tried DSN and DNS-less connections with dbi::ODBC, >>> and of course have tried with sqsh. For sqsh I added an entry to >>> freetds.conf, and then ran sqsh -S ENTRYNAME -U USER -P PASS. I was >>> able to do very small selects, but any time I did a select that returned >>> large numbers of rows it hung. >> There's nothing in FreeTDS that would explain what you're seeing. It sure >> sounds to me like there's something on your network -- perhaps a firewall? >> Some sort of traffic shaper? -- between you and your server. >> >> You can use TDSDUMP to create a log of the session and show it to your >> network folks. I think you'll see the server seems to stop sending in >> mid-packet. If you can show a successful log with the old server, that >> might convince them to track it down. >> >> HTH. >> >> --jkl >> _______________________________________________ >> FreeTDS mailing list >> [email protected] >> http://lists.ibiblio.org/mailman/listinfo/freetds >> > _______________________________________________ > FreeTDS mailing list > [email protected] > http://lists.ibiblio.org/mailman/listinfo/freetds