Walter,

Thanks for pointing out APAR PQ45544. This is not a "code-correcting" APAR
but a "new function" APAR - and dating from 2001, meaning that the "new
function" is available in z/OS 1.6, the level used by the OP.

In effect what you have done is indicate where this relatively new parameter
FTPKEEPALIVE might be particularly useful.

The specific circumstances described by the APAR are for when a firewall
destroys the FTP control connection.

The TCP "keepalive" function is not fully intuitive based on the name. As
the APAR text states, left alone a TCP connection is supposed to stay active
indefinitely - it stays alive without a "heartbeat". It's the potential
non-architected action of the firewall which destroys this happy
circumstance.

If you want to kill an inactive TCP connection, you need to arrange for a
"heartbeat" - sending a null TCP packet typically - which, if not answered
by a "heartbeat" from your connection partner, following a number of
plaintive "second chances"[1], causes death.

Originally I thought that what FTPKEEPALIVE is doing is ensuring that the
FTP control connection, which is necessary in order to provide the message
which assures that the transfer on the FTP data connection completed
successfully, sets the sockets option which allows the TCP "keepalive" to
operate. However it may be that from the introduction of the APAR, the
"keepalive" option is always set - see later.

Despite the presence of the INTERVAL parameter - and the SENDGARBAGE
parameter - on the TCPCONFIG statement and the good explanation of the
"keepalive" mechanism, *nothing happens* unless the sockets application, in
this case the FTP client control connection application, approves the use of
the mechanism by setting the sockets option "on" (the setsockopt()
SO_KEEPALIVE option) which causes the mechanism to operate.

In addition, the "keepalive" interval can be specified using the number
following the FTPKEEPALIVE parameter (using the setsockopt() TCP_KEEPALIVE
option).

Reading what is said about the FTPKEEPALIVE parameter, there's an
implication that, from the time the APAR was applied or the following
release, the FTP client - and server - *always* operate the "keepalive"
mechanism. The default specification is FTPKEEPALIVE 0. The significance of
this appears to be not that the "keepalive" mechanism is switched off but
merely that the interval is determined by the TCPCONFIG INTERVAL value. By
contrast, if the TCPCONFIG INTERVAL value is set to 0 (not the default which
is 120 minutes, 2 hours), the "keepalive" mechanism is switched "off"
globally and thus cannot by used by any application running with that CS IP,
in other words, the "keepalive" mechanism cannot be switched "on" by any
application.

The APAR text, which I was foolish enough to read initially, implies what I
deduced originally, a deduction called into question by the manual text.
This is sadly par for IBM authors - even APAR text writers' - course -
ambiguity reigns. Perhaps someone with the facilities and energy - and
inclination - to check can report what happens when an FTP client connection
with FTPKEEPALIVE 0 - or FTPKEEPALIVE not specified together with TCPCONFIG
INTERVAL (say) 1 is traced.

In case the OP is using defaults, the "keepalive" mechanism may well be
operating for the FTP client but, with a default interval of 2 hours, it
probably may as well not be.

As far as I can tell - "also" - you did not see the need to use the
FTPKEEPALIVE parameter - or - you felt that referring to the APAR was the
most efficient way to describe FTPKEEPALIVE - curious - 'cos it's not as
clear as it might be.

Chris Mason

[1] "a total of ten probes are then sent at 75-second intervals" CS IP
Configuration Reference 1.2.56 TCPCONFIG

----- Original Message ----- 
From: "Walter Trovijo Jr" <[EMAIL PROTECTED]>
Newsgroups: bit.listserv.ibm-main
To: <IBM-MAIN@BAMA.UA.EDU>
Sent: Monday, 10 July, 2006 5:10 PM
Subject: Re: FTP - Put Error - EZA2590E


> Hi,
>
> We've had a similar problem here in the past. Different platform, but
> similar symptons. In our case, we had problems ftpying to a wintel machine
> which in turn was writing data to another
> machine thru remote shared folder (MS networking); another thing was that
> remote machine was in a different network, so the connection was going
> thru routers to the other side. The solution in our
> case was to zip files on the mainframe before sending, because we found
> that problem just happens with large file. Also, take a look at  apar
> PQ45544.
>
> http://www-1.ibm.com/support/docview.wss?uid=isg1PQ45544
>
> HTH,
>
> Walter Trovijo Jr

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to