Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1eyeI2-0003w3-LB for pgadmin-hackers@arkaria.postgresql.org; Wed, 21 Mar 2018 14:00:31 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1eyeI1-00050w-Eh for pgadmin-hackers@arkaria.postgresql.org; Wed, 21 Mar 2018 14:00:29 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1eyeI0-00050l-W8 for pgadmin-hackers@lists.postgresql.org; Wed, 21 Mar 2018 14:00:29 +0000 Received: from mail-io0-x241.google.com ([2607:f8b0:4001:c06::241]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1eyeHo-0006an-SD for pgadmin-hackers@postgresql.org; Wed, 21 Mar 2018 14:00:27 +0000 Received: by mail-io0-x241.google.com with SMTP id e7so6759883iof.2 for ; Wed, 21 Mar 2018 07:00:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pivotal-io.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=/ISuyzTWd4gjs+aX8neoxw5bMUawutH8Y/D3n1etJAc=; b=s9Xh3TtLtrs9G672zCVCZ8dDFevYEW7fkgNDpa5OUxRFHqAErqyt7UkEGE2suj/2wq ed6j682Aj43AcKaSUlkaHCiKWdJxoCrQCEKumHvIo5qi0DP8GShhdKE4Jts/+wGlaTbx IUbC2gwvp3QFj2z1uwUaQkdM+GsxilKSXQ2ZWJDNcsmeKbFsKs8LyrrJUDJjmm/SMJKz 5+5W3TfncnBXpSXA9W7627opy8b+5vdkiKp9gCXDPOaebUu4LQ6kytzBsol2gSjeMNTi QOpcqFfOwcGIUiS5TP0FqOSXfpxVCm8Ym6CSKS0AK4B2jcYe/pn2yfgb906qC43x2Nl7 e0hw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=/ISuyzTWd4gjs+aX8neoxw5bMUawutH8Y/D3n1etJAc=; b=j3GaF8T721SF52ohzqOKsMHhH2jd2GjiLlyby9tUF7t/P5vq0eClzJxRatE3Z+D3fP y2QZi25jVFlgXLe9ygCBIT9onANllhMatC6Wgw0pjj6Y1A4PXG66wlQkC91bvycYzALt Hqw3n4HSfUZz31/gd/Ca4Obbjgc9IalUCQ3hm2HqsI1LuKVaT1h4VCKOc1fn1cW9AtDl +M7//mhf2Madw6ugXWRvdp/CyQqncwYDCF15zyssIXv+/MH8tmstV7Xwb4yVyGwXhkGp fu8/YYmrm4TYPE3wbntpByXjbkQg7MJra2wDQgGaJnzLxXNJYAQ3/WFyxQVNfl2ApRPW nNfg== X-Gm-Message-State: AElRT7E7WY2lVfVH3e4nHVGObHaEspE56slA3tLafb22yh49Yj1IQSs5 9t7nwQ+oo0FNbzCSlKXSh7Jt8Cjw4MsaTCj1PHiQoA== X-Google-Smtp-Source: AG47ELv+b87Z3+xp0uztTZirs1lFkaAYUGvWmoItdZTLdYEAEDViZ5w1E3YTQN9tQEWQduBVU8c1ka1cyCQvjCTPLK4= X-Received: by 10.107.34.80 with SMTP id i77mr6220199ioi.185.1521640813994; Wed, 21 Mar 2018 07:00:13 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Joao De Almeida Pereira Date: Wed, 21 Mar 2018 14:00:03 +0000 Message-ID: Subject: Re: [pgadmin][patch] [GreenPlum] When user press Explain Plan and Explain analyze plan an error is displayed To: Dave Page Cc: Akshay Joshi , Victoria Henry , pgadmin-hackers Content-Type: multipart/alternative; boundary="001a1140777631c2fa0567ec9c42" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --001a1140777631c2fa0567ec9c42 Content-Type: text/plain; charset="UTF-8" Hello Akshay, Thanks for double checking the patch, clearly the things that we missing are asking for some tests to ensure that mistakes like this do not happen again. Specially in scenarios where the we have strange behaviors, like loosing connection to the python server and so on. Thanks Joao On Wed, Mar 21, 2018 at 4:39 AM Dave Page wrote: > Thanks, applied. All tests pass on my machine, now waiting for Jenkins to > run. Assuming all is good, I'll build the release packages. > > > > On Wed, Mar 21, 2018 at 7:27 AM, Akshay Joshi < > akshay.joshi@enterprisedb.com> wrote: > >> 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 >> 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 >>> 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.joshi@enterprisedb.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 >>>> > wrote: >>>>> >>>>>> >>>>>> >>>>>> On Tue, Mar 20, 2018 at 9:48 AM, Akshay Joshi < >>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Tue, Mar 20, 2018 at 3:06 PM, Dave Page >>>>>> .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.joshi@enterprisedb.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 "*.response.data*" as parameter >>>>>>>>> - wasConnectionLostToServer(): Check for the readyState >>>>>>>>> parameter, which is not the part of ".response.data". >>>>>>>>> - extractErrorMessage(): Check for the "responseJSON" and " >>>>>>>>> responseJSON.info", which is not the part of >>>>>>>>> ".response.data". >>>>>>>>> - is_pga_login_required(): Check for the "responseJSON" and >>>>>>>>> "responseJSON.info", which is not the part of >>>>>>>>> ".response.data". >>>>>>>>> - is_new_transaction_required(): Check for the "responseJSON" >>>>>>>>> and "responseJSON.info", which is not the part of >>>>>>>>> ".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 >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Thanks, applied. >>>>>>>>>> >>>>>>>>>> On Fri, Feb 9, 2018 at 2:35 PM, Joao De Almeida Pereira < >>>>>>>>>> jdealmeidapereira@pivotal.io> wrote: >>>>>>>>>> >>>>>>>>>>> Hello, >>>>>>>>>>> Attached you can find the fix for the current pronlem >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Fri, Feb 9, 2018 at 7:29 AM Dave Page >>>>>>>>>>> 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 >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Thanks, patches applied. >>>>>>>>>>>>> >>>>>>>>>>>>> On Fri, Feb 2, 2018 at 10:50 PM, Joao De Almeida Pereira < >>>>>>>>>>>>> jdealmeidapereira@pivotal.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-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 > --001a1140777631c2fa0567ec9c42 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello Akshay,

Thanks for double checking the = patch, clearly the things that we missing are asking for some tests to ensu= re that mistakes like this do not happen again. Specially in scenarios wher= e the we have strange behaviors, like loosing connection to the python serv= er and so on.

Thanks
Joao

On Wed, Mar 21, 2018 at = 4:39 AM Dave Page <dave.pa= ge@enterprisedb.com> wrote:
=
Thanks, applied. All tests pass on my machine, now waiting= for Jenkins to run. Assuming all is good, I'll build the release packa= ges.



On Wed, Mar 21, 2018 at 7:27 AM, Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Victoria,

In "is_new_transaction_required.js" file I have modified the code a= nd handled both "responseJSON" and "axios" responses, but in yo= ur patch you have removed "responseJSON" part which is required becau= se "is_new_transaction_required()" function is also called= from sqled= itor.js with normal javascript response.

I have re-added th= at code and also found one issue where "from pgadmin.utils.exception import ConnectionLos= t" statement is missing from "web/pgadmin/utils/driver/psycopg2/se= rver_manager.py" file, so I added that too.

Attached is the m= odified patch.=C2=A0 =C2=A0
On Wed, Mar 21, 2018 at 2:09 AM, Victoria Henry= <vhenry@pivotal.io> wrote:
Hi Hackers,

We fixed the tests and re= factored some of the code.=C2=A0 All tests pass now.=C2=A0 Attached is the = reviewed patch.

Sincerely,

Joao and Victoria

On Tue, Ma= r 20, 2018 at 10:05 AM, Dave Page <dave.page@enterprisedb.com= > wrote:
Hi
This doesn't pass the Javascript tests for me. Please = investigate ASAP:

webpack: Compiled successfu= lly.
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): Execut= ed 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)
Hea= dlessChrome 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 #po= ll 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 r= equired should highlight the error in the SQL panel FAILED
Expected spy SqlEditor._highlight_er= ror to have been called with [ 'Some error in JSON' ] but it was ne= ver called.
=C2=A0 = =C2=A0 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 FAI= LED) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) Ex= ecuteQuery #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 wh= en the connection to the server was lost when JSON response is available wh= en login is not required should add new entry to history and update the Mes= sages tab FAILED
Exp= ected spy SqlEditor.update_msg_history to have been called with [ false, &#= 39;Some error in JSON' ] but it was never called.
=C2=A0 =C2=A0 at regression/javascript/sq= leditor/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)
H= eadlessChrome 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 l= ost when JSON response is available when login is not required should add n= ew entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_histor= y to have been called with [ false, 'Some error in JSON' ] but it w= as never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQ= uery #poll when SQLEditor is the query tool when an error occur when the co= nnection 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.
=C2=A0 =C2= =A0 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) Execu= teQuery #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 log= in is required should login is displayed FAILED
Expected spy UserManagement.pga_login to have b= een 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 connect= ion 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._highli= ght_error to have been called with [ 'Some plain text error' ] but = it was never called.
=C2=A0 =C2=A0 at regression/javascript/sqleditor/execute_query_spec.js:118= 75:58
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 299 of 48= 6 (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 occ= ur when the connection to the server was lost when no JSON response is avai= lable when login is not required should highlight the error in the SQL pane= l FAILED
Expected sp= y SqlEditor._highlight_error to have been called with [ 'Some plain tex= t 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 respons= e is available when login is not required should add new entry to history a= nd 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.
=C2=A0 =C2=A0 at regr= ession/javascript/sqleditor/execute_query_spec.js:11882:60
Headle= ssChrome 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 #po= ll 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 no= t required should add new entry to history and update the Messages tab FAIL= ED
Expected spy SqlE= ditor.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 resp= onse is available when login is required should login is displayed FAILED
Expected spy UserMana= gement.pga_login to have been called.
=C2=A0 =C2=A0 at regression/javascript/sqleditor/execute_= query_spec.js:11964:56
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): E= xecuted 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 FAI= LED
Expected spy Use= rManagement.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.&#= 39; ] but it was never called.
=C2=A0 =C2=A0 at regression/javascript/sqleditor/execute_query_s= pec.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 (Ma= c 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 t= he Python Server should add new entry to history and update the Messages ta= b FAILED
Expected sp= y SqlEditor.update_msg_history to have been called with [ false, 'Not c= onnected 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 o= ccur when the connection to the server was lost when JSON response is avail= able 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.
=C2=A0 =C2= =A0 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) Execu= teQuery #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 shou= ld 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.<= /div>
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll when S= QLEditor is NOT the query tool when an error occur when the connection to t= he 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 be= en called with [ false, 'Some error in JSON' ] but it was never cal= led.
=C2=A0 =C2=A0 a= t 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) ExecuteQue= ry #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 ad= d new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_his= tory to have been called with [ false, 'Some error in JSON' ] but i= t was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) Execu= teQuery #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 s= hould highlight the error in the SQL panel FAILED
Expected spy SqlEditor._highlight_error to ha= ve been called with [ 'Some plain text error' ] but it was never ca= lled.
=C2=A0 =C2=A0 = 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) ExecuteQ= uery #poll when SQLEditor is NOT the query tool when an error occur when th= e connection to the server was lost when no JSON response is available shou= ld 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 calle= d.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #poll whe= n SQLEditor is NOT the query tool when an error occur when the connection t= o the server was lost when no JSON response is available should add new ent= ry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_history to h= ave been called with [ false, 'Some plain text error' ] but it was = never called.
=C2=A0= =C2=A0 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 F= AILED) (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 availa= ble should add new entry to history and update the Messages tab FAILED
Expected spy SqlEditor.u= pdate_msg_history to have been called with [ false, 'Some plain text er= ror' ] 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 th= e 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 co= nnected to the server or the connection to the server has been closed.'= ] but it was never called.
= =C2=A0 =C2=A0 at regression/javascript/sqleditor/execute_query_spec= .js:12340:58
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Executed 34= 7 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.&#= 39; ] 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 Mes= sages tab FAILED
Exp= ected spy SqlEditor.update_msg_history to have been called with [ false, &#= 39;Not connected to the server or the connection to the server has been clo= sed.' ] but it was never called.
=C2=A0 =C2=A0 at regression/javascript/sqleditor/execute_q= uery_spec.js:12645:54
HeadlessChrome 0.0.0 (Mac OS X 10.12.6): Ex= ecuted 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 a= nd 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 se= rver has been closed.' ] but it was never called.
HeadlessChr= ome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statement i= s 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.upda= te_msg_history to have been called with [ false, 'some error message= 9; ] but it was never called.
=C2=A0 =C2=A0 at regression/javascript/sqleditor/execute_query_sp= ec.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 (Ma= c OS X 10.12.6) ExecuteQuery #execute when the SQL statement is not empty w= hen error is returned by the server when login is not required should add n= ew entry to history and update the Messages tab FAILED
Expected spy SqlEditor.update_msg_histor= y to have been called with [ false, 'some error message' ] but it w= as never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQ= uery #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 upda= te the Messages tab FAILED
= Expected spy SqlEditor.update_msg_history to have been called with [= false, 'some error message' ] but it was never called.
<= span style=3D"white-space:pre-wrap"> =C2=A0 =C2=A0 at regression/jav= ascript/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)<= /div>
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute whe= n 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 t= ab FAILED
Expected s= py 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 e= mpty when error is returned by the server when login is required should sav= e the state FAILED
E= xpected spy SqlEditor.save_state to have been called with [ 'execute= 9;, [ '' ] ] but it was never called.
=C2=A0 =C2=A0 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)
Headless= Chrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL statemen= t 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.
HeadlessC= hrome 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 s= hould display pga login FAILED
Expected spy UserManagement.pga_login to have been called.
=
=C2=A0 =C2=A0 at regressi= on/javascript/sqleditor/execute_query_spec.js:12780:52
HeadlessCh= rome 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 #execu= te 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 t= o have been called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) Execu= teQuery #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.
=C2=A0 =C2= =A0 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 FAILE= D) (0 secs / 0 secs)
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) Exec= uteQuery #execute when the SQL statement is not empty when error is returne= d 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 hav= e been called with [ false, 'some error message' ] but it was never= called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #ex= ecute when the SQL statement is not empty when error is returned by the ser= ver 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 wi= th [ false, 'some error message' ] but it was never called.
=C2=A0 =C2=A0 at regression= /javascript/sqleditor/execute_query_spec.js:12874:56
HeadlessChro= me 0.0.0 (Mac OS X 10.12.6): Executed 403 of 486 (19 FAILED) (0 secs / 0 se= cs)
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 w= hen a new transaction is required should add new entry to history and updat= e the Messages tab FAILED
<= /span>Expected spy SqlEditor.update_msg_history to have been called with [ = false, 'some error message' ] but it was never called.
He= adlessChrome 0.0.0 (Mac OS X 10.12.6) ExecuteQuery #execute when the SQL st= atement is not empty when error is returned by the server when a new transa= ction is required should save the state FAILED
Expected spy SqlEditor.save_state to have been c= alled with [ 'execute', [ '' ] ] but it was never called.
=C2=A0 =C2=A0 at regr= ession/javascript/sqleditor/execute_query_spec.js:12897:48
Headle= ssChrome 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 #e= xecute when the SQL statement is not empty when error is returned by the se= rver when a new transaction is required should save the state FAILED
<= div> Expected spy SqlEditor.sav= e_state to have been called with [ 'execute', [ '' ] ] but = it was never called.
HeadlessChrome 0.0.0 (Mac OS X 10.12.6) Exec= uteQuery #execute when the SQL statement is not empty when error is returne= d by the server when a new transaction is required should initialize a new = transaction FAILED
E= xpected spy SqlEditor.init_transaction to have been called.
=C2=A0 =C2=A0 at regression/javascr= ipt/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 th= e SQL statement is not empty when error is returned by the server when a ne= w transaction is required should initialize a new transaction FAILED
<= div> Expected spy SqlEditor.ini= t_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)
e= rror Command failed with exit code 1.
info Visit https://yarnpkg.com/en/do= cs/cli/run for documentation about this command.
make: *** [c= heck-js] Error 1


