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