+1 and I like when this is not Pharo the problem :)

S.

On 21 Aug 2020, at 08:24, Sven Van Caekenberghe <sven@stfx.eu> wrote:

Hi Esteban,

That is good to hear !

Sven

On 20 Aug 2020, at 23:36, Esteban Maringolo <emaringolo@gmail.com> wrote:

Hi all,

On Thu, Aug 20, 2020 at 3:02 PM Sven Van Caekenberghe <sven@stfx.eu> wrote:

I don't know what is going on inside Socket, I just stated my opinion.
Maybe there is something to investigate here?

Is it not so that in Docker all network connections in/out/between instances are mediated by some management software ?
I even thought it was nginx. Maybe I am totally wrong here.

No, it is not that, but inside a Swarm all containers run in a
"overlay network" (basically a VPN) that is independent of the host
network, this way you can distribute containers among different hosts.

All the packages are routed by Docker itself, and apparently there is
an issue there, that if a connection is idle for a certain time, it
silently stops routing packages, leaving both sides of the connection
unaware of it.
https://github.com/moby/moby/issues/31208

What if you change

P3DatabaseDriver >> connect: aLogin

by inserting

       verbose: true

before the last statement.

You could also make a subclass of P3DatabaseDriver.

I could, but that would only log one extra CONNECT entry, not of much use.


At this point I'm factoring out what might be causing this. It's an
issue that only happens to me in production, and I don't have a better
instrumentation in place to debug it.

I think I found the culprit, now I need to know how to bypass or setup
the network to avoid these situations.

Luckily this will be solved soon. :-)

Regards.




--------------------------------------------
St��phane Ducasse
03 59 35 87 52
Assistant: Aurore Dalle 
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley, 
Parc Scientifique de la Haute Borne, B��t.A, Park Plaza
Villeneuve d'Ascq 59650
France