On Tue, Mar 20, 2018 at= 1:12 PM, Akshay Joshi <akshay.joshi@enterprisedb.com><= /span> 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.page@enterprisedb.com> wrote= :


On Tue, Mar 20, 2018 at 9:48 = AM, Akshay Joshi <akshay.joshi@enterprisedb.com>= wrote:


On Tue, Mar 20, 2018 = at 3:06 PM, Dave Page <dave.page@enterprisedb.com> wrote:
I'm a little concerned that noone me= ntioned this earlier; I'm supposed to be building the release this afte= rnoon, and I expect this change to at the very least be complex to fully te= st and verify. What's the ETA on the patch? What steps are being taken = to ensure it's correct and doesn't cause regressions?

=C2=A0 =C2=A0 Harshal has already mentioned in the RM. Currently I am changing the logic, bu= t it may take time to complete, fully test and verify. I'll try my best= to do it asap.

<= div>Sure, but how many of us are watching every comment on every RM? I know= I'm not (I currently average ~400 emails/day).
=C2=A0

On Tue, Mar 20, 2018 at 7:51 AM,= Akshay Joshi <akshay.joshi@enterprisedb.com> wr= ote:
Hi Joao

It seems that this fix broke the functionality of RM #2815. It is mention= ed 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 ne= ed to remove check "if conn.connected()" from "__execute_query&quo= t; function as we required exception to be thrown while executing the query= to identify the ConnectionLost.=C2=A0=C2=A0
  • In "execute_quer= y.js&q= uot; we have used axios to execute the query and in case of exception, obj= ect is different then normal javascript response object.=C2=A0
  • We c= all following functions when exception or error comes and send the "<object>.response.data" as parameter=C2=A0
    • wasConnectionLost= ToServer(): Check for the readyState parameter, which is not the part of &= quot;<object>.response.data".=C2=A0
    • extractErrorMessage(): Che= ck for the "responseJSON" and "responseJSON.= info",=C2=A0which is not the part of &= quot;<object>.response.data".
    • is_pga_login_required(): Chec= k for the=C2=A0"responseJSON" and "responseJSON.info",=C2=A0which is not the part of "<object>.response.data"= .
    • is_new_transaction_required():=C2=A0Check for the=C2=A0"r= esponseJSON" and "responseJSON.info",=C2=A0<= span style=3D"color:rgb(34,34,34);font-family:arial,sans-serif;font-size:sm= all;font-style:normal;font-variant-ligatures:normal;font-variant-caps:norma= l;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;tex= t-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:= initial;text-decoration-color:initial;background-color:rgb(255,255,255);flo= at:none;display:inline">which is not the part of "<object>.respo= nse.data".
    From the above list, some of the funct= ion calls are generic where they need "responseJSON" and "responseJSON= .info", so we can't change that. Possible solution could be pass o= ne extra flag as parameter to identify the object is a axios response or javascr= ipt response to above functions and change the logic accordingly.

    Please let me know your thoughts or any other suggestion.= =C2=A0
    =C2=A0 =C2=A0 =C2=A0=C2=A0

    On Fri, Feb 9, 2018 at 8:17 PM, Dave Page <dpage@pgadmin.org>= ; wrote:
    Thanks, = applied.

    On Fri, Feb 9, 2018 at 2:35= PM, Joao De Almeida Pereira <jdealmeidapereira@pivotal.io&= gt; wrote:
    Hello,=
    Attached you can find the fix for the current pronlem
    =


    On Fri, Feb = 9, 2018 at 7:29 AM Dave Page <dpage@pgadmin.org> wrote:
    Hi Joao,

    It looks like Jenki= ns has taken umbrage to this change, at least with Python 3.x. Can you take= a look please?

    Thanks.

    On Fri, Feb 9, 2018 at 11:54 AM, Dave Page = <dpage@pgadmin.or= g> wrote:
    = Thanks, patches applied.

    On Fri, = Feb 2, 2018 at 10:50 PM, Joao De Almeida Pereira <jdealmeidaper= eira@pivotal.io> wrote:
    Hi Hackers,
    This is quite a big patch in order to solve t= he problem with the Explain Plan.

    We sent 2 patche= s that have the following:
    -=C2=A0update-javascript-packages.d= iff=C2=A0
    =C2=A0 =C2=A0 Add package:
    =C2= =A0 =C2=A0 =C2=A0is-docker to select a specific setting when running the Ch= rome tests in
    =C2=A0 =C2=A0 =C2=A0Docker

    =C2=A0 =C2=A0 Upgrade the version of:
    =C2=A0 =C2=A0 - babel-load= er
    =C2=A0 =C2=A0 - extract-text-webpack-plugin
    =C2=A0 = =C2=A0 - jasmine-core
    =C2=A0 =C2=A0 - jasmine-enzyme
    = =C2=A0 =C2=A0 - moment
    -=C2=A0explain-plan-greenplum.dif= f
    =C2=A0 Extract SQLEditor.execute and SQLEditor._poll into t= heir own files and add test around them
    =C2=A0 Extract SQLEditor = backend functions that start executing query to their own files and add tes= ts around it
    =C2=A0 Move the Explain SQL from the front-end and n= ow pass the Explain plan parameters as a JSON object in the start query cal= l.
    =C2=A0 Extract the compile_template_name into a function that = can be used by the different places that try to select the version of the t= emplate and the server type


    Thanks<= /div>
    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

    E= nterpriseDB UK: h= ttp://www.enterprisedb.com
    The Enterprise PostgreSQL Company



    --



    <= /div>--=
    Akshay Joshi
    Sr. Software Architect


    <= b>Phone: +91 20-3058-9517
    Mobile: <= a href=3D"tel:+91%2097678%2088246" value=3D"+919767888246" target=3D"_blank= ">+91 976-788-8246



    --
    Dave Page
    VP, Chief Architect= , Tools & Installers
    EnterpriseDB: http://www.enterprisedb.com
    The Enterprise = PostgreSQL Company

    Blog: http://pgsnake.blogspot.com
    Twitt= er: @pgsnake



    --
    Akshay Joshi
    Sr. Software Architect



    --
    Dave Page
    VP, Chief Architect, Tools & Insta= llers
    EnterpriseDB: http://www.enterprisedb.com
    The Enterprise PostgreSQL Company<= br>
    Blog: http= ://pgsnake.blogspot.com
    Twitter: @pgsnake



    --
    Akshay Joshi
    Sr. Software Archit= ect

    =

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



    --
    =
    Dave Page
    VP, Chief Architect, Tools & Installers
    EnterpriseDB:= http://www.enter= prisedb.com
    The Enterprise PostgreSQL Company

    Blog: http://pgsnake.blogspot.= com
    Twitter: @pgsnake




    --
    Akshay Joshi
    Sr. Soft= ware Architect
    =
    =




    --
    =
    Dave Page
    VP, Chief Architect, Tools & Installers
    Ent= erpriseDB: http:/= /www.enterprisedb.com
    The Enterprise PostgreSQL Company

    Blog:= http://pgsnake.b= logspot.com
    Twitter: @pgsnake
    --001a1140777631c2fa0567ec9c42--