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 |
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 |