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 & 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 & State</to>
- <enabled>Y</enabled>
- </hop>
- </order>
<transform>
- <name>Execution & 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 & 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 & 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 & 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>></function>
- <leftvalue>ExecutionNrErrors</leftvalue>
<negated>N</negated>
<operator>-</operator>
+ <leftvalue>ExecutionNrErrors</leftvalue>
+ <function>></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);