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

hansva pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git


The following commit(s) were added to refs/heads/main by this push:
     new 34934df082 [IT] fix failing IT tests (#7088)
34934df082 is described below

commit 34934df08205f17f054492e8c3ca13bebe78c794
Author: Hans Van Akelyen <[email protected]>
AuthorDate: Mon May 4 15:24:28 2026 +0200

    [IT] fix failing IT tests (#7088)
---
 .../integration-tests-resolver.yaml                |   2 +
 .../hop_server/0005-read-from-remote-location.hpl  | 345 +++++-----
 .../mdi/datasets/golden-splunk-input.csv           |  11 +-
 .../samples/read-samples-build-hop-run.hpl         | 704 ++++++++++-----------
 .../hop/ui/core/dialog/PreviewRowsDialog.java      |   2 +
 .../execution/ExecutionPerspective.java            |  12 -
 6 files changed, 513 insertions(+), 563 deletions(-)

diff --git a/docker/integration-tests/integration-tests-resolver.yaml 
b/docker/integration-tests/integration-tests-resolver.yaml
index 96c2b95ce2..6af5ae6e11 100644
--- a/docker/integration-tests/integration-tests-resolver.yaml
+++ b/docker/integration-tests/integration-tests-resolver.yaml
@@ -32,6 +32,8 @@ services:
     environment:
       - VAULT_DEV_ROOT_TOKEN_ID=myroot
       - VAULT_DEV_LISTEN_ADDRESS=0.0.0.0:8200
+      - SKIP_SETCAP=true
+      - VAULT_DISABLE_MLOCK=true
     healthcheck:
       test: [ "CMD", "wget", "--spider", "--proxy", "off", 
"http://vault:8200/v1/sys/health?standbyok=true"; ]
       interval: 10s
diff --git a/integration-tests/hop_server/0005-read-from-remote-location.hpl 
b/integration-tests/hop_server/0005-read-from-remote-location.hpl
index b2fc36361d..3185c5fd13 100644
--- a/integration-tests/hop_server/0005-read-from-remote-location.hpl
+++ b/integration-tests/hop_server/0005-read-from-remote-location.hpl
@@ -19,197 +19,157 @@ limitations under the License.
 -->
 <pipeline>
   <info>
-    <name>0005-read-from-remote-location</name>
-    <name_sync_with_filename>Y</name_sync_with_filename>
-    <description/>
-    <extended_description/>
-    <pipeline_version/>
-    <pipeline_type>Normal</pipeline_type>
-    <parameters>
-    </parameters>
     <capture_transform_performance>N</capture_transform_performance>
     
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
     
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
+    <pipeline_type>Normal</pipeline_type>
+    <pipeline_status>0</pipeline_status>
+    <parameters/>
+    <name>0005-read-from-remote-location</name>
+    <name_sync_with_filename>Y</name_sync_with_filename>
     <created_user>-</created_user>
-    <created_date>2023/02/15 11:25:42.589</created_date>
     <modified_user>-</modified_user>
+    <created_date>2023/02/15 11:25:42.589</created_date>
     <modified_date>2023/02/15 11:25:42.589</modified_date>
   </info>
-  <notepads>
-  </notepads>
-  <order>
-    <hop>
-      <from>children, no limit</from>
-      <to>Execution IDs</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>execution data</from>
-      <to>Output transform only</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>Output transform only</from>
-      <to>Limit fields</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>Limit fields</from>
-      <to>Validate</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>Execution &amp; State</from>
-      <to>executionType=Pipeline</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>executionType=Pipeline</from>
-      <to>Remove XML and logging</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>Remove XML and logging</from>
-      <to>execution data</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>Execution IDs</from>
-      <to>Execution &amp; State</to>
-      <enabled>Y</enabled>
-    </hop>
-  </order>
   <transform>
-    <name>Execution &amp; State</name>
     <type>ExecInfo</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
-    <partitioning>
-      <method>none</method>
-      <schema_name/>
-    </partitioning>
-    <idFieldName>id</idFieldName>
+    <name>Execution &amp; State</name>
     <location>remote</location>
     <operationType>GetExecutionAndState</operationType>
-    <attributes/>
+    <idFieldName>id</idFieldName>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>384</xloc>
       <yloc>48</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>Execution IDs</name>
-    <type>ExecInfo</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
-    <includeChildrenFieldName>children</includeChildrenFieldName>
-    <limitFieldName>limit</limitFieldName>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>ExecInfo</type>
+    <name>Execution IDs</name>
     <location>remote</location>
     <operationType>GetExecutionIds</operationType>
-    <attributes/>
+    <includeChildrenFieldName>children</includeChildrenFieldName>
+    <limitFieldName>limit</limitFieldName>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>240</xloc>
       <yloc>48</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>Limit fields</name>
-    <type>SelectValues</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>SelectValues</type>
+    <name>Limit fields</name>
     <fields>
       <field>
         <name>finished</name>
+        <rename/>
+        <length>-2</length>
+        <precision>-2</precision>
       </field>
       <field>
         <name>setKey</name>
+        <rename/>
+        <length>-2</length>
+        <precision>-2</precision>
       </field>
       <field>
-        <name>name</name>
+        <name>name_1</name>
+        <rename>name</rename>
+        <length>-2</length>
+        <precision>-2</precision>
       </field>
       <field>
         <name>copyNr</name>
+        <rename/>
+        <length>-2</length>
+        <precision>-2</precision>
       </field>
       <field>
         <name>description</name>
+        <rename/>
+        <length>-2</length>
+        <precision>-2</precision>
       </field>
       <field>
         <name>setRowMetaJson</name>
+        <rename/>
+        <length>-2</length>
+        <precision>-2</precision>
       </field>
       <field>
         <name>setRowNr</name>
+        <rename/>
+        <length>-2</length>
+        <precision>-2</precision>
       </field>
       <field>
         <name>setRowDataJson</name>
+        <rename/>
+        <length>-2</length>
+        <precision>-2</precision>
       </field>
       <select_unspecified>N</select_unspecified>
     </fields>
-    <attributes/>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>256</xloc>
       <yloc>304</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>Output transform only</name>
-    <type>FilterRows</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>FilterRows</type>
+    <name>Output transform only</name>
     <compare>
       <condition>
-        <conditions>
-</conditions>
-        <function>=</function>
-        <leftvalue>name</leftvalue>
         <negated>N</negated>
         <operator>-</operator>
+        <leftvalue>name_1</leftvalue>
+        <function>=</function>
         <value>
-          <isnull>N</isnull>
-          <length>-1</length>
           <name>constant</name>
-          <precision>-1</precision>
-          <text>intValue</text>
           <type>String</type>
+          <text>intValue</text>
+          <length>-1</length>
+          <precision>-1</precision>
+          <isnull>N</isnull>
         </value>
+        <conditions/>
       </condition>
     </compare>
-    <attributes/>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>384</xloc>
       <yloc>176</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>Remove XML and logging</name>
-    <type>SelectValues</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>SelectValues</type>
+    <name>Remove XML and logging</name>
     <fields>
       <select_unspecified>N</select_unspecified>
       <remove>
@@ -219,141 +179,180 @@ limitations under the License.
         <name>loggingText</name>
       </remove>
     </fields>
-    <attributes/>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>768</xloc>
       <yloc>48</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>Validate</name>
-    <type>Dummy</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
     <attributes/>
-    <GUI>
-      <xloc>400</xloc>
-      <yloc>304</yloc>
-    </GUI>
   </transform>
   <transform>
-    <name>children, no limit</name>
-    <type>DataGrid</type>
-    <description/>
+    <type>Dummy</type>
+    <name>Validate</name>
     <distribute>Y</distribute>
-    <custom_distribution/>
     <copies>1</copies>
+    <GUI>
+      <xloc>400</xloc>
+      <yloc>304</yloc>
+    </GUI>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
-    <data>
-      <line>
-        <item>Y</item>
-        <item>0</item>
-        <item>Transform</item>
-        <item>all-transforms</item>
-      </line>
-    </data>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>DataGrid</type>
+    <name>children, no limit</name>
     <fields>
       <field>
+        <name>children</name>
+        <type>Boolean</type>
         <length>-1</length>
         <precision>-1</precision>
         <set_empty_string>N</set_empty_string>
-        <name>children</name>
-        <type>Boolean</type>
       </field>
       <field>
+        <name>limit</name>
+        <type>Integer</type>
         <length>-1</length>
         <precision>-1</precision>
         <set_empty_string>N</set_empty_string>
-        <name>limit</name>
-        <type>Integer</type>
       </field>
       <field>
+        <name>childType</name>
+        <type>String</type>
         <length>-1</length>
         <precision>-1</precision>
         <set_empty_string>N</set_empty_string>
-        <name>childType</name>
-        <type>String</type>
       </field>
       <field>
+        <name>all-transforms</name>
+        <type>String</type>
         <length>-1</length>
         <precision>-1</precision>
         <set_empty_string>N</set_empty_string>
-        <name>all-transforms</name>
-        <type>String</type>
       </field>
     </fields>
-    <attributes/>
+    <data>
+      <line>
+        <item>Y</item>
+        <item>0</item>
+        <item>Transform</item>
+        <item>all-transforms</item>
+      </line>
+    </data>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>96</xloc>
       <yloc>48</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>execution data</name>
-    <type>ExecInfo</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
-    <idFieldName>all-transforms</idFieldName>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>ExecInfo</type>
+    <name>execution data</name>
     <location>remote</location>
     <operationType>GetExecutionData</operationType>
+    <idFieldName>all-transforms</idFieldName>
     <parentIdFieldName>id</parentIdFieldName>
-    <attributes/>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>256</xloc>
       <yloc>176</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>executionType=Pipeline</name>
-    <type>FilterRows</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>FilterRows</type>
+    <name>executionType=Pipeline</name>
     <compare>
       <condition>
-        <conditions>
-</conditions>
-        <function>=</function>
-        <leftvalue>executionType</leftvalue>
         <negated>N</negated>
         <operator>-</operator>
+        <leftvalue>executionType</leftvalue>
+        <function>=</function>
         <value>
-          <isnull>N</isnull>
-          <length>-1</length>
           <name>constant</name>
-          <precision>-1</precision>
-          <text>Pipeline</text>
           <type>String</type>
+          <text>Pipeline</text>
+          <length>-1</length>
+          <precision>-1</precision>
+          <isnull>N</isnull>
         </value>
+        <conditions/>
       </condition>
     </compare>
-    <attributes/>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>560</xloc>
       <yloc>48</yloc>
     </GUI>
+    <partitioning>
+      <method>none</method>
+      <schema_name/>
+    </partitioning>
+    <attributes/>
   </transform>
-  <transform_error_handling>
-  </transform_error_handling>
+  <order>
+    <hop>
+      <from>children, no limit</from>
+      <to>Execution IDs</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>execution data</from>
+      <to>Output transform only</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>Output transform only</from>
+      <to>Limit fields</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>Limit fields</from>
+      <to>Validate</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>Execution &amp; State</from>
+      <to>executionType=Pipeline</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>executionType=Pipeline</from>
+      <to>Remove XML and logging</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>Remove XML and logging</from>
+      <to>execution data</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>Execution IDs</from>
+      <to>Execution &amp; State</to>
+      <enabled>Y</enabled>
+    </hop>
+  </order>
+  <notepads/>
   <attributes/>
+  <transform_error_handling/>
 </pipeline>
diff --git a/integration-tests/mdi/datasets/golden-splunk-input.csv 
b/integration-tests/mdi/datasets/golden-splunk-input.csv
index 8de0380f22..422e385c9d 100644
--- a/integration-tests/mdi/datasets/golden-splunk-input.csv
+++ b/integration-tests/mdi/datasets/golden-splunk-input.csv
@@ -1,6 +1,5 @@
-connection,query,returnName,returnSplunkName,returnType,returnLength,returnFormat
-,SEARCH * | HEAD 100,,,,,
-,,field1,splunkField1,String,10,
-,,field2,splunkField2,Integer,5,"#"
-,,field3,splunkField3,Date,0,yyyy/MM/dd
-SomeConnection,,,,,,
+connection,query,returnName,returnSplunkName,returnType,returnLength,returnFormat
+SomeConnection,SEARCH * | HEAD 100,,,,,
+,,field1,splunkField1,String,10,
+,,field2,splunkField2,Integer,5,"#"
+,,field3,splunkField3,Date,0,yyyy/MM/dd
diff --git a/integration-tests/samples/read-samples-build-hop-run.hpl 
b/integration-tests/samples/read-samples-build-hop-run.hpl
index 88f53e4a8b..03643068f5 100644
--- a/integration-tests/samples/read-samples-build-hop-run.hpl
+++ b/integration-tests/samples/read-samples-build-hop-run.hpl
@@ -19,133 +19,40 @@ limitations under the License.
 -->
 <pipeline>
   <info>
-    <name>read-samples-build-hop-run</name>
-    <name_sync_with_filename>Y</name_sync_with_filename>
-    <description/>
-    <extended_description/>
-    <pipeline_version/>
-    <pipeline_type>Normal</pipeline_type>
-    <parameters>
-    </parameters>
     <capture_transform_performance>N</capture_transform_performance>
     
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
     
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
+    <pipeline_type>Normal</pipeline_type>
+    <pipeline_status>0</pipeline_status>
+    <parameters/>
+    <name>read-samples-build-hop-run</name>
+    <name_sync_with_filename>Y</name_sync_with_filename>
     <created_user>-</created_user>
-    <created_date>2023/01/22 10:45:57.535</created_date>
     <modified_user>-</modified_user>
+    <created_date>2023/01/22 10:45:57.535</created_date>
     <modified_date>2023/01/22 10:45:57.535</modified_date>
   </info>
-  <notepads>
-  </notepads>
-  <order>
-    <hop>
-      <from>execute-hop-run.hwf</from>
-      <to>errors?</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>errors?</from>
-      <to>log errors</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>log errors</from>
-      <to>abort</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>samples to ignore</from>
-      <to>ignore list LU</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>ignore list LU</from>
-      <to>skip ignored </to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>skip ignored </from>
-      <to>skip technology samples (for now)</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>skip technology samples (for now)</from>
-      <to>build hop-run.sh</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>get hpl/hwf filenames</from>
-      <to>prio 1 list LU</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>prio 1 samples</from>
-      <to>prio 1 list LU</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>prio 1?</from>
-      <to>execute-hop-run.hwf prio 1</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>prio 1?</from>
-      <to>wait for prio1</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>prio 1 list LU</from>
-      <to>ignore list LU</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>build hop-run.sh</from>
-      <to>prio 1?</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>wait for prio1</from>
-      <to>execute-hop-run.hwf</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>execute-hop-run.hwf prio 1</from>
-      <to>errors?</to>
-      <enabled>Y</enabled>
-    </hop>
-  </order>
   <transform>
-    <name>abort</name>
     <type>Abort</type>
-    <description/>
+    <name>abort</name>
+    <row_threshold>0</row_threshold>
+    <always_log_rows>Y</always_log_rows>
+    <abort_option>ABORT_WITH_ERROR</abort_option>
     <distribute>Y</distribute>
-    <custom_distribution/>
     <copies>1</copies>
-    <partitioning>
-      <method>none</method>
-      <schema_name/>
-    </partitioning>
-    <abort_option>ABORT_WITH_ERROR</abort_option>
-    <always_log_rows>Y</always_log_rows>
-    <row_threshold>0</row_threshold>
-    <attributes/>
     <GUI>
       <xloc>1392</xloc>
       <yloc>848</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>build hop-run.sh</name>
-    <type>ScriptValueMod</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
-    <optimizationLevel>9</optimizationLevel>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>ScriptValueMod</type>
+    <name>build hop-run.sh</name>
     <jsScripts>
       <jsScript>
         <jsScript_type>0</jsScript_type>
@@ -204,187 +111,177 @@ var hop_run_cmd = './hop-run.sh -j samples -r ' + 
run_config + ' -f ' + filename
         <replace>N</replace>
       </field>
     </fields>
-    <attributes/>
+    <optimizationLevel>9</optimizationLevel>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>1200</xloc>
       <yloc>256</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>errors?</name>
-    <type>FilterRows</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>FilterRows</type>
+    <name>errors?</name>
     <compare>
       <condition>
-        <conditions>
-</conditions>
-        <function>&gt;</function>
-        <leftvalue>ExecutionNrErrors</leftvalue>
         <negated>N</negated>
         <operator>-</operator>
+        <leftvalue>ExecutionNrErrors</leftvalue>
+        <function>&gt;</function>
         <value>
-          <isnull>N</isnull>
-          <length>-1</length>
-          <mask>####0;-####0</mask>
           <name>constant</name>
-          <precision>0</precision>
-          <text>0</text>
           <type>Integer</type>
+          <text>0</text>
+          <length>-1</length>
+          <precision>0</precision>
+          <isnull>N</isnull>
+          <mask>####0;-####0</mask>
         </value>
+        <conditions/>
       </condition>
     </compare>
-    <attributes/>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>1392</xloc>
       <yloc>656</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>execute-hop-run.hwf</name>
-    <type>WorkflowExecutor</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
-    <execution_errors_field>ExecutionNrErrors</execution_errors_field>
-    
<execution_exit_status_field>ExecutionExitStatus</execution_exit_status_field>
-    
<execution_files_retrieved_field>ExecutionFilesRetrieved</execution_files_retrieved_field>
-    
<execution_lines_deleted_field>ExecutionLinesDeleted</execution_lines_deleted_field>
-    
<execution_lines_input_field>ExecutionLinesInput</execution_lines_input_field>
-    
<execution_lines_output_field>ExecutionLinesOutput</execution_lines_output_field>
-    <execution_lines_read_field>ExecutionLinesRead</execution_lines_read_field>
-    
<execution_lines_rejected_field>ExecutionLinesRejected</execution_lines_rejected_field>
-    
<execution_lines_updated_field>ExecutionLinesUpdated</execution_lines_updated_field>
-    
<execution_lines_written_field>ExecutionLinesWritten</execution_lines_written_field>
-    
<execution_log_channelid_field>ExecutionLogChannelId</execution_log_channelid_field>
-    <execution_log_text_field>ExecutionLogText</execution_log_text_field>
-    <execution_result_field>ExecutionResult</execution_result_field>
-    
<execution_result_target_transform>errors?</execution_result_target_transform>
-    <execution_time_field>ExecutionTime</execution_time_field>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>WorkflowExecutor</type>
+    <name>execute-hop-run.hwf</name>
+    <run_configuration>local</run_configuration>
     <filename>${PROJECT_HOME}/execute-hop-run.hwf</filename>
     <group_size>1</group_size>
-    <inherit_all_vars>Y</inherit_all_vars>
     <parameters>
       <variablemapping>
-        <field>hop_run_cmd</field>
         <variable>PRM_HOP_RUN</variable>
+        <field>hop_run_cmd</field>
       </variablemapping>
       <variablemapping>
-        <field>short_filename</field>
         <variable>PRM_NAME</variable>
+        <field>short_filename</field>
       </variablemapping>
     </parameters>
+    
<execution_result_target_transform>errors?</execution_result_target_transform>
+    <execution_time_field>ExecutionTime</execution_time_field>
+    <execution_result_field>ExecutionResult</execution_result_field>
+    <execution_errors_field>ExecutionNrErrors</execution_errors_field>
+    <execution_lines_read_field>ExecutionLinesRead</execution_lines_read_field>
+    
<execution_lines_written_field>ExecutionLinesWritten</execution_lines_written_field>
+    
<execution_lines_input_field>ExecutionLinesInput</execution_lines_input_field>
+    
<execution_lines_output_field>ExecutionLinesOutput</execution_lines_output_field>
+    
<execution_lines_rejected_field>ExecutionLinesRejected</execution_lines_rejected_field>
+    
<execution_lines_updated_field>ExecutionLinesUpdated</execution_lines_updated_field>
+    
<execution_lines_deleted_field>ExecutionLinesDeleted</execution_lines_deleted_field>
+    
<execution_files_retrieved_field>ExecutionFilesRetrieved</execution_files_retrieved_field>
+    
<execution_exit_status_field>ExecutionExitStatus</execution_exit_status_field>
+    <execution_log_text_field>ExecutionLogText</execution_log_text_field>
+    
<execution_log_channelid_field>ExecutionLogChannelId</execution_log_channelid_field>
     <result_files_file_name_field>FileName</result_files_file_name_field>
-    <run_configuration>local</run_configuration>
-    <attributes/>
+    <inherit_all_vars>Y</inherit_all_vars>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>1520</xloc>
       <yloc>512</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>execute-hop-run.hwf prio 1</name>
-    <type>WorkflowExecutor</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
-    <execution_errors_field>ExecutionNrErrors</execution_errors_field>
-    
<execution_exit_status_field>ExecutionExitStatus</execution_exit_status_field>
-    
<execution_files_retrieved_field>ExecutionFilesRetrieved</execution_files_retrieved_field>
-    
<execution_lines_deleted_field>ExecutionLinesDeleted</execution_lines_deleted_field>
-    
<execution_lines_input_field>ExecutionLinesInput</execution_lines_input_field>
-    
<execution_lines_output_field>ExecutionLinesOutput</execution_lines_output_field>
-    <execution_lines_read_field>ExecutionLinesRead</execution_lines_read_field>
-    
<execution_lines_rejected_field>ExecutionLinesRejected</execution_lines_rejected_field>
-    
<execution_lines_updated_field>ExecutionLinesUpdated</execution_lines_updated_field>
-    
<execution_lines_written_field>ExecutionLinesWritten</execution_lines_written_field>
-    
<execution_log_channelid_field>ExecutionLogChannelId</execution_log_channelid_field>
-    <execution_log_text_field>ExecutionLogText</execution_log_text_field>
-    <execution_result_field>ExecutionResult</execution_result_field>
-    
<execution_result_target_transform>errors?</execution_result_target_transform>
-    <execution_time_field>ExecutionTime</execution_time_field>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>WorkflowExecutor</type>
+    <name>execute-hop-run.hwf prio 1</name>
+    <run_configuration>local</run_configuration>
     <filename>${PROJECT_HOME}/execute-hop-run.hwf</filename>
     <group_size>1</group_size>
-    <inherit_all_vars>Y</inherit_all_vars>
     <parameters>
       <variablemapping>
-        <field>hop_run_cmd</field>
         <variable>PRM_HOP_RUN</variable>
+        <field>hop_run_cmd</field>
       </variablemapping>
       <variablemapping>
-        <field>short_filename</field>
         <variable>PRM_NAME</variable>
+        <field>short_filename</field>
       </variablemapping>
     </parameters>
+    
<execution_result_target_transform>errors?</execution_result_target_transform>
+    <execution_time_field>ExecutionTime</execution_time_field>
+    <execution_result_field>ExecutionResult</execution_result_field>
+    <execution_errors_field>ExecutionNrErrors</execution_errors_field>
+    <execution_lines_read_field>ExecutionLinesRead</execution_lines_read_field>
+    
<execution_lines_written_field>ExecutionLinesWritten</execution_lines_written_field>
+    
<execution_lines_input_field>ExecutionLinesInput</execution_lines_input_field>
+    
<execution_lines_output_field>ExecutionLinesOutput</execution_lines_output_field>
+    
<execution_lines_rejected_field>ExecutionLinesRejected</execution_lines_rejected_field>
+    
<execution_lines_updated_field>ExecutionLinesUpdated</execution_lines_updated_field>
+    
<execution_lines_deleted_field>ExecutionLinesDeleted</execution_lines_deleted_field>
+    
<execution_files_retrieved_field>ExecutionFilesRetrieved</execution_files_retrieved_field>
+    
<execution_exit_status_field>ExecutionExitStatus</execution_exit_status_field>
+    <execution_log_text_field>ExecutionLogText</execution_log_text_field>
+    
<execution_log_channelid_field>ExecutionLogChannelId</execution_log_channelid_field>
     <result_files_file_name_field>FileName</result_files_file_name_field>
-    <run_configuration>local</run_configuration>
-    <attributes/>
+    <inherit_all_vars>Y</inherit_all_vars>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>1200</xloc>
       <yloc>512</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>get hpl/hwf filenames</name>
-    <type>GetFileNames</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
-    <doNotFailIfNoFile>N</doNotFailIfNoFile>
-    <dynamic_include_subfolders>N</dynamic_include_subfolders>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>GetFileNames</type>
+    <name>get hpl/hwf filenames</name>
     <file>
+      <name>${user.dir}/config/projects/samples/</name>
+      <filemask>.*.hpl|.*.hwf</filemask>
       <exclude_filemask>.*child.*</exclude_filemask>
       <file_required>N</file_required>
-      <filemask>.*.hpl|.*.hwf</filemask>
       <include_subfolders>Y</include_subfolders>
-      <name>${user.dir}/config/projects/samples/</name>
     </file>
-    <filefield>N</filefield>
     <filter>
       <filterfiletype>all_files</filterfiletype>
     </filter>
+    <rownum>N</rownum>
+    <filefield>N</filefield>
+    <dynamic_include_subfolders>N</dynamic_include_subfolders>
     <isaddresult>Y</isaddresult>
     <limit>0</limit>
+    <doNotFailIfNoFile>N</doNotFailIfNoFile>
     <raiseAnExceptionIfNoFile>N</raiseAnExceptionIfNoFile>
-    <rownum>N</rownum>
-    <attributes/>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>160</xloc>
       <yloc>256</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>ignore list LU</name>
-    <type>StreamLookup</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>StreamLookup</type>
+    <name>ignore list LU</name>
     <from>samples to ignore</from>
     <input_sorted>N</input_sorted>
     <preserve_memory>Y</preserve_memory>
@@ -398,28 +295,28 @@ var hop_run_cmd = './hop-run.sh -j samples -r ' + 
run_config + ' -f ' + filename
       <value>
         <name>sample_name</name>
         <rename>ignore_sample_name</rename>
-        <default/>
         <type>String</type>
       </value>
     </lookup>
-    <attributes/>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>592</xloc>
       <yloc>256</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>log errors</name>
-    <type>WriteToLog</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>WriteToLog</type>
+    <name>log errors</name>
     <displayHeader>Y</displayHeader>
+    <limitRows>N</limitRows>
+    <limitRowsNumber>0</limitRowsNumber>
+    <logmessage>the following sample workflow or pipeline failed</logmessage>
     <fields>
       <field>
         <name>ExecutionTime</name>
@@ -464,26 +361,21 @@ var hop_run_cmd = './hop-run.sh -j samples -r ' + 
run_config + ' -f ' + filename
         <name>ExecutionLogChannelId</name>
       </field>
     </fields>
-    <limitRows>N</limitRows>
-    <limitRowsNumber>0</limitRowsNumber>
-    <logmessage>the following sample workflow or pipeline failed</logmessage>
-    <attributes/>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>1392</xloc>
       <yloc>752</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>prio 1 list LU</name>
-    <type>StreamLookup</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>StreamLookup</type>
+    <name>prio 1 list LU</name>
     <from>prio 1 samples</from>
     <input_sorted>N</input_sorted>
     <preserve_memory>Y</preserve_memory>
@@ -497,95 +389,111 @@ var hop_run_cmd = './hop-run.sh -j samples -r ' + 
run_config + ' -f ' + filename
       <value>
         <name>sample_name</name>
         <rename>prio_1_sample_name</rename>
-        <default/>
         <type>String</type>
       </value>
     </lookup>
-    <attributes/>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>416</xloc>
       <yloc>256</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>prio 1 samples</name>
-    <type>DataGrid</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
-    <data>
-      <line>
-        <item>textfileoutput-tiny-file.hpl</item>
-        <item>generates the input file required by csvinput-basic.hpl</item>
-      </line>
-    </data>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>DataGrid</type>
+    <name>prio 1 samples</name>
     <fields>
       <field>
+        <name>sample_name</name>
+        <type>String</type>
         <length>-1</length>
         <precision>-1</precision>
         <set_empty_string>N</set_empty_string>
-        <name>sample_name</name>
-        <type>String</type>
       </field>
       <field>
+        <name>reason</name>
+        <type>String</type>
         <length>-1</length>
         <precision>-1</precision>
         <set_empty_string>N</set_empty_string>
-        <name>reason</name>
-        <type>String</type>
       </field>
     </fields>
-    <attributes/>
+    <data>
+      <line>
+        <item>textfileoutput-tiny-file.hpl</item>
+        <item>generates the input file required by csvinput-basic.hpl</item>
+      </line>
+    </data>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>416</xloc>
       <yloc>96</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>prio 1?</name>
-    <type>FilterRows</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>FilterRows</type>
+    <name>prio 1?</name>
     <compare>
       <condition>
-        <conditions>
-</conditions>
-        <function>IS NOT NULL</function>
-        <leftvalue>prio_1_sample_name</leftvalue>
         <negated>N</negated>
         <operator>-</operator>
+        <leftvalue>prio_1_sample_name</leftvalue>
+        <function>IS NOT NULL</function>
+        <conditions/>
       </condition>
     </compare>
-    <send_false_to>wait for prio1</send_false_to>
     <send_true_to>execute-hop-run.hwf prio 1</send_true_to>
-    <attributes/>
-    <GUI>
-      <xloc>1200</xloc>
-      <yloc>352</yloc>
-    </GUI>
-  </transform>
-  <transform>
-    <name>samples to ignore</name>
-    <type>DataGrid</type>
-    <description/>
+    <send_false_to>wait for prio1</send_false_to>
     <distribute>Y</distribute>
-    <custom_distribution/>
     <copies>1</copies>
+    <GUI>
+      <xloc>1200</xloc>
+      <yloc>352</yloc>
+    </GUI>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>DataGrid</type>
+    <name>samples to ignore</name>
+    <fields>
+      <field>
+        <currency/>
+        <decimal/>
+        <group/>
+        <name>sample_name</name>
+        <type>String</type>
+        <format/>
+        <length>-1</length>
+        <precision>-1</precision>
+        <set_empty_string>N</set_empty_string>
+      </field>
+      <field>
+        <currency/>
+        <decimal/>
+        <group/>
+        <name>reason</name>
+        <type>String</type>
+        <format/>
+        <length>-1</length>
+        <precision>-1</precision>
+        <set_empty_string>N</set_empty_string>
+      </field>
+    </fields>
     <data>
       <line>
         <item>repeat_child.hpl</item>
@@ -643,187 +551,239 @@ var hop_run_cmd = './hop-run.sh -j samples -r ' + 
run_config + ' -f ' + filename
         <item>sample_pipeline_resolver.hpl</item>
         <item>Is used by another transform</item>
       </line>
+      <line>
+        <item>table-compare.hpl</item>
+        <item>requires connection</item>
+      </line>
     </data>
-    <fields>
-      <field>
-        <length>-1</length>
-        <precision>-1</precision>
-        <currency/>
-        <set_empty_string>N</set_empty_string>
-        <name>sample_name</name>
-        <format/>
-        <group/>
-        <decimal/>
-        <type>String</type>
-      </field>
-      <field>
-        <length>-1</length>
-        <precision>-1</precision>
-        <currency/>
-        <set_empty_string>N</set_empty_string>
-        <name>reason</name>
-        <format/>
-        <group/>
-        <decimal/>
-        <type>String</type>
-      </field>
-    </fields>
-    <attributes/>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>592</xloc>
       <yloc>96</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>skip ignored </name>
-    <type>FilterRows</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>FilterRows</type>
+    <name>skip ignored </name>
     <compare>
       <condition>
+        <negated>N</negated>
+        <operator>-</operator>
+        <leftvalue>sample_name</leftvalue>
+        <function>IS NULL</function>
         <conditions>
           <condition>
-            <conditions>
-</conditions>
-            <function>IS NULL</function>
-            <leftvalue>ignore_sample_name</leftvalue>
             <negated>N</negated>
             <operator>-</operator>
+            <leftvalue>ignore_sample_name</leftvalue>
+            <function>IS NULL</function>
+            <conditions/>
           </condition>
         </conditions>
-        <function>IS NULL</function>
-        <leftvalue>sample_name</leftvalue>
-        <negated>N</negated>
-        <operator>-</operator>
       </condition>
     </compare>
-    <attributes/>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>768</xloc>
       <yloc>256</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>skip technology samples (for now)</name>
-    <type>FilterRows</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>FilterRows</type>
+    <name>skip technology samples (for now)</name>
     <compare>
       <condition>
+        <negated>N</negated>
+        <operator>-</operator>
+        <leftvalue>sample_name</leftvalue>
+        <function>IS NULL</function>
         <conditions>
           <condition>
-            <conditions>
-</conditions>
-            <function>CONTAINS</function>
-            <leftvalue>filename</leftvalue>
             <negated>Y</negated>
             <operator>-</operator>
+            <leftvalue>filename</leftvalue>
+            <function>CONTAINS</function>
             <value>
-              <isnull>N</isnull>
-              <length>-1</length>
               <name>constant</name>
-              <precision>-1</precision>
-              <text>/neo4j/</text>
               <type>String</type>
+              <text>/neo4j/</text>
+              <length>-1</length>
+              <precision>-1</precision>
+              <isnull>N</isnull>
             </value>
+            <conditions/>
           </condition>
           <condition>
-            <conditions>
-</conditions>
-            <function>CONTAINS</function>
-            <leftvalue>filename</leftvalue>
             <negated>Y</negated>
             <operator>AND</operator>
+            <leftvalue>filename</leftvalue>
+            <function>CONTAINS</function>
             <value>
-              <isnull>N</isnull>
-              <length>-1</length>
               <name>constant</name>
-              <precision>-1</precision>
-              <text>/kafka-</text>
               <type>String</type>
+              <text>/kafka-</text>
+              <length>-1</length>
+              <precision>-1</precision>
+              <isnull>N</isnull>
             </value>
+            <conditions/>
           </condition>
           <condition>
-            <conditions>
-</conditions>
-            <function>CONTAINS</function>
-            <leftvalue>filename</leftvalue>
             <negated>Y</negated>
             <operator>AND</operator>
+            <leftvalue>filename</leftvalue>
+            <function>CONTAINS</function>
             <value>
-              <isnull>N</isnull>
-              <length>-1</length>
               <name>constant</name>
-              <precision>-1</precision>
-              <text>/mongodb-</text>
               <type>String</type>
+              <text>/mongodb-</text>
+              <length>-1</length>
+              <precision>-1</precision>
+              <isnull>N</isnull>
             </value>
+            <conditions/>
           </condition>
           <condition>
-            <conditions>
-</conditions>
-            <function>CONTAINS</function>
-            <leftvalue>filename</leftvalue>
             <negated>Y</negated>
             <operator>AND</operator>
+            <leftvalue>filename</leftvalue>
+            <function>CONTAINS</function>
             <value>
-              <isnull>N</isnull>
-              <length>-1</length>
               <name>constant</name>
-              <precision>-1</precision>
-              <text>/vertica-</text>
               <type>String</type>
+              <text>/vertica-</text>
+              <length>-1</length>
+              <precision>-1</precision>
+              <isnull>N</isnull>
             </value>
+            <conditions/>
           </condition>
         </conditions>
-        <function>IS NULL</function>
-        <leftvalue>sample_name</leftvalue>
-        <negated>N</negated>
-        <operator>-</operator>
       </condition>
     </compare>
-    <attributes/>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>976</xloc>
       <yloc>256</yloc>
     </GUI>
-  </transform>
-  <transform>
-    <name>wait for prio1</name>
-    <type>BlockUntilTransformsFinish</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
     <partitioning>
       <method>none</method>
       <schema_name/>
     </partitioning>
+    <attributes/>
+  </transform>
+  <transform>
+    <type>BlockUntilTransformsFinish</type>
+    <name>wait for prio1</name>
     <transforms>
       <transform>
-        <CopyNr>0</CopyNr>
         <name>execute-hop-run.hwf prio 1</name>
+        <CopyNr>0</CopyNr>
       </transform>
     </transforms>
-    <attributes/>
+    <distribute>Y</distribute>
+    <copies>1</copies>
     <GUI>
       <xloc>1520</xloc>
       <yloc>352</yloc>
     </GUI>
+    <partitioning>
+      <method>none</method>
+      <schema_name/>
+    </partitioning>
+    <attributes/>
   </transform>
-  <transform_error_handling>
-  </transform_error_handling>
+  <order>
+    <hop>
+      <from>execute-hop-run.hwf</from>
+      <to>errors?</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>errors?</from>
+      <to>log errors</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>log errors</from>
+      <to>abort</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>samples to ignore</from>
+      <to>ignore list LU</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>ignore list LU</from>
+      <to>skip ignored </to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>skip ignored </from>
+      <to>skip technology samples (for now)</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>skip technology samples (for now)</from>
+      <to>build hop-run.sh</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>get hpl/hwf filenames</from>
+      <to>prio 1 list LU</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>prio 1 samples</from>
+      <to>prio 1 list LU</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>prio 1?</from>
+      <to>execute-hop-run.hwf prio 1</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>prio 1?</from>
+      <to>wait for prio1</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>prio 1 list LU</from>
+      <to>ignore list LU</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>build hop-run.sh</from>
+      <to>prio 1?</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>wait for prio1</from>
+      <to>execute-hop-run.hwf</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>execute-hop-run.hwf prio 1</from>
+      <to>errors?</to>
+      <enabled>Y</enabled>
+    </hop>
+  </order>
+  <notepads/>
   <attributes/>
+  <transform_error_handling/>
 </pipeline>
diff --git 
a/ui/src/main/java/org/apache/hop/ui/core/dialog/PreviewRowsDialog.java 
b/ui/src/main/java/org/apache/hop/ui/core/dialog/PreviewRowsDialog.java
index b5acda619c..3b11c8bf86 100644
--- a/ui/src/main/java/org/apache/hop/ui/core/dialog/PreviewRowsDialog.java
+++ b/ui/src/main/java/org/apache/hop/ui/core/dialog/PreviewRowsDialog.java
@@ -232,6 +232,8 @@ public class PreviewRowsDialog {
     BaseTransformDialog.positionBottomButtons(
         shell, buttons.toArray(new Button[buttons.size()]), 
PropsUi.getMargin(), null);
 
+    addFields();
+
     KeyListener escapeListener =
         new KeyAdapter() {
           @Override
diff --git 
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/execution/ExecutionPerspective.java
 
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/execution/ExecutionPerspective.java
index 84df59e06e..ec881e811b 100644
--- 
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/execution/ExecutionPerspective.java
+++ 
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/execution/ExecutionPerspective.java
@@ -35,9 +35,7 @@ import 
org.apache.hop.core.gui.plugin.toolbar.GuiToolbarElementType;
 import org.apache.hop.core.logging.ILogChannel;
 import org.apache.hop.core.logging.Metrics;
 import org.apache.hop.core.metadata.SerializableMetadataProvider;
-import org.apache.hop.core.metrics.MetricsDuration;
 import org.apache.hop.core.metrics.MetricsSnapshotType;
-import org.apache.hop.core.metrics.MetricsUtil;
 import org.apache.hop.core.search.ISearchable;
 import org.apache.hop.core.variables.IVariables;
 import org.apache.hop.core.variables.Variables;
@@ -798,16 +796,6 @@ public class ExecutionPerspective implements 
IHopPerspective, TabClosable {
           locationItem.setData(CONST_ERROR, e);
         }
         log.snap(endLocationRefresh);
-        MetricsDuration duration =
-            MetricsUtil.getLastDuration(log.getLogChannelId(), 
SNAP_ID_EIL_REFRESH);
-        if (duration != null) {
-          log.logBasic(
-              "Tree refresh of location "
-                  + Const.rpad(location.getName(), " ", 25)
-                  + " took "
-                  + duration.getDuration()
-                  + "ms");
-        }
       }
       log.setGatheringMetrics(false);
 

Reply via email to