[teiid-issues] [JBoss JIRA] (TEIID-1830) Perl client using DBD:Pg hangs with resultset > 512 rows

Steven Hawkins (Resolved) (JIRA) jira-events at lists.jboss.org
Tue Nov 15 12:42:40 EST 2011


     [ https://issues.jboss.org/browse/TEIID-1830?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steven Hawkins resolved TEIID-1830.
-----------------------------------

    Resolution: Done


The submitNext logic didn't correctly handle having the final row number proactively sent.  That is always the case in transactional processing, but can occur in normal processing if the client lags the server.
                
> Perl client using DBD:Pg hangs with resultset > 512 rows
> --------------------------------------------------------
>
>                 Key: TEIID-1830
>                 URL: https://issues.jboss.org/browse/TEIID-1830
>             Project: Teiid
>          Issue Type: Bug
>          Components: ODBC
>    Affects Versions: 7.4.1
>         Environment: java version "1.6.0_20"
> OpenJDK Runtime Environment (IcedTea6 1.9.10) (rhel-1.23.1.9.10.el5_7-x86_64)
> OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
> on
> Red Hat Enterprise Linux Server release 5.7 (Tikanga)
> Teiid 7.5 with a patch applied for issue TEIID-1812
> Perl client running on either Fedora 16 or RHEL 5.7
> Using perl-DBD-Pg-2.18.0-3.fc16.x86_64
>            Reporter: Graeme Gillies
>            Assignee: Steven Hawkins
>             Fix For: 7.6
>
>
> We are using a simple perl script to connect to teiid and run a query, spitting out the results. Unfortunately we find that the perl client hangs forever when trying to execture/return a resultset > 512 rows, but 512 or less it runs fine
> The code for a test script is as follows
> {code}
> #! /usr/bin/perl
> use strict;
> use warnings;
> use DBI;
> my $db_type = 'Pg';
> my $db_name = 'EngVDBF';
> my $db_host = 'vdb.engineering.redhat.com';
> my $db_port = 35432;
> my $user = 'teiid';
> my $pass = 'teiid';
> my $attr = { AutoCommit => 0, RaiseError => 1 };
> my $dsn = sprintf( "dbi:%s:dbname=%s;host=%s;port=%s",
>     $db_type, $db_name, $db_host, $db_port );
> my $dbh = DBI->connect( $dsn, $user, $pass, $attr );
> my $limit = ( $ARGV[0] ) ? "limit $ARGV[0]" : "";
> my $query = <<QUERY;
>     select bugs.bug_id, bugs.priority, bugs.bug_severity
>       from BugzillaS.bugs bugs $limit
> QUERY
> my $sth = $dbh->prepare($query);
> $sth->execute();
> while ( my @row = $sth->fetchrow_array() ) {
>     print join( ',', map {"\"$_\""} @row ) . "\n";
> }
> $sth->finish();
> $dbh->disconnect();
> {code}
> When running
> {noformat}
> ./teiid.pl 512
> {noformat}
> Query runs fine, when we run
> {noformat}
> ./teiid.pl 513
> {noformat}
> Client just sits there forever (the query actually has about 1800 odd rows returning).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the teiid-issues mailing list