Platform SDK: ProtocolManagementService & ADDP

Hey Guys,

I’m using ADDP in my code:


tcfg.UseAddp = true;
tcfg.AddpClientTimeout = 10;
tcfg.AddpServerTimeout = 10;
tcfg.AddpTrace = "both";

But sometimes my client gets disconnected… An example:


08:42:39.796 Std 07041 Socket 420 is not responding within 10000 milliseconds, remote socket 0
08:42:39.796 Trc 04524 Client <client> disconnected on [420], id=000410dc
@08:42:39.8120 [ISCC] Location <client>:000410dc@/0 is removed
@08:42:39.8120 [ISCC] Location object <client>:000410dc@/0/0 is removed

Though the last message TServer sent me before this disconnect was:


08:42:39.265 Trc 04542 EventOnHook sent to [420] (000410dc <client> 10.112.128.61:2827)

This is around 500ms before I get disconnected…

My client does receive this message:


2009-06-23 08:42:11,835 TServMon   INFO : Received event EventOnHook.

Am I using ADDP incorrectly? What could be causing this?

Thanks

Hi skoom,

It seems time on client and server is not synchronized and that leads to some confusion during your analysis:

  • T-Server sent “EventOnHook” at 08:42:39:265
  • Your app received it at 08:42:11,835 what means it was received it before T-Server sent it :wink:

Based on that time on client side is shifted around 27 seconds back in comparison with server time. So you should check T-Server log at the time 08:43:07 for more details.

R.

Yeah the two servers aren’t in sync. (I just learn to live with it, other people control that haha)

Does that affect ADDP?

Does that affect ADDP?

No, it doesn’t but it’s confusing when doing log analysis

In your example

  • T-Server sent ADDP ping to the application at 08:42:29.xxx
  • T-Server sent “EventOnHook” at 08:42:39:265
  • T-Server didn’t receive response to last ADDP ping within configured timeout (10s) so disconnected the client
  • Your app received “EventOnHook” at 08:42:11,835

Have your application received T-Server ping around 08:42:01.xxx? If yes - did it send reply?

R.

1 Like

I’m not sure - I couldn’t find in the TServer logs where the server pings my client, and my code doesn’t have anything it it for handling logging ping requests and replies…

How would I get more info about the ADDP ping requests/replies (in my code and in TServer)

T-Server should show ADDP messages in its log when logging level is set to debug. About your code - what SDK (Application Blocks?) are you developing with?

R.

Are these ADDP messages in the logs?

-AP[1343]->-1052 @16:01:44.3900
-AP[817]-<-1052 @16:01:44.3900
-Ap[817]->-1052 @16:01:44.3900
-AP[818]-<-1052 @16:01:44.3900
-Ap[818]->-1052 @16:01:44.3900
-Ap[1343]-<-1052 @16:01:44.3900

-AP[1344]->-1052 @16:01:54.3900
-Ap[1344]-<-1052 @16:01:54.3900
16:01:54.390 Trc 04524 Client recboy disconnected on [1052], id=00003320
@16:01:54.3900 [ISCC] Location recboy:00003320@/0 is removed
@16:01:54.3900 [ISCC] Location object recboy:00003320@/0/0 is removed

This is what I got the last time my client disconnected.

For my code, yeah I’m using ProtocolManagementServices.

2 Likes