This is an automated email from the ASF dual-hosted git repository.

joemcdonnell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git


The following commit(s) were added to refs/heads/master by this push:
     new 4b4f210c0 IMPALA-12803: Fix missing exchange lines in query timeline
4b4f210c0 is described below

commit 4b4f210c0e662300bd175b54103eb92ed5ca80f5
Author: Surya Hebbar <sheb...@cloudera.com>
AuthorDate: Fri Feb 9 18:45:51 2024 +0530

    IMPALA-12803: Fix missing exchange lines in query timeline
    
    Fragment diagram's exchange lines were being overlapped as they
    were appended after the plan node's phases.
    
    The issue has been solved by appending the plan node's phases in order,
    before exchange lines.
    
    Change-Id: I1d37fda1d2e70e46de19b6acdf932463e3f2adbb
    Reviewed-on: http://gerrit.cloudera.org:8080/21024
    Reviewed-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
    Tested-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
---
 www/scripts/query_timeline/fragment_diagram.js | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/www/scripts/query_timeline/fragment_diagram.js 
b/www/scripts/query_timeline/fragment_diagram.js
index 6cf6e774d..65506c771 100644
--- a/www/scripts/query_timeline/fragment_diagram.js
+++ b/www/scripts/query_timeline/fragment_diagram.js
@@ -215,6 +215,11 @@ async function renderFragmentDiagram() {
           // Plan node timing row
           DrawBars(fragment_svg_group, rownum_l, row_height, node.events, 
name_width,
               px_per_ns);
+
+          fragment_svg_group.id = fragment.name;
+          fragment_svg_group.addEventListener('click', 
updateFragmentMetricsChartOnClick);
+          fragment_diagram.appendChild(fragment_svg_group);
+
           if (node.type == "HASH_JOIN_NODE") {
             fragment_diagram.appendChild(getSvgText("X", 
stroke_fill_colors.black,
                 name_width + Math.min.apply(null, node.events[2].tslist) * 
px_per_ns,
@@ -223,6 +228,10 @@ async function renderFragmentDiagram() {
                 name_width + Math.min.apply(null, node.events[2].tslist) * 
px_per_ns,
                 text_y, row_height, false));
           }
+        } else {
+          fragment_svg_group.id = fragment.name;
+          fragment_svg_group.addEventListener('click', 
updateFragmentMetricsChartOnClick);
+          fragment_diagram.appendChild(fragment_svg_group);
         }
 
         if (node.is_receiver) {
@@ -287,11 +296,7 @@ async function renderFragmentDiagram() {
             pending_fragments.push(fragments[node.sender_frag_index]);
           }
         }
-
       }
-      fragment_svg_group.id = fragment.name;
-      fragment_svg_group.addEventListener('click', 
updateFragmentMetricsChartOnClick);
-      fragment_diagram.appendChild(fragment_svg_group);
 
       // Visit sender fragments in reverse order to avoid dag edges crossing
       pending_fragments.reverse().forEach(printFragment);

Reply via email to