Re: PATCH: pgagent connection string parsing

From: Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: neel patel <neel(dot)patel(at)enterprisedb(dot)com>, Thomas Krennwallner <tk+pgsql(at)postsubmeta(dot)net>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: PATCH: pgagent connection string parsing
Date: 2018-05-16 14:01:03
Message-ID: CAG7mmoy1CWN8KiFO1AJ84-kMWY9tLsCWApbG7V=X7HUd5E_5oQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

[Adding pgadmin-hackers list...]

Hi Team,

Using the mutex around the logging code too to avoid overlapping log
message.
Please review it, and let me know your concern.

Implementation details:
- Moved 'MutexLogger' class, which was used by the connection management
code only, in the include/misc.h
- Use a static mutex for the non-windows system, and used 'MutexLogger'
instance for the better lock/unlock mechanism in the LogMessage(...)
function.

-- Thanks, Ashesh

On Wed, May 16, 2018 at 6:59 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:

>
>
> On Wed, May 16, 2018 at 2:27 PM, Ashesh Vashi <
> ashesh(dot)vashi(at)enterprisedb(dot)com> wrote:
>
>> On Tue, May 8, 2018 at 3:01 PM, Thomas Krennwallner <
>> tk+pgsql(at)postsubmeta(dot)net> wrote:
>>
>>> Hi,
>>>
>>> I've just found this suspicious log messages (I've added line numbers in
>>> the attachment pgagent.log):
>>>
>>> 8 Tue May 8 11:11:23 2018 DEBUG: Creating DB connection:
>>> service=xiserver56_tisdbadm cTue May o8nne ct_timeout11:=151: 23 201
>>> 8applica DEBtUion_nameG: S=pglaeegpeinngt(dot)(at)(dot)d(dot)e
>>> 9 v_tisdevel dbname=dev_tisdevel
>>>
>>> Note how line 8 and 9 are actually two log messages, which should
>>> have been printed in two lines:
>>>
>>> Tue May 8 11:11:23 2018 DEBUG: Creating DB connection:
>>> service=xiserver56_tisdbadm connect_timeout=5
>>> application_name=pgagent(at)dev_tisdevel dbname=dev_tisdevel
>>> Tue May 8 11:11:23 2018 DEBUG: Sleeping...
>>>
>>> It appears that two threads are writing to stdout at the same time,
>>> which calls for an exclusive lock in function
>>> void LogMessage(const std::wstring &msg, const int &level)
>>>
>> Dave,
>>
>> Shall we use a mutex here too?
>>
>>
> I would think so, yes.
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>

Attachment Content-Type Size
pgagent_logger_mutex.patch application/octet-stream 3.0 KB

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2018-05-16 15:15:47 pgAdmin 4 commit: Rough cleanup of the environment setup
Previous Message Anthony Emengo 2018-05-16 13:56:31 [pgadmin] Prefer CSS selectors to XPath selectors in feature tests