[
https://issues.apache.org/jira/browse/BEAM-8176?focusedWorklogId=315009&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-315009
]
ASF GitHub Bot logged work on BEAM-8176:
----------------------------------------
Author: ASF GitHub Bot
Created on: 19/Sep/19 12:33
Start Date: 19/Sep/19 12:33
Worklog Time Spent: 10m
Work Description: mwalenia commented on pull request #9520: [BEAM-8176]
Fix BigQuery Java test jobs
URL: https://github.com/apache/beam/pull/9520#discussion_r326147551
##########
File path: .test-infra/jenkins/job_PerformanceTests_BigQueryIO_Java.groovy
##########
@@ -16,102 +16,93 @@
* limitations under the License.
*/
-import CommonJobProperties as commonJobProperties
-import LoadTestsBuilder as loadTestsBuilder
+
+import CommonJobProperties as common
import PhraseTriggeringPostCommitBuilder
def now = new Date().format("MMddHHmmss", TimeZone.getTimeZone('UTC'))
-def bqioStreamTest = [
- title : 'BigQueryIO Streaming Performance Test Java 10 GB',
- itClass : 'org.apache.beam.sdk.bigqueryioperftests.BigQueryIOIT',
- runner : CommonTestProperties.Runner.DATAFLOW,
- jobProperties: [
- jobName :
'performance-tests-bqio-java-stream-10gb' + now,
- project : 'apache-beam-testing',
- tempLocation :
'gs://temp-storage-for-perf-tests/loadtests',
- tempRoot :
'gs://temp-storage-for-perf-tests/loadtests',
- writeMethod : 'STREAMING_INSERTS',
- publishToBigQuery : true,
- testBigQueryDataset : 'beam_performance',
- testBigQueryTable : 'bqio_write_10GB_java',
- metricsBigQueryDataset: 'beam_performance',
- metricsBigQueryTable : 'bqio_10GB_results_java_stream',
- sourceOptions : '\'{' +
- '"num_records": 10485760,' +
- '"key_size": 1,' +
- '"value_size": 1024}\'',
- maxNumWorkers : 5,
- numWorkers : 5,
- autoscalingAlgorithm : 'NONE', // Disable autoscale the
worker pool.
+def testJobs = [
+ [
+ title : 'BigQueryIO Streaming Performance Test Java 10
GB',
+ triggerPhrase: 'Run BigQueryIO Streaming Performance Test
Java',
+ jobName :
'beam_BiqQueryIO_Streaming_Performance_Test_Java',
+ itClass :
'org.apache.beam.sdk.bigqueryioperftests.BigQueryIOIT',
+ jobProperties: [
+ project : 'apache-beam-testing',
+ tempLocation :
'gs://temp-storage-for-perf-tests/loadtests',
+ tempRoot :
'gs://temp-storage-for-perf-tests/loadtests',
+ writeMethod : 'STREAMING_INSERTS',
+ testBigQueryDataset : 'beam_performance',
+ testBigQueryTable : 'bqio_write_10GB_java',
+ metricsBigQueryDataset: 'beam_performance',
+ metricsBigQueryTable :
'bqio_10GB_results_java_stream',
+ sourceOptions : """
+ {
+ \\\\"numRecords\\\\":
\\\\"10485760\\\\",
+ \\\\"keySizeBytes\\\\":
\\\\"1\\\\",
+ \\\\"valueSizeBytes\\\\":
\\\\"1024\\\\"
+ }
+ """.trim().replaceAll("\\s", ""),
+ runner : 'DataflowRunner',
+ maxNumWorkers : '5',
+ numWorkers : '5',
+ autoscalingAlgorithm : 'NONE', // Disable autoscale
the worker pool.
+ ]
+ ],
+ [
+ title : 'BigQueryIO Batch Performance Test Java 10 GB',
+ triggerPhrase: 'Run BigQueryIO Batch Performance Test Java',
+ jobName : 'beam_BiqQueryIO_Batch_Performance_Test_Java',
+ itClass :
'org.apache.beam.sdk.bigqueryioperftests.BigQueryIOIT',
+ jobProperties: [
+ project : 'apache-beam-testing',
+ tempLocation :
'gs://temp-storage-for-perf-tests/loadtests',
+ tempRoot :
'gs://temp-storage-for-perf-tests/loadtests',
+ writeMethod : 'FILE_LOADS',
+ testBigQueryDataset : 'beam_performance',
+ testBigQueryTable : 'bqio_write_10GB_java',
+ metricsBigQueryDataset: 'beam_performance',
+ metricsBigQueryTable : 'bqio_10GB_results_java_batch',
+ sourceOptions : """
Review comment:
I tried your suggestion and several other options. Sadly, nothing worked.
This kind of escaping is necessary, because I used the
`enableJavaPerformanceTesting` function from `BeamModulePlugin` - it makes the
test expect pipeline options in JSON formatted array. Next, the options are
parsed to an actual array, expanded with proper Dataflow-related parameters and
written back into a string.
Afterwards, in the Jenkins worker, the options are passed as a bash argument
to a command. At this step the quotes inside the options (sourceOptions are a
JSON-formatted object nested inside a JSON-formatted array) still need to be
escaped for the whole string to be parsed and evaluated properly.
At this point we would either need to modify option parsing inside the
`BeamModulePlugin.enableJavaPerformanceTesting` to automatically add the
escapes or just leave the escapes as they are right now.
@lgajowy WDYT? What should be the way to go?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 315009)
Time Spent: 6h 40m (was: 6.5h)
> Java BigQuery performance tests don't run
> -----------------------------------------
>
> Key: BEAM-8176
> URL: https://issues.apache.org/jira/browse/BEAM-8176
> Project: Beam
> Issue Type: Bug
> Components: testing
> Affects Versions: 2.15.0
> Reporter: Michal Walenia
> Assignee: Michal Walenia
> Priority: Major
> Time Spent: 6h 40m
> Remaining Estimate: 0h
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)