HI guys let us know if we have to do something from our side because we want to support business.
S. > On 20 Aug 2020, at 20:01, Sven Van Caekenberghe <s...@stfx.eu> wrote: > > > >> On 20 Aug 2020, at 19:51, Esteban Maringolo <emaring...@gmail.com >> <mailto:emaring...@gmail.com>> wrote: >> >> Hi, >> >> I'm replying to the list as well... because the last two mails got >> replied to our personal addresses. > > Oh, I did not notice that, that was not my intention. > >> On Thu, Aug 20, 2020 at 11:55 AM Sven Van Caekenberghe <s...@stfx.eu> wrote: >>>> On 20 Aug 2020, at 15:31, Esteban Maringolo <emaring...@gmail.com> wrote: >>>> >>>> Hi Sven, >>>> >>>> If a socketstream doesn't know the state of the connection, then what >>>> is the #socketIsConnected method for? In particular the >>>> #isOtherEndClosed test. >>>> >>>> ZdcAbstractSocketStream>>#socketIsConnected >>>> ^socket isConnected and: [ socket isOtherEndClosed not ] >>> >>> 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. > >>> With logging enabled, I can do the following: >>> >>> $ grep P3 server-2020-08-20.log | grep CONNECT | tail -n 20 >>> <snip> >>> 2020-08-20 14:43:06 [P3] 30513 DISCONNECTING >>> psql://client-xyz:hiddenpassword@client-xyz-db:5432/client-xyz >>> 2020-08-20 14:44:06 [P3] 30516 CONNECTED >>> psql://client-xyz:hiddenpassword@client-xyz-db:5432/client-xyz >>> 2020-08-20 14:44:06 [P3] 30516 DISCONNECTING >>> psql://client-xyz:hiddenpassword@client-xyz-db:5432/client-xyz >>> 2020-08-20 14:44:06 [P3] 30517 CONNECTED >>> psql://client-xyz:hiddenpassword@client-xyz-db:5432/client-xyz >>> 2020-08-20 14:44:06 [P3] 30517 DISCONNECTING >>> psql://client-xyz:hiddenpassword@client-xyz-db:5432/client-xyz >>> >>> The number after [P3] is the session identifier (backend process id) of >>> that connection. You should see each one being opened and closed in pairs. >> >> Yes, I noticed the pid, and compared it with what I had on the >> pg_stat_activity table. > > Right. > >> I don't get the CONNECTED log because there is no way to set the >> logging in the P3DatabaseDriver before it creates (and connects) the >> P3Client. >> Maybe there could be a setting on P3Client class to set verbosity >> globally? Or at the P3DatabaseDriver instead. > > What if you change > > P3DatabaseDriver >> connect: aLogin > connection := self connectionClass new. > connection > host: aLogin host; > port: aLogin port asInteger; > database: aLogin databaseName; > user: aLogin username; > password: aLogin password. > connection connect > > by inserting > > verbose: true > > before the last statement. > > You could also make a subclass of P3DatabaseDriver. > >> Summarizing... I'm pretty confident that P3 works correctly and also >> the PG server. >> 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. >> >> Again, thanks for the support. >> >> Regards. -------------------------------------------- Stéphane Ducasse http://stephane.ducasse.free.fr / http://www.pharo.org 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