DBD::Sybase misleads me?
am 23.06.2006 14:36:54 von matthew.persico
I have a commercial program that accesses a Sybase 12.5 server. It has
an option to change the packet size of the communucation frame with
the server, but you have to know what size you want.
Sooo, in my perl program, I connect to the database with DBD::Sybase, execute a
sp_configure 'max network packet size' and then I system() the
commercial program with the argument -zpkt=whatever I got back.
Occasionally, the program responds with
DB-Lib ERROR: 20201: Packet size of 16384 not supported -- size of
13824 used instead. severity is 1
The program then dies, but that is their problem - it should
disconnect and reconnect properly and I will register te bug with them
My question is this what causes this? One minute 16384 is ok and the
next its not. DBD::Sybase is CT-LIb based and their program is DB-Lib
based. Is that a problem?
--
Matthew O. Persico
Re: DBD::Sybase misleads me?
am 23.06.2006 14:48:49 von Alexander
What does "sp_configure max network packet size" affect? The current
connection or the entire server?
If it's the connection, it simply can't work: The commercial app is
forked, and has no relation to DBI's connection, so it creates and uses
its own connection (though it seems to fail to set the desired size by
itself).
It it's the entire server, does the client library assume a certain size
or does it asks the server for the current max. packet size?
(And why would you want to change that setting?)
Alexander
On 23.06.2006 14:36, Matthew Persico wrote:
> I have a commercial program that accesses a Sybase 12.5 server. It has
> an option to change the packet size of the communucation frame with
> the server, but you have to know what size you want.
>
> Sooo, in my perl program, I connect to the database with DBD::Sybase,
> execute a
> sp_configure 'max network packet size' and then I system() the
> commercial program with the argument -zpkt=whatever I got back.
>
> Occasionally, the program responds with
>
> DB-Lib ERROR: 20201: Packet size of 16384 not supported -- size of
> 13824 used instead. severity is 1
>
> The program then dies, but that is their problem - it should
> disconnect and reconnect properly and I will register te bug with them
>
> My question is this what causes this? One minute 16384 is ok and the
> next its not. DBD::Sybase is CT-LIb based and their program is DB-Lib
> based. Is that a problem?
> --
> Matthew O. Persico
>
--
Alexander Foken
mailto:alexander@foken.de http://www.foken.de/alexander/
Re: DBD::Sybase misleads me?
am 23.06.2006 14:49:01 von michael.peppler
I suspect that this should really be addressed to a Sybase list.
However, what may happen is that the server doesn't have enough network
memory available and therefore is not able to allow the client to connect
with the 16k packet size.
You should probably take a look at the "additional network memory"
sp_configure option, and read the writeup in Chapter 4 of the System Admin
Guide (page 142 in my 12.5.2 PDF)
Michael
Extranet
matthew.persico@gmail.com - 23/06/2006 14:36
To: dbi-users
cc:
Subject: DBD::Sybase misleads me?
I have a commercial program that accesses a Sybase 12.5 server. It has
an option to change the packet size of the communucation frame with
the server, but you have to know what size you want.
Sooo, in my perl program, I connect to the database with DBD::Sybase,
execute a
sp_configure 'max network packet size' and then I system() the
commercial program with the argument -zpkt=whatever I got back.
Occasionally, the program responds with
DB-Lib ERROR: 20201: Packet size of 16384 not supported -- size of
13824 used instead. severity is 1
The program then dies, but that is their problem - it should
disconnect and reconnect properly and I will register te bug with them
My question is this what causes this? One minute 16384 is ok and the
next its not. DBD::Sybase is CT-LIb based and their program is DB-Lib
based. Is that a problem?
--
Matthew O. Persico
This message and any attachments (the "message") is
intended solely for the addressees and is confidential.
If you receive this message in error, please delete it and
immediately notify the sender. Any use not in accord with
its purpose, any dissemination or disclosure, either whole
or partial, is prohibited except formal approval. The internet
can not guarantee the integrity of this message.
BNP PARIBAS (and its subsidiaries) shall (will) not
therefore be liable for the message if modified.
---------------------------------------------
Ce message et toutes les pieces jointes (ci-apres le
"message") sont etablis a l'intention exclusive de ses
destinataires et sont confidentiels. Si vous recevez ce
message par erreur, merci de le detruire et d'en avertir
immediatement l'expediteur. Toute utilisation de ce
message non conforme a sa destination, toute diffusion
ou toute publication, totale ou partielle, est interdite, sauf
autorisation expresse. L'internet ne permettant pas
d'assurer l'integrite de ce message, BNP PARIBAS (et ses
filiales) decline(nt) toute responsabilite au titre de ce
message, dans l'hypothese ou il aurait ete modifie.
Re: DBD::Sybase misleads me?
am 23.06.2006 14:54:31 von matthew.persico
On 6/23/06, michael.peppler@bnpparibas.com
wrote:
> I suspect that this should really be addressed to a Sybase list.
Sorry about that.
>
> However, what may happen is that the server doesn't have enough network
> memory available and therefore is not able to allow the client to connect
> with the 16k packet size.
Duh, of course. Just because you configure it, doesn't mean its
physically available.
Ok, until I get a bug fix for the commercial program, I will connect
myself at the new size and if I get an error (and I should), I will do
the step down myself.
Of course, since the number of connections at any time is dynamic, I
could still have problems - I step down to a lower number, meanwhile,
new connections come and now the new number is now too high.
Hmm. Time to spring for some more chips, I guess :-)
Thanks folks.
>
> You should probably take a look at the "additional network memory"
> sp_configure option, and read the writeup in Chapter 4 of the System Admin
> Guide (page 142 in my 12.5.2 PDF)
>
> Michael
>
>
>
>
> Extranet
> matthew.persico@gmail.com - 23/06/2006 14:36
>
> To: dbi-users
>
> cc:
>
>
> Subject: DBD::Sybase misleads me?
>
>
> I have a commercial program that accesses a Sybase 12.5 server. It has
> an option to change the packet size of the communucation frame with
> the server, but you have to know what size you want.
>
> Sooo, in my perl program, I connect to the database with DBD::Sybase,
> execute a
> sp_configure 'max network packet size' and then I system() the
> commercial program with the argument -zpkt=whatever I got back.
>
> Occasionally, the program responds with
>
> DB-Lib ERROR: 20201: Packet size of 16384 not supported -- size of
> 13824 used instead. severity is 1
>
> The program then dies, but that is their problem - it should
> disconnect and reconnect properly and I will register te bug with them
>
> My question is this what causes this? One minute 16384 is ok and the
> next its not. DBD::Sybase is CT-LIb based and their program is DB-Lib
> based. Is that a problem?
> --
> Matthew O. Persico
>
>
>
>
> This message and any attachments (the "message") is
> intended solely for the addressees and is confidential.
> If you receive this message in error, please delete it and
> immediately notify the sender. Any use not in accord with
> its purpose, any dissemination or disclosure, either whole
> or partial, is prohibited except formal approval. The internet
> can not guarantee the integrity of this message.
> BNP PARIBAS (and its subsidiaries) shall (will) not
> therefore be liable for the message if modified.
>
> ---------------------------------------------
>
> Ce message et toutes les pieces jointes (ci-apres le
> "message") sont etablis a l'intention exclusive de ses
> destinataires et sont confidentiels. Si vous recevez ce
> message par erreur, merci de le detruire et d'en avertir
> immediatement l'expediteur. Toute utilisation de ce
> message non conforme a sa destination, toute diffusion
> ou toute publication, totale ou partielle, est interdite, sauf
> autorisation expresse. L'internet ne permettant pas
> d'assurer l'integrite de ce message, BNP PARIBAS (et ses
> filiales) decline(nt) toute responsabilite au titre de ce
> message, dans l'hypothese ou il aurait ete modifie.
>
>
--
Matthew O. Persico
Re: DBD::Sybase misleads me?
am 23.06.2006 14:57:14 von michael.peppler
The sp_configure option is dynamic, but only affects future connections. It
is an upper limit, and the client has to specifically request the larger
packet size to get it. Otherwise the default 512 byte packet size is used.
Michael
Extranet
alexander@foken.de - 23/06/2006 14:48
To: matthew.persico
cc: dbi-users
Subject: Re: DBD::Sybase misleads me?
What does "sp_configure max network packet size" affect? The current
connection or the entire server?
If it's the connection, it simply can't work: The commercial app is
forked, and has no relation to DBI's connection, so it creates and uses
its own connection (though it seems to fail to set the desired size by
itself).
It it's the entire server, does the client library assume a certain size
or does it asks the server for the current max. packet size?
(And why would you want to change that setting?)
Alexander
On 23.06.2006 14:36, Matthew Persico wrote:
> I have a commercial program that accesses a Sybase 12.5 server. It has
> an option to change the packet size of the communucation frame with
> the server, but you have to know what size you want.
>
> Sooo, in my perl program, I connect to the database with DBD::Sybase,
> execute a
> sp_configure 'max network packet size' and then I system() the
> commercial program with the argument -zpkt=whatever I got back.
>
> Occasionally, the program responds with
>
> DB-Lib ERROR: 20201: Packet size of 16384 not supported -- size of
> 13824 used instead. severity is 1
>
> The program then dies, but that is their problem - it should
> disconnect and reconnect properly and I will register te bug with them
>
> My question is this what causes this? One minute 16384 is ok and the
> next its not. DBD::Sybase is CT-LIb based and their program is DB-Lib
> based. Is that a problem?
> --
> Matthew O. Persico
>
--
Alexander Foken
mailto:alexander@foken.de http://www.foken.de/alexander/
This message and any attachments (the "message") is
intended solely for the addressees and is confidential.
If you receive this message in error, please delete it and
immediately notify the sender. Any use not in accord with
its purpose, any dissemination or disclosure, either whole
or partial, is prohibited except formal approval. The internet
can not guarantee the integrity of this message.
BNP PARIBAS (and its subsidiaries) shall (will) not
therefore be liable for the message if modified.
---------------------------------------------
Ce message et toutes les pieces jointes (ci-apres le
"message") sont etablis a l'intention exclusive de ses
destinataires et sont confidentiels. Si vous recevez ce
message par erreur, merci de le detruire et d'en avertir
immediatement l'expediteur. Toute utilisation de ce
message non conforme a sa destination, toute diffusion
ou toute publication, totale ou partielle, est interdite, sauf
autorisation expresse. L'internet ne permettant pas
d'assurer l'integrite de ce message, BNP PARIBAS (et ses
filiales) decline(nt) toute responsabilite au titre de ce
message, dans l'hypothese ou il aurait ete modifie.
Re: DBD::Sybase misleads me?
am 23.06.2006 15:28:33 von dtzgdman
This topic really has nothing to do with DBD::Sybase.
Truth be known, DBD::Sybase would never mislead
anyone.
Sybase ASE configuration parameter "max network packet
size" is a static parameter; the dataserver needs to
be restarted for it to take effect. The same applies
to "default network packet size".
Related to "max network packet size" is the
configuration parameter "additional network memory",
which controls the total amount of memory available to
connections using a larger than default packet size.
Sybase ASE configuration parameters "addition network
memory" and "number of user connections" are dynamic
parameters and so do not require ASE restart.
If you want a 16k packet size, set "max netowrk packet
size" correctly, allocate suffcient "additional
network memory" as well as "number of user
connections" and cycle your server.
regards,
David
--- michael.peppler@bnpparibas.com wrote:
> The sp_configure option is dynamic, but only affects
> future connections. It
> is an upper limit, and the client has to
> specifically request the larger
> packet size to get it. Otherwise the default 512
> byte packet size is used.
>
> Michael
>
>
>
>
> Extranet
> alexander@foken.de - 23/06/2006 14:48
>
> To: matthew.persico
>
> cc: dbi-users
>
>
> Subject: Re: DBD::Sybase misleads me?
>
>
> What does "sp_configure max network packet size"
> affect? The current
> connection or the entire server?
>
> If it's the connection, it simply can't work: The
> commercial app is
> forked, and has no relation to DBI's connection, so
> it creates and uses
> its own connection (though it seems to fail to set
> the desired size by
> itself).
>
> It it's the entire server, does the client library
> assume a certain size
> or does it asks the server for the current max.
> packet size?
>
>
> (And why would you want to change that setting?)
>
> Alexander
>
> On 23.06.2006 14:36, Matthew Persico wrote:
>
> > I have a commercial program that accesses a Sybase
> 12.5 server. It has
> > an option to change the packet size of the
> communucation frame with
> > the server, but you have to know what size you
> want.
> >
> > Sooo, in my perl program, I connect to the
> database with DBD::Sybase,
> > execute a
> > sp_configure 'max network packet size' and then I
> system() the
> > commercial program with the argument
> -zpkt=whatever I got back.
> >
> > Occasionally, the program responds with
> >
> > DB-Lib ERROR: 20201: Packet size of 16384 not
> supported -- size of
> > 13824 used instead. severity is 1
> >
> > The program then dies, but that is their problem -
> it should
> > disconnect and reconnect properly and I will
> register te bug with them
> >
> > My question is this what causes this? One minute
> 16384 is ok and the
> > next its not. DBD::Sybase is CT-LIb based and
> their program is DB-Lib
> > based. Is that a problem?
> > --
> > Matthew O. Persico
> >
>
>
> --
> Alexander Foken
> mailto:alexander@foken.de
> http://www.foken.de/alexander/
>
>
>
>
> This message and any attachments (the "message") is
> intended solely for the addressees and is
> confidential.
> If you receive this message in error, please delete
> it and
> immediately notify the sender. Any use not in accord
> with
> its purpose, any dissemination or disclosure, either
> whole
> or partial, is prohibited except formal approval.
> The internet
> can not guarantee the integrity of this message.
> BNP PARIBAS (and its subsidiaries) shall (will) not
> therefore be liable for the message if modified.
>
>
> ---------------------------------------------
>
> Ce message et toutes les pieces jointes (ci-apres le
>
> "message") sont etablis a l'intention exclusive de
> ses
> destinataires et sont confidentiels. Si vous recevez
> ce
> message par erreur, merci de le detruire et d'en
> avertir
> immediatement l'expediteur. Toute utilisation de ce
> message non conforme a sa destination, toute
> diffusion
> ou toute publication, totale ou partielle, est
> interdite, sauf
> autorisation expresse. L'internet ne permettant pas
> d'assurer l'integrite de ce message, BNP PARIBAS (et
> ses
> filiales) decline(nt) toute responsabilite au titre
> de ce
> message, dans l'hypothese ou il aurait ete modifie.
>
>
Sybase ASE max network packet size
am 23.06.2006 15:52:31 von dtzgdman
This is a server wide configuration setting. The
benefit of using larger packet sizes is that you can
get better efficiency and throughput from the network
by sending data in larger packets, i.e. the same
amount of data is transmitted in a smaller number of
large packets and thus incur less overhead.
On the client side, it is also possible to set the
packet size for the connection explicitly, which is
apparently what your application is doing. However,
the client can only set the packet size to a maximum
of the server "max network packet size", assuming that
sufficient "additional network memory" exists. If the
client packet size exceeds "max network packet size",
you get an error and the connection fails.
regards,
David
--- Alexander Foken wrote:
> What does "sp_configure max network packet size"
> affect? The current
> connection or the entire server?
>
> If it's the connection, it simply can't work: The
> commercial app is
> forked, and has no relation to DBI's connection, so
> it creates and uses
> its own connection (though it seems to fail to set
> the desired size by
> itself).
>
> It it's the entire server, does the client library
> assume a certain size
> or does it asks the server for the current max.
> packet size?
>
>
> (And why would you want to change that setting?)
>
> Alexander
>
> On 23.06.2006 14:36, Matthew Persico wrote:
>
> > I have a commercial program that accesses a Sybase
> 12.5 server. It has
> > an option to change the packet size of the
> communucation frame with
> > the server, but you have to know what size you
> want.
> >
> > Sooo, in my perl program, I connect to the
> database with DBD::Sybase,
> > execute a
> > sp_configure 'max network packet size' and then I
> system() the
> > commercial program with the argument
> -zpkt=whatever I got back.
> >
> > Occasionally, the program responds with
> >
> > DB-Lib ERROR: 20201: Packet size of 16384 not
> supported -- size of
> > 13824 used instead. severity is 1
> >
> > The program then dies, but that is their problem -
> it should
> > disconnect and reconnect properly and I will
> register te bug with them
> >
> > My question is this what causes this? One minute
> 16384 is ok and the
> > next its not. DBD::Sybase is CT-LIb based and
> their program is DB-Lib
> > based. Is that a problem?
> > --
> > Matthew O. Persico
> >
>
>
> --
> Alexander Foken
> mailto:alexander@foken.de
> http://www.foken.de/alexander/
>
>
Re: DBD::Sybase misleads me?
am 23.06.2006 17:56:36 von chuckfox2
--------------080105060702000807080704
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
michael.peppler@bnpparibas.com wrote:
> The sp_configure option is dynamic, but only affects future connections. It
> is an upper limit, and the client has to specifically request the larger
> packet size to get it. Otherwise the default 512 byte packet size is used.
>
> Michael
>
In addition to setting the configuration param for max packet size, you
also need to allocate a number of bytes to the pool of memory from which
the larger packets are drawn. This pool of memory is addressed by the
sp_configure parameter 'additional network memory'. There is a formula
to caluclate the actual amount required based on the number of
connections and the packet sizes required.
Regards,
Chuck
--------------080105060702000807080704--