Re: Re: [pgAdmin4][Patch]: Fixes #1986 - Properly handle non-ascii characters while loading & saving file

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Surinder Kumar <surinder(dot)kumar(at)enterprisedb(dot)com>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: Re: [pgAdmin4][Patch]: Fixes #1986 - Properly handle non-ascii characters while loading & saving file
Date: 2016-12-02 07:40:55
Message-ID: CA+OCxozAw6c_no15byf_RK=4aZOdN7fFaY5F+gim+3VNQ5UfsQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi

On Mon, Nov 28, 2016 at 3:46 PM, Surinder Kumar
<surinder(dot)kumar(at)enterprisedb(dot)com> wrote:
> Hi Dave,
>
> The issues for RM#1986 & RM#1940 has been fixed and combined into a single
> patch as they are related.
>
> This patch is tested on Mac OSX, Ubuntu and Windows (py27 and py35).
> Everything is working fine.
> If there is still any issue. Please let me know.
>
> Please find updated patch and review.

Thanks. It's looking good for me too on py27/macOS (all I have here), except....

>> 1) Sometimes when opening the file manager to open a file, I get the
>> following exception. It appears (but I'm not certain) to be when I've
>> already opened a file with non-ASCII chars in the name and I've been
>> prompted to discard the changes.
>>
>> 2016-11-25 09:42:20,087: INFO werkzeug: 127.0.0.1 - - [25/Nov/2016
>> 09:42:20] "GET /file_manager/ HTTP/1.1" 500 -
>> Traceback (most recent call last):
>> File
>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
>> line 2000, in __call__
>> return self.wsgi_app(environ, start_response)
>> File
>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
>> line 1991, in wsgi_app
>> response = self.make_response(self.handle_exception(e))
>> File
>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
>> line 1567, in handle_exception
>> reraise(exc_type, exc_value, tb)
>> File
>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
>> line 1988, in wsgi_app
>> response = self.full_dispatch_request()
>> File
>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
>> line 1643, in full_dispatch_request
>> response = self.process_response(response)
>> File
>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
>> line 1864, in process_response
>> self.save_session(ctx.session, response)
>> File
>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
>> line 926, in save_session
>> return self.session_interface.save_session(self, session, response)
>> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/session.py", line
>> 267, in save_session
>> self.manager.put(session)
>> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/session.py", line
>> 144, in put
>> self.parent.put(session)
>> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/session.py", line
>> 220, in put
>> f
>> RuntimeError: dictionary changed size during iteration
>
> I tried to reproduce with given steps. but unfortunately I couldn't
> reproduce. If possible please provide more information.

For this; which still seems to occur periodically, but I cannot
reliably reproduce it yet. Whilst it seems unrelated to encoding, it
does seem to cause operations to fail; e.g. a file open operation
won't complete.

Can you please spend some more time to try to reproduce it please? I
wonder if it's happening if a dashboard graph update occurs during the
file operation, and that causes a new connection to be made or
something.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Akshay Joshi 2016-12-02 10:43:57 [pgAdmin4][Patch]: RM #1994 Insert / update are truncating if column is character
Previous Message Akshay Joshi 2016-12-02 07:19:52 [pgAdmin4][Patch]: RM #1992 Autocomplete doesn't quote identifiers