beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <>
Subject [jira] [Commented] (BEAM-3060) Add performance tests for commonly used file-based I/O PTransforms
Date Fri, 24 Nov 2017 16:03:01 GMT


ASF GitHub Bot commented on BEAM-3060:

lgajowy commented on a change in pull request #4149: [BEAM-3060] Add Compressed TextIOIT

 File path: sdks/java/io/file-based-io-tests/src/test/java/org/apache/beam/sdk/io/text/
 @@ -83,25 +90,82 @@ private static String appendTimestamp(String filenamePrefix) {
     return String.format("%s_%s", filenamePrefix, new Date().getTime());
-  @Test
-  public void writeThenReadAll() {
-    PCollection<String> testFilenames = pipeline
-        .apply("Generate sequence", GenerateSequence.from(0).to(numberOfTextLines))
-        .apply("Produce text lines", ParDo.of(new DeterministicallyConstructTestTextLineFn()))
-        .apply("Write content to files", TextIO.write().to(filenamePrefix).withOutputFilenames())
-        .getPerDestinationOutputFilenames().apply(Values.<String>create());
+  /** IO IT with no compression. */
+  @RunWith(JUnit4.class)
 Review comment:
   I double-checked that by running the preCommit job on my machine - those are not fired
in PreCommit phase. Also, out of curiosity 😄 I investigated a little bit the project's
mvn structure:
   besides the `@RunWith(JUnit.class)` annotation that is required by JUnit, we have two mvn
plugins that look (scan) for tests:
     - surefire (looks for unit tests and searches for classes with *Test suffix)
     - failsafe (looks for integration tests and searches for classes with *IT suffix)
   As failsafe is not fired in the PreCommit phase, the tests are not invoked. Please look
at [io parent pom](, where
failsafe plugin is activated only when io-it profile is active. 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:

> Add performance tests for commonly used file-based I/O PTransforms
> ------------------------------------------------------------------
>                 Key: BEAM-3060
>                 URL:
>             Project: Beam
>          Issue Type: Test
>          Components: sdk-java-core
>            Reporter: Chamikara Jayalath
>            Assignee: Szymon Nieradka
> We recently added a performance testing framework [1] that can be used to do following.
> (1) Execute Beam tests using PerfkitBenchmarker
> (2) Manage Kubernetes-based deployments of data stores.
> (3) Easily publish benchmark results. 
> I think it will be useful to add performance tests for commonly used file-based I/O PTransforms
using this framework. I suggest looking into following formats initially.
> (1) AvroIO
> (2) TextIO
> (3) Compressed text using TextIO
> (4) TFRecordIO
> It should be possibly to run these tests for various Beam runners (Direct, Dataflow,
Flink, Spark, etc.) and file-systems (GCS, local, HDFS, etc.) easily.
> In the initial version, tests can be made manually triggerable for PRs through Jenkins.
Later, we could make some of these tests run periodically and publish benchmark results (to
BigQuery) through PerfkitBenchmarker.
> [1]

This message was sent by Atlassian JIRA

View raw message