Re: [pgadmin][patch] [GreenPlum] When user press Explain Plan and Explain analyze plan an error is displayed

From: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
To: Victoria Henry <vhenry(at)pivotal(dot)io>
Cc: Dave Page <dave(dot)page(at)enterprisedb(dot)com>, Joao Pedro De Almeida Pereira <jdealmeidapereira(at)pivotal(dot)io>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: [pgadmin][patch] [GreenPlum] When user press Explain Plan and Explain analyze plan an error is displayed
Date: 2018-03-21 07:27:32
Message-ID: CANxoLDdCM8=gKquZnT6BdH51-iQJNFtLmQEcnKuGVOZv8zaVOw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi Victoria,

In "is_new_transaction_required.js" file I have modified the code and
handled both "responseJSON" and "axios" responses, but in your patch you
have removed "responseJSON" part which is required because "i
*s_new_transaction_required*()" function is also called from sqleditor.js
with normal javascript response.

I have re-added that code and also found one issue where "from
pgadmin.utils.exception
import ConnectionLost" statement is missing from "web/pgadmin/utils
/driver/psycopg2/server_manager.py" file, so I added that too.

Attached is the modified patch.

On Wed, Mar 21, 2018 at 2:09 AM, Victoria Henry <vhenry(at)pivotal(dot)io> wrote:

> Hi Hackers,
>
> We fixed the tests and refactored some of the code. All tests pass now.
> Attached is the reviewed patch.
>
> Sincerely,
>
> Joao and Victoria
>
> On Tue, Mar 20, 2018 at 10:05 AM, Dave Page <dave(dot)page(at)enterprisedb(dot)com>
> wrote:
>
>> Hi
>>
>> This doesn't pass the Javascript tests for me. Please investigate ASAP:
>>
>> webpack: Compiled successfully.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 152 of 486 SUCCESS (0
>> secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 153 of 486 SUCCESS (0
>> secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 154 of 486 SUCCESS (0
>> secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 155 of 486 SUCCESS (0
>> secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 156 of 486 SUCCESS (0
>> secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 157 of 486 SUCCESS (0
>> secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 158 of 486 SUCCESS (0
>> secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is the query tool when an error occur when the connection to the server was
>> lost when JSON response is available when login is not required should
>> highlight the error in the SQL panel FAILED
>> Expected spy SqlEditor._highlight_error to have been called with [ 'Some
>> error in JSON' ] but it was never called.
>> at regression/javascript/sqleditor/execute_query_spec.js:11753:58
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 285 of 486 (1 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is the query tool when an error occur when the connection to the server was
>> lost when JSON response is available when login is not required should
>> highlight the error in the SQL panel FAILED
>> Expected spy SqlEditor._highlight_error to have been called with [ 'Some
>> error in JSON' ] but it was never called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is the query tool when an error occur when the connection to the server was
>> lost when JSON response is available when login is not required should add
>> new entry to history and update the Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'Some error in JSON' ] but it was never called.
>> at regression/javascript/sqleditor/execute_query_spec.js:11760:60
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 286 of 486 (2 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is the query tool when an error occur when the connection to the server was
>> lost when JSON response is available when login is not required should add
>> new entry to history and update the Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'Some error in JSON' ] but it was never called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is the query tool when an error occur when the connection to the server was
>> lost when JSON response is available when login is required should login is
>> displayed FAILED
>> Expected spy UserManagement.pga_login to have been called.
>> at regression/javascript/sqleditor/execute_query_spec.js:11840:56
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 296 of 486 (3 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is the query tool when an error occur when the connection to the server was
>> lost when JSON response is available when login is required should login is
>> displayed FAILED
>> Expected spy UserManagement.pga_login to have been called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is the query tool when an error occur when the connection to the server was
>> lost when no JSON response is available when login is not required should
>> highlight the error in the SQL panel FAILED
>> Expected spy SqlEditor._highlight_error to have been called with [ 'Some
>> plain text error' ] but it was never called.
>> at regression/javascript/sqleditor/execute_query_spec.js:11875:58
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 299 of 486 (4 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is the query tool when an error occur when the connection to the server was
>> lost when no JSON response is available when login is not required should
>> highlight the error in the SQL panel FAILED
>> Expected spy SqlEditor._highlight_error to have been called with [ 'Some
>> plain text error' ] but it was never called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is the query tool when an error occur when the connection to the server was
>> lost when no JSON response is available when login is not required should
>> add new entry to history and update the Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'Some plain text error' ] but it was never called.
>> at regression/javascript/sqleditor/execute_query_spec.js:11882:60
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 300 of 486 (5 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is the query tool when an error occur when the connection to the server was
>> lost when no JSON response is available when login is not required should
>> add new entry to history and update the Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'Some plain text error' ] but it was never called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is the query tool when an error occur when the connection to the server was
>> lost when no JSON response is available when login is required should login
>> is displayed FAILED
>> Expected spy UserManagement.pga_login to have been called.
>> at regression/javascript/sqleditor/execute_query_spec.js:11964:56
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 310 of 486 (6 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is the query tool when an error occur when the connection to the server was
>> lost when no JSON response is available when login is required should login
>> is displayed FAILED
>> Expected spy UserManagement.pga_login to have been called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is the query tool when an error occur when the connection to the server was
>> lost when cannot reach the Python Server should add new entry to history
>> and update the Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'Not connected to the server or the connection to the server has
>> been closed.' ] but it was never called.
>> at regression/javascript/sqleditor/execute_query_spec.js:12002:58
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 314 of 486 (7 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is the query tool when an error occur when the connection to the server was
>> lost when cannot reach the Python Server should add new entry to history
>> and update the Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'Not connected to the server or the connection to the server has
>> been closed.' ] but it was never called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is NOT the query tool when an error occur when the connection to the server
>> was lost when JSON response is available should highlight the error in the
>> SQL panel FAILED
>> Expected spy SqlEditor._highlight_error to have been called with [ 'Some
>> error in JSON' ] but it was never called.
>> at regression/javascript/sqleditor/execute_query_spec.js:12232:56
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 334 of 486 (8 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is NOT the query tool when an error occur when the connection to the server
>> was lost when JSON response is available should highlight the error in the
>> SQL panel FAILED
>> Expected spy SqlEditor._highlight_error to have been called with [ 'Some
>> error in JSON' ] but it was never called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is NOT the query tool when an error occur when the connection to the server
>> was lost when JSON response is available should add new entry to history
>> and update the Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'Some error in JSON' ] but it was never called.
>> at regression/javascript/sqleditor/execute_query_spec.js:12239:58
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 335 of 486 (9 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is NOT the query tool when an error occur when the connection to the server
>> was lost when JSON response is available should add new entry to history
>> and update the Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'Some error in JSON' ] but it was never called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is NOT the query tool when an error occur when the connection to the server
>> was lost when no JSON response is available should highlight the error in
>> the SQL panel FAILED
>> Expected spy SqlEditor._highlight_error to have been called with [ 'Some
>> plain text error' ] but it was never called.
>> at regression/javascript/sqleditor/execute_query_spec.js:12282:56
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 340 of 486 (10 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is NOT the query tool when an error occur when the connection to the server
>> was lost when no JSON response is available should highlight the error in
>> the SQL panel FAILED
>> Expected spy SqlEditor._highlight_error to have been called with [ 'Some
>> plain text error' ] but it was never called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is NOT the query tool when an error occur when the connection to the server
>> was lost when no JSON response is available should add new entry to history
>> and update the Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'Some plain text error' ] but it was never called.
>> at regression/javascript/sqleditor/execute_query_spec.js:12289:58
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 341 of 486 (11 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is NOT the query tool when an error occur when the connection to the server
>> was lost when no JSON response is available should add new entry to history
>> and update the Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'Some plain text error' ] but it was never called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is NOT the query tool when an error occur when the connection to the server
>> was lost when cannot reach the Python Server should add new entry to
>> history and update the Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'Not connected to the server or the connection to the server has
>> been closed.' ] but it was never called.
>> at regression/javascript/sqleditor/execute_query_spec.js:12340:58
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 347 of 486 (12 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when SQLEditor
>> is NOT the query tool when an error occur when the connection to the server
>> was lost when cannot reach the Python Server should add new entry to
>> history and update the Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'Not connected to the server or the connection to the server has
>> been closed.' ] but it was never called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when cannot reach the Python Server should add
>> new entry to history and update the Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'Not connected to the server or the connection to the server has
>> been closed.' ] but it was never called.
>> at regression/javascript/sqleditor/execute_query_spec.js:12645:54
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 376 of 486 (13 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when cannot reach the Python Server should add
>> new entry to history and update the Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'Not connected to the server or the connection to the server has
>> been closed.' ] but it was never called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when error is returned by the server when login
>> is not required should add new entry to history and update the Messages tab
>> FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'some error message' ] but it was never called.
>> at regression/javascript/sqleditor/execute_query_spec.js:12693:56
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 381 of 486 (14 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when error is returned by the server when login
>> is not required should add new entry to history and update the Messages tab
>> FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'some error message' ] but it was never called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when error is returned by the server when login
>> is required should add new entry to history and update the Messages tab
>> FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'some error message' ] but it was never called.
>> at regression/javascript/sqleditor/execute_query_spec.js:12751:56
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 388 of 486 (15 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when error is returned by the server when login
>> is required should add new entry to history and update the Messages tab
>> FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'some error message' ] but it was never called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when error is returned by the server when login
>> is required should save the state FAILED
>> Expected spy SqlEditor.save_state to have been called with [ 'execute', [
>> '' ] ] but it was never called.
>> at regression/javascript/sqleditor/execute_query_spec.js:12774:48
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 391 of 486 (16 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when error is returned by the server when login
>> is required should save the state FAILED
>> Expected spy SqlEditor.save_state to have been called with [ 'execute', [
>> '' ] ] but it was never called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when error is returned by the server when login
>> is required should display pga login FAILED
>> Expected spy UserManagement.pga_login to have been called.
>> at regression/javascript/sqleditor/execute_query_spec.js:12780:52
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 392 of 486 (17 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when error is returned by the server when login
>> is required should display pga login FAILED
>> Expected spy UserManagement.pga_login to have been called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when error is returned by the server when a new
>> transaction is not required should add new entry to history and update the
>> Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'some error message' ] but it was never called.
>> at regression/javascript/sqleditor/execute_query_spec.js:12809:56
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 395 of 486 (18 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when error is returned by the server when a new
>> transaction is not required should add new entry to history and update the
>> Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'some error message' ] but it was never called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when error is returned by the server when a new
>> transaction is required should add new entry to history and update the
>> Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'some error message' ] but it was never called.
>> at regression/javascript/sqleditor/execute_query_spec.js:12874:56
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 403 of 486 (19 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when error is returned by the server when a new
>> transaction is required should add new entry to history and update the
>> Messages tab FAILED
>> Expected spy SqlEditor.update_msg_history to have been called with [
>> false, 'some error message' ] but it was never called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when error is returned by the server when a new
>> transaction is required should save the state FAILED
>> Expected spy SqlEditor.save_state to have been called with [ 'execute', [
>> '' ] ] but it was never called.
>> at regression/javascript/sqleditor/execute_query_spec.js:12897:48
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 406 of 486 (20 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when error is returned by the server when a new
>> transaction is required should save the state FAILED
>> Expected spy SqlEditor.save_state to have been called with [ 'execute', [
>> '' ] ] but it was never called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when error is returned by the server when a new
>> transaction is required should initialize a new transaction FAILED
>> Expected spy SqlEditor.init_transaction to have been called.
>> at regression/javascript/sqleditor/execute_query_spec.js:12909:54
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 408 of 486 (21 FAILED)
>> (0 secs / 0 secs)
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the
>> SQL statement is not empty when error is returned by the server when a new
>> transaction is required should initialize a new transaction FAILED
>> Expected spy SqlEditor.init_transaction to have been called.
>> HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 486 of 486 (21 FAILED)
>> (7.05 secs / 0 secs)
>> error Command failed with exit code 1.
>> info Visit https://yarnpkg.com/en/docs/cli/run for documentation about
>> this command.
>> make: *** [check-js] Error 1
>>
>>
>> On Tue, Mar 20, 2018 at 1:12 PM, Akshay Joshi <
>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>
>>> Hi Hackers
>>>
>>> Attached is the patch file to fix the RM #2815.
>>>
>>> On Tue, Mar 20, 2018 at 3:24 PM, Dave Page <dave(dot)page(at)enterprisedb(dot)com>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Tue, Mar 20, 2018 at 9:48 AM, Akshay Joshi <
>>>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Tue, Mar 20, 2018 at 3:06 PM, Dave Page <dave(dot)page(at)enterprisedb(dot)com
>>>>> > wrote:
>>>>>
>>>>>> I'm a little concerned that noone mentioned this earlier; I'm
>>>>>> supposed to be building the release this afternoon, and I expect this
>>>>>> change to at the very least be complex to fully test and verify. What's the
>>>>>> ETA on the patch? What steps are being taken to ensure it's correct and
>>>>>> doesn't cause regressions?
>>>>>>
>>>>>
>>>>> Harshal has already mentioned in the RM. Currently I am changing
>>>>> the logic, but it may take time to complete, fully test and verify. I'll
>>>>> try my best to do it asap.
>>>>>
>>>>
>>>> Sure, but how many of us are watching every comment on every RM? I know
>>>> I'm not (I currently average ~400 emails/day).
>>>>
>>>>
>>>>>
>>>>>> On Tue, Mar 20, 2018 at 7:51 AM, Akshay Joshi <
>>>>>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>>>>>
>>>>>>> Hi Joao
>>>>>>>
>>>>>>> It seems that this fix broke the functionality of RM #2815. It is
>>>>>>> mentioned in the RM what needs to be fixed now and I am currently working
>>>>>>> on it.
>>>>>>> While fixing the issue following problem that I found
>>>>>>>
>>>>>>> - In "start_running_query.py" file, we need to remove check "if
>>>>>>> conn.connected()" from "__execute_query" function as we required
>>>>>>> exception to be thrown while executing the query to identify the
>>>>>>> ConnectionLost.
>>>>>>> - In "execute_query.js" we have used *axios* to execute the
>>>>>>> query and in case of exception, object is different then normal javascript
>>>>>>> response object.
>>>>>>> - We call following functions when exception or error comes and
>>>>>>> send the "*<object>.response.data*" as parameter
>>>>>>> - wasConnectionLostToServer(): Check for the readyState
>>>>>>> parameter, which is not the part of "<object>.response.data".
>>>>>>> - extractErrorMessage(): Check for the "responseJSON" and "
>>>>>>> responseJSON.info", which is not the part of
>>>>>>> "<object>.response.data".
>>>>>>> - is_pga_login_required(): Check for the "responseJSON" and "
>>>>>>> responseJSON.info", which is not the part of
>>>>>>> "<object>.response.data".
>>>>>>> - is_new_transaction_required(): Check for the "responseJSON"
>>>>>>> and "responseJSON.info", which is not the part of
>>>>>>> "<object>.response.data".
>>>>>>>
>>>>>>> From the above list, some of the function calls are generic where
>>>>>>> they need "responseJSON" and "responseJSON.info", so we can't
>>>>>>> change that. Possible solution could be pass one extra flag as parameter to
>>>>>>> identify the object is a axios response or javascript response to
>>>>>>> above functions and change the logic accordingly.
>>>>>>>
>>>>>>> Please let me know your thoughts or any other suggestion.
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Feb 9, 2018 at 8:17 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
>>>>>>>
>>>>>>>> Thanks, applied.
>>>>>>>>
>>>>>>>> On Fri, Feb 9, 2018 at 2:35 PM, Joao De Almeida Pereira <
>>>>>>>> jdealmeidapereira(at)pivotal(dot)io> wrote:
>>>>>>>>
>>>>>>>>> Hello,
>>>>>>>>> Attached you can find the fix for the current pronlem
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Fri, Feb 9, 2018 at 7:29 AM Dave Page <dpage(at)pgadmin(dot)org>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Joao,
>>>>>>>>>>
>>>>>>>>>> It looks like Jenkins has taken umbrage to this change, at least
>>>>>>>>>> with Python 3.x. Can you take a look please?
>>>>>>>>>>
>>>>>>>>>> https://jenkins.pgadmin.org/
>>>>>>>>>>
>>>>>>>>>> Thanks.
>>>>>>>>>>
>>>>>>>>>> On Fri, Feb 9, 2018 at 11:54 AM, Dave Page <dpage(at)pgadmin(dot)org>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Thanks, patches applied.
>>>>>>>>>>>
>>>>>>>>>>> On Fri, Feb 2, 2018 at 10:50 PM, Joao De Almeida Pereira <
>>>>>>>>>>> jdealmeidapereira(at)pivotal(dot)io> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi Hackers,
>>>>>>>>>>>> This is quite a big patch in order to solve the problem with
>>>>>>>>>>>> the Explain Plan.
>>>>>>>>>>>>
>>>>>>>>>>>> We sent 2 patches that have the following:
>>>>>>>>>>>> *- update-javascript-packages.diff *
>>>>>>>>>>>> Add package:
>>>>>>>>>>>> is-docker to select a specific setting when running the
>>>>>>>>>>>> Chrome tests in
>>>>>>>>>>>> Docker
>>>>>>>>>>>>
>>>>>>>>>>>> Upgrade the version of:
>>>>>>>>>>>> - babel-loader
>>>>>>>>>>>> - extract-text-webpack-plugin
>>>>>>>>>>>> - jasmine-core
>>>>>>>>>>>> - jasmine-enzyme
>>>>>>>>>>>> - moment
>>>>>>>>>>>> *- explain-plan-greenplum.diff*
>>>>>>>>>>>> Extract SQLEditor.execute and SQLEditor._poll into their own
>>>>>>>>>>>> files and add test around them
>>>>>>>>>>>> Extract SQLEditor backend functions that start executing
>>>>>>>>>>>> query to their own files and add tests around it
>>>>>>>>>>>> Move the Explain SQL from the front-end and now pass the
>>>>>>>>>>>> Explain plan parameters as a JSON object in the start query call.
>>>>>>>>>>>> Extract the compile_template_name into a function that can be
>>>>>>>>>>>> used by the different places that try to select the version of the template
>>>>>>>>>>>> and the server type
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> Joao
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Dave Page
>>>>>>>>>>> Blog: http://pgsnake.blogspot.com
>>>>>>>>>>> Twitter: @pgsnake
>>>>>>>>>>>
>>>>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com
>>>>>>>>>>> The Enterprise PostgreSQL Company
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Dave Page
>>>>>>>>>> Blog: http://pgsnake.blogspot.com
>>>>>>>>>> Twitter: @pgsnake
>>>>>>>>>>
>>>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com
>>>>>>>>>> The Enterprise PostgreSQL Company
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Dave Page
>>>>>>>> Blog: http://pgsnake.blogspot.com
>>>>>>>> Twitter: @pgsnake
>>>>>>>>
>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com
>>>>>>>> The Enterprise PostgreSQL Company
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> *Akshay Joshi*
>>>>>>>
>>>>>>> *Sr. Software Architect *
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> *Phone: +91 20-3058-9517 <+91%2020%203058%209517>Mobile: +91
>>>>>>> 976-788-8246 <+91%2097678%2088246>*
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Dave Page
>>>>>> VP, Chief Architect, Tools & Installers
>>>>>> EnterpriseDB: http://www.enterprisedb.com
>>>>>> The Enterprise PostgreSQL Company
>>>>>>
>>>>>> Blog: http://pgsnake.blogspot.com
>>>>>> Twitter: @pgsnake
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Akshay Joshi*
>>>>>
>>>>> *Sr. Software Architect *
>>>>>
>>>>>
>>>>>
>>>>> *Phone: +91 20-3058-9517 <+91%2020%203058%209517>Mobile: +91
>>>>> 976-788-8246 <+91%2097678%2088246>*
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Dave Page
>>>> VP, Chief Architect, Tools & Installers
>>>> EnterpriseDB: http://www.enterprisedb.com
>>>> The Enterprise PostgreSQL Company
>>>>
>>>> Blog: http://pgsnake.blogspot.com
>>>> Twitter: @pgsnake
>>>>
>>>
>>>
>>>
>>> --
>>> *Akshay Joshi*
>>>
>>> *Sr. Software Architect *
>>>
>>>
>>>
>>> *Phone: +91 20-3058-9517 <+91%2020%203058%209517>Mobile: +91
>>> 976-788-8246 <+91%2097678%2088246>*
>>>
>>
>>
>>
>> --
>> Dave Page
>> VP, Chief Architect, Tools & Installers
>> EnterpriseDB: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>
>

--
*Akshay Joshi*

*Sr. Software Architect *

*Phone: +91 20-3058-9517Mobile: +91 976-788-8246*

Attachment Content-Type Size
RM_2815_v2.patch application/octet-stream 28.9 KB

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2018-03-21 08:38:23 pgAdmin 4 commit: Fix a number of broken connection detection scenarios
Previous Message Murtuza Zabuawala 2018-03-21 06:01:15 Checklist before sending patch to pgAdmin4-hackers