GET LAST ERROR STACK()

View: New views
3 Messages — Rating Filter:   Alert me  

GET LAST ERROR STACK()

by Bill Weale :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Error #: 15;
Source: srvr;
Text:  "Postponed session expired."

Can anyone elaborate on what this means?

I'm getting these, among others, in my attempt to track down and  
eliminate client disconnects. My best interpretation is that a  
connection put into standby mode (see below) has been timed out, but,  
if that's the case, by which, client or server?

I'm trying to "protect" client/server connections by using the Idle  
Connections, 4D Server timeout and 4D Client timeout DB parameters.  
Here's my logic:

   `----------------------------------------
   `1. Protect all connections if they have been idle for more than 10  
minutes--use DB parameter "Idle Connections Timeout"
   `2. Clients never "voluntarily" disconnect from server except when  
user quits 4D--use DB Parameter "4D Server Timeout"
   `3. Server disconnects clients if they have been idle for more than  
3 hours--use DB Parameter "4D Remote Mode Timeout"
   `----------------------------------------

Here is the code in Server startup:
SET DATABASE PARAMETER(4D Remote Mode Timeout ;60*3)  `Disconnect a  
Client if it's been idle more than 3 hours. (The second parameter,
   
`
                                                                                             duration
, for Remote Mode Timeout is expressed in minutes.)
SET DATABASE PARAMETER(Idle Connections Timeout ;60*10)  `put the  
connections started by this machine on standby if they have been
   `idle for more than 10 minutes. (The second parameter, duration,  
for idle connections timeout is expressed in seconds.)


Here's the code in Client startup:
SET DATABASE PARAMETER(4D Server Timeout ;0)  `never intentionally  
disconnect server.
SET DATABASE PARAMETER(Idle Connections Timeout ;60*10)  `put the  
connections started by this machine on standby if they have been
   `idle for more than 10 minutes. (The second parameter, duration,  
for idle connections timeout is expressed in seconds.)

I *think* I'm using the correct timeout parameters in the correct  
locations, based on a post Josh made some time ago.

Is anyone using Error Stack info? It seems as if it should be helpful  
but I've seen virtually no mention of it here.

Thanks for *any* insight.

Bill




William W. Weale, III

Business Owners Support, LLC.

Operations Analysis
MIS Advising
Decision Support Systems

**********************************************************************
Get the speed and power of 4D v11 SQL
before upgrade prices increase - http://www.4d.com
   

4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4D.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4D_Tech-Unsubscribe@...
**********************************************************************

Re: GET LAST ERROR STACK()

by Spencer Hinsdale :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 11/3/09 4:02 PM, "Bill Weale" <bill.weale@...> wrote:

>
> Here is the code in Server startup:
> SET DATABASE PARAMETER(4D Remote Mode Timeout ;60*3)  `Disconnect a
> Client if it's been idle more than 3 hours. (The second parameter,
>  

Hi, Bill,

I'm pretty sure you have these backwards.

For example, when I move the Slider in the Server Preferences to 5 and then
call:
alert(string(get database parameter(13)))
It says 5.

We had one difficult WAN Client and tried:
> SET DATABASE PARAMETER(4D Remote Mode Timeout...
in On Server Startup
and it had no effect.  It worked in On Startup, though.

Hth,

Spencer

**********************************************************************
Get the speed and power of 4D v11 SQL
before upgrade prices increase - http://www.4d.com
   

4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4D.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4D_Tech-Unsubscribe@...
**********************************************************************

Re: GET LAST ERROR STACK()

by Bill Weale :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Spencer--

You may be right. I pulled a note from Josh Fletcher from the archives  
which in itself seems pretty clear to me, but it also seems (to me) to  
contradict the v11 docs for these parameters. I had focused more on  
trying to see if the Param 54 (Idle connections timeout) could solve  
the problem because we are getting disconnects even when 13 and 14 are  
set to 0. Clearly connections are being dropped or broken by a factor  
other than as a "deliberate" result of those two settings.

Here's what I'm capturing with the error handler which would involve a  
client "freeze" if the user clicked "continue" on the native 4D error  
dlog:


15 (srvr) Postponed session expired.
16: (srvr) NULL end-point
1208: (dbmg) Cannot send data
16: (srvr) NULL end-point
1208: (dbmg) Cannot send data
1210: (dbmg) Cannot send request

These are in top-to-bottom order as they occurred. My take is that the  
client/server "session" which "expired," error #15, caused the other  
errors. Is a "session" the same as a "connection?" Am I dealing with a  
scheduler issue, params 11 and 12? Those use default settings.

Bill


> From: Josh Fletcher (4D, Inc. <jfletcher@...>
> Subject: Re: Client/server Connections Timeout
> Newsgroups: gmane.comp.lang.inug-4d.tech
> Date: 2007-02-20 17:49:06 GMT (2 years, 37 weeks, 7 hours and 20  
> minutes ago)
> Hi Rafael,
>
> There are actually two timeout settings, one for 4D Server, and one  
> for
> 4D Client.  If you open the Preferences on 4D Server you are setting  
> the
> Client timeout.  If you open the Preferences on 4D Client you are
> setting the Server timeout.  What does this mean?
>
> Client timeout: from the Server's perspective this means, "how long  
> to I
> wait for a particular client to reply before I close the connection?"
>
> Server timeout: from the Client's perspective this means, "how long  
> do I
> wait for the server to reply before I tell the user the server is gone
> and quit the client?"
>
> In both cases this is assuming that, for some reason, either the  
> client
> or server has become unresponsive.
>
> Both of these values can be set with the SET DATABASE PARAMETER  
> command,
> regardless of where the command is executed (i.e. you don't *have* to
> use the Preferences UI).
>
> I hope this helps.
>
> Kind regards,
>
> Josh Fletcher

On Nov 5, 2009, at 6:21 PM, Spencer Hinsdale wrote:

> On 11/3/09 4:02 PM, "Bill Weale" <bill.weale@...> wrote:
>
>>
>> Here is the code in Server startup:
>> SET DATABASE PARAMETER(4D Remote Mode Timeout ;60*3)  `Disconnect a
>> Client if it's been idle more than 3 hours. (The second parameter,
>>
>
> Hi, Bill,
>
> I'm pretty sure you have these backwards.
>
> For example, when I move the Slider in the Server Preferences to 5  
> and then
> call:
> alert(string(get database parameter(13)))
> It says 5.
>
> We had one difficult WAN Client and tried:
>> SET DATABASE PARAMETER(4D Remote Mode Timeout...
> in On Server Startup
> and it had no effect.  It worked in On Startup, though.
>
> Hth,
>
> Spencer
>

**********************************************************************
Get the speed and power of 4D v11 SQL
before upgrade prices increase - http://www.4d.com
   

4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4D.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4D_Tech-Unsubscribe@...
**********************************************************************