fredia [Wed, 13 Apr 2022 07:27:19 +0000 (15:27 +0800)]
[FLINK-27214] Fix rescaling benchmark build failed
leiyanfei.lyf [Mon, 5 Jul 2021 03:33:04 +0000 (11:33 +0800)]
[FLINK-23399][checkpoint] Add a benchmark for rescaling
Yun Gao [Mon, 21 Mar 2022 17:13:49 +0000 (01:13 +0800)]
[hotfix] Bump Flink to 1.16-SNAPSHOT
Piotr Nowojski [Fri, 18 Mar 2022 08:42:12 +0000 (09:42 +0100)]
[hotfix] Move regression-check script to versioned jenkinsfile
Piotr Nowojski [Fri, 18 Mar 2022 08:40:16 +0000 (09:40 +0100)]
[hotfix] Do not spam slack with successful builds
Piotr Nowojski [Wed, 16 Mar 2022 11:30:51 +0000 (12:30 +0100)]
[FLINK-26682] Add regression detection script
kevin.cyj [Thu, 10 Feb 2022 07:28:04 +0000 (15:28 +0800)]
[FLINK-25959] Add micro-benchmarks for the sort-based blocking shuffle
kevin.cyj [Wed, 26 Jan 2022 07:47:16 +0000 (15:47 +0800)]
[FLINK-25704] Fix the blocking partition benchmark regression caused by FLINK-25637
FLINK-25637 changed the default blocking shuffle implementation from hash-shuffle to sort-shuffle which caused some benchmark regression. This patch tries to fix the regression by switching back to hash-shuffle for those benchmark tests with regression (NettyShuffleEnvironmentOptions.NETWORK_SORT_SHUFFLE_MIN_PARALLELISM is the config option deciding which blocking shuffle implementation to use. If consumer task parallelism is smaller than this config value, the hash-based blocking shuffle will be used, otherwise, the sort-based blocking shuffle will be used. Integer.MAX_VALUE is set in this patch to always use hash-shuffle). For more information about the regression, please refer to https://issues.apache.org/jira/browse/FLINK-25704.
Anton Kalashnikov [Mon, 31 Jan 2022 10:41:42 +0000 (11:41 +0100)]
[FLINK-25891] Upgraded version of flink.shaded.version and netty.tcnative.version
Anton Kalashnikov [Mon, 31 Jan 2022 08:53:55 +0000 (09:53 +0100)]
[hotfix] Corrected java11 build name
Anton Kalashnikov [Fri, 28 Jan 2022 15:15:28 +0000 (16:15 +0100)]
[FLINK-25246] Added universal jenkins script to repository
Anton Kalashnikov [Thu, 20 Jan 2022 11:17:49 +0000 (12:17 +0100)]
[FLINK-25246] Parametrized executable for exec plugin
愚鲤 [Wed, 12 Jan 2022 14:48:14 +0000 (22:48 +0800)]
[FLINK-25039]Remove the flink-examples-batch_2.12 test-jar
愚鲤 [Sun, 21 Nov 2021 08:14:05 +0000 (16:14 +0800)]
[FLINK-24918][Runtime/State Backends]Support to specify the data dir for state benchmark
愚鲤 [Mon, 15 Nov 2021 15:08:22 +0000 (23:08 +0800)]
[hotfix]Fix the tab align problem in pom.xml
Anton Kalashnikov [Thu, 6 Jan 2022 12:13:16 +0000 (13:13 +0100)]
[FLINK-25556] Disabled the waiting for final checkpoint for all benchmarks.
This closes #42.
Piotr Nowojski [Mon, 1 Nov 2021 17:04:20 +0000 (18:04 +0100)]
[FLINK-24659] Drop RemoteBenchmarkBase.miniCluster field
Before this change all children of RemoteBenchmarkBase worked incorrectly since they
configured the environment for miniCluster from FlinkEnvironmentContext but in reality,
they used miniCluster from RemoteBenchmarkBase.
Piotr Nowojski [Mon, 1 Nov 2021 17:00:56 +0000 (18:00 +0100)]
[hotfix] Reformat java code
Piotr Nowojski [Fri, 29 Oct 2021 13:30:56 +0000 (15:30 +0200)]
[FLINK-24018] Remove Scala dependencies from flink dependencies
Piotr Nowojski [Wed, 13 Oct 2021 10:30:55 +0000 (12:30 +0200)]
[FLINK-24531] Fix connection time out when checking the backpressure
Piotr Nowojski [Wed, 13 Oct 2021 10:27:20 +0000 (12:27 +0200)]
[hotfix] Reformat CheckpointingTimeBenchmark
Dawid Wysakowicz [Wed, 6 Oct 2021 17:36:39 +0000 (19:36 +0200)]
[FLINK-24231] Benchmark for buffer debloating multiple gates
Dawid Wysakowicz [Tue, 5 Oct 2021 08:35:54 +0000 (10:35 +0200)]
[hotfix] Shorten the sleep period in checkpointing benchmarks
This commit replaces a Thread.sleep(1) with busy waiting of ~200ns. The
modifications makes the record flow more stable, which results in a more
stable size of checkpointed channels and thus checkpoints time.
This closes #34
Piotr Nowojski [Thu, 7 Oct 2021 10:33:52 +0000 (12:33 +0200)]
[FLINK-24471] Add microbenchmark for throughput with debloating enabled
Piotr Nowojski [Fri, 8 Oct 2021 08:48:31 +0000 (10:48 +0200)]
[hotfix] Add todos for state benchmarks
Dawid Wysakowicz [Mon, 4 Oct 2021 16:45:45 +0000 (18:45 +0200)]
[hotfix] Upgrade to scala 2.12
In Flink 1.15 we will drop scala 2.11. Therefore we should upgrade
benchmarks to scala 2.12 as well.
Dawid Wysakowicz [Wed, 22 Sep 2021 16:37:06 +0000 (18:37 +0200)]
[FLINK-24230] Buffer debloating microbenchmark for single gate
Added a test that first does an environment setup.
1. Submits a job
2. Waits for it being backpressured
3. Waits some extra time for buffer debloating to stabilize
The above steps are not measured. After that we trigger a single
checkpoint and measure the time for it to complete.
Dawid Wysakowicz [Mon, 27 Sep 2021 10:02:59 +0000 (12:02 +0200)]
[hotfix] Allow FlinkEnvironmentContext#setUp to throw Exception
Dawid Wysakowicz [Fri, 24 Sep 2021 16:54:15 +0000 (18:54 +0200)]
[hotfix] Optimize imports
Dawid Wysakowicz [Tue, 21 Sep 2021 11:39:40 +0000 (13:39 +0200)]
[hotfix] Fix a typo in RecordSource
Dawid Wysakowicz [Thu, 16 Sep 2021 18:16:20 +0000 (20:16 +0200)]
[FLINK-24300] Added benchmarks for idling chained sources
This closes #31
Piotr Nowojski [Tue, 31 Aug 2021 12:13:49 +0000 (14:13 +0200)]
[FLINK-23468] Enable fail benchmark runs on error
Xintong Song [Sat, 28 Aug 2021 01:30:46 +0000 (09:30 +0800)]
[hotfix] Bump Flink to 1.15-SNAPSHOT
Chesnay Schepler [Fri, 20 Aug 2021 08:22:46 +0000 (10:22 +0200)]
[FLINK-23879] Fix compilation issue
Piotr Nowojski [Tue, 10 Aug 2021 09:53:09 +0000 (11:53 +0200)]
[FLINK-23689] Increase ProcessingTimerBenchmark length
Previous 1000 records was forced upon this benchmark because of
very slow production code. After resolving FLINK-23689 we can
safely increase number of records. Otherwise we would be testing
setup time of a Flink job.
Piotr Nowojski [Tue, 10 Aug 2021 09:52:23 +0000 (11:52 +0200)]
[hotfix] Auto format ProcessingTimerBenchmark
Chesnay Schepler [Mon, 26 Jul 2021 12:51:42 +0000 (14:51 +0200)]
[FLINK-23393] Fix logging setup
- remove log4j1 dependencies
- rename log4j.properties files
- rename the production log4j2.properties file to log4j2-test.properties file, because log4j first searches for test configuration files, and the test-jar dependencies put theirs on the classpath
- remove test log4j2-test.properties file, because both prod/test files have the same name, and only the production one was actually used in all cases
Chesnay Schepler [Mon, 26 Jul 2021 11:31:22 +0000 (13:31 +0200)]
[FLINK-23502] Align native netty version
The used version was quite out-dated and no longer compatible with the flink-shaded-netty version used by Flink.
This also implies that the SSL benchmarks were potentially not accurate.
Chesnay Schepler [Mon, 26 Jul 2021 11:08:26 +0000 (13:08 +0200)]
[hotfix] Do not use URI for TMP_DIRS
The tmp dir parsing splits paths containing a scheme, so using URIs provides no value. In fact it provides negative value because consumers may not even use the directory we originally configured!
Chesnay Schepler [Mon, 26 Jul 2021 09:22:54 +0000 (11:22 +0200)]
[FLINK-23491] Remove explicit flink-runtime dependency
Chesnay Schepler [Thu, 22 Jul 2021 09:29:30 +0000 (11:29 +0200)]
[FLINK-23469] Fix MiniCluster leak
Chesnay Schepler [Thu, 22 Jul 2021 06:41:17 +0000 (08:41 +0200)]
[FLINK-23464] Migrate GlobalDataExchangeMode usage
Piotr Nowojski [Wed, 21 Jul 2021 14:09:37 +0000 (16:09 +0200)]
[hotfix] Improve README
Jiayi Liao [Wed, 21 Jul 2021 03:11:45 +0000 (11:11 +0800)]
[FLINK-23208] Add a benchmark for processing timers
Chesnay Schepler [Tue, 20 Jul 2021 08:00:41 +0000 (10:00 +0200)]
[FLINK-23392] Exclude startup/shutdown time from benchmarks (#22)
Sets up a MiniCluster in the FlinkEnvironmentContext, which all jobs will be run against.
This avoids including MiniCluster setup costs in the benchmarked code.
Yun Tang [Fri, 16 Jul 2021 02:30:54 +0000 (10:30 +0800)]
[FLINK-23398] Exclude signature files from shaded benchmarks.jar (#24)
Co-authored-by: Chesnay Schepler <chesnay@apache.org>
Piotr Nowojski [Thu, 15 Jul 2021 10:57:05 +0000 (12:57 +0200)]
Improve code structure README
Chesnay Schepler [Wed, 14 Jul 2021 12:49:12 +0000 (14:49 +0200)]
[hotfix] Add missing @Override annotations
Chesnay Schepler [Wed, 14 Jul 2021 12:48:59 +0000 (14:48 +0200)]
[FLINK-23383] Prevent duplicate setUp/tearDown calls
Dawid Wysakowicz [Tue, 6 Jul 2021 14:52:57 +0000 (16:52 +0200)]
[FLINK-23284] Reset the TARGET_COUNT_REACHED_LATCH before each execution of the job
The Level.Iteration is not enough to clear up the LATCH before every run of the readFileSplit method. There might be multiple calls to the benchmarked method within a single iteration. If it is the case, the second invocation did not have the latch properly reset, which resulted in all records being emitted in the finishing stage of the ContinuousFileReadingOperator. This led to testing a different behaviour than the envisioned.
Thesharing [Tue, 29 Jun 2021 03:30:44 +0000 (11:30 +0800)]
[FLINK-23078]Add teardown method for all scheduler benchmarks
Thesharing [Wed, 23 Jun 2021 08:39:53 +0000 (16:39 +0800)]
[hotfix] Rename SchedulerBenchmarkBase to SchedulerBenchmarkExecutorBase
Thesharing [Fri, 25 Jun 2021 06:09:28 +0000 (14:09 +0800)]
[FLINK-23153] Remove the reference of FutureUtils in RecordSource
Chesnay Schepler [Tue, 22 Jun 2021 06:31:50 +0000 (08:31 +0200)]
[hotfix] Remove SchedulerBenchmark#teardown
Chesnay Schepler [Tue, 22 Jun 2021 06:24:14 +0000 (08:24 +0200)]
Update SchedulerBenchmarkBase.java
Chesnay Schepler [Tue, 22 Jun 2021 06:23:48 +0000 (08:23 +0200)]
[FLINK-23078] Fix import
Piotr Nowojski [Wed, 5 May 2021 13:01:28 +0000 (15:01 +0200)]
[FLINK-22973] Provide unaligned checkpoint with timeouts benchmark
Dawid Wysakowicz [Thu, 17 Jun 2021 11:50:52 +0000 (13:50 +0200)]
Dawid Wysakowicz [Tue, 8 Jun 2021 12:45:04 +0000 (14:45 +0200)]
[FLINK-22881] Parameterize InputBenchmark test to use FLIP-27 source
This closes #13
Piotr Nowojski [Tue, 25 May 2021 16:39:34 +0000 (18:39 +0200)]
[hotfix] Fix benchmarks not compiling after FLINK-18934
Dawid Wysakowicz [Thu, 6 May 2021 09:01:23 +0000 (11:01 +0200)]
[hotfix] Bump Flink to 1.14-SNAPSHOT
Arvid Heise [Sat, 17 Apr 2021 07:16:32 +0000 (09:16 +0200)]
[FLINK-22290][checkpointing] Use duration for alignment timeout #2.
Arvid Heise [Thu, 15 Apr 2021 13:09:14 +0000 (15:09 +0200)]
[FLINK-22290][checkpointing] Use duration for alignment timeout.
Yuan Mei [Fri, 26 Mar 2021 10:54:59 +0000 (18:54 +0800)]
[hotfix] Fix Readme instructions that are easy to break
Thesharing [Thu, 25 Mar 2021 11:39:40 +0000 (19:39 +0800)]
[FLINK-21731] Add benchmarks for DefaultScheduler's creation, scheduling and deploying
Thesharing [Wed, 3 Mar 2021 11:10:23 +0000 (19:10 +0800)]
[FLINK-21526] Replace scheduler benchmarks with wrapper classes
Myasuka [Mon, 8 Mar 2021 07:32:12 +0000 (15:32 +0800)]
[FLINK-21658] Adopts JobGraphBuilder to create job graph
Thesharing [Fri, 5 Mar 2021 07:05:07 +0000 (15:05 +0800)]
[FLINK-21625] Fix compilation errors due to changes related to scheduler benchmarks
The related changes are located at FLINK-21580 and FLINK-21347.
Chesnay Schepler [Fri, 26 Feb 2021 12:47:25 +0000 (13:47 +0100)]
[hotfix] Adjust TaskExecutionState construction
Thesharing [Mon, 25 Jan 2021 03:15:14 +0000 (11:15 +0800)]
[FLINK-20612] Exclude scheduler benchmarks in pom.xml
Thesharing [Tue, 22 Dec 2020 11:29:18 +0000 (19:29 +0800)]
[FLINK-20612] Add benchmarks for scheduler
The benchmarks involve the following parts:
* Topology building
* Scheduling
* Deploying
* Failover
* Partition release
Thesharing [Tue, 2 Feb 2021 06:46:37 +0000 (14:46 +0800)]
[hotfix] Bump Flink to 1.13-SNAPSHOT
Thesharing [Tue, 22 Dec 2020 11:27:04 +0000 (19:27 +0800)]
[hotfix] Update pom.xml to use test utilities in flink-runtime
Piotr Nowojski [Tue, 3 Nov 2020 09:39:45 +0000 (10:39 +0100)]
[FLINK-19680] Explicitly set alignment timeout to 0 in the existing Unaligned Checkpoints benchmarks
This should fix the current benchmark time outing and will make the benchmark independent of any potential future default value changes.
Dawid Wysakowicz [Thu, 29 Oct 2020 14:12:45 +0000 (15:12 +0100)]
[FLINK-19884] Add benchmarks for batch-style execution for bounded keyed streams
Dawid Wysakowicz [Thu, 29 Oct 2020 13:33:10 +0000 (14:33 +0100)]
[hotfix] Fix metadata in pom.xml
This commit adds missing information such as scm, link to licenses etc.
Moreover it adjusts the naming of artifact and group-id to adhere to
other projects under Apache Flink umbrella.
Zhijiang [Wed, 21 Oct 2020 03:17:42 +0000 (05:17 +0200)]
[FLINK-19745][network] Supplement micro-benchmark for bounded blocking partition in remote channel case
The benchmark results as follow:
Benchmark Mode Cnt Score Error Units
BlockingPartitionRemoteChannelBenchmark.remoteFilePartition thrpt 30 7109.649 ± 197.832 ops/ms
Zhijiang [Wed, 21 Oct 2020 03:13:44 +0000 (05:13 +0200)]
[FLINK-19745][refactor] Introduce StreamGraphUtils for building respective job in benchmark
Zhijiang [Tue, 20 Oct 2020 11:04:54 +0000 (13:04 +0200)]
[FLINK-19745][refactor] Introduce RemoteBenchmarkBase for building cluster to perform benchmark via network shuffle
Piotr Nowojski [Fri, 4 Sep 2020 10:18:34 +0000 (12:18 +0200)]
[hotfix] Fix compile error after dropping disableSysoutLogging
Piotr Nowojski [Wed, 26 Aug 2020 14:48:23 +0000 (16:48 +0200)]
Bump default Flink version o 1.12
Piotr Nowojski [Fri, 21 Feb 2020 15:36:05 +0000 (16:36 +0100)]
[FLINK-18905] Provide basic benchmarks for MultipleInputStreamOperator
Piotr Nowojski [Mon, 31 Aug 2020 13:46:54 +0000 (15:46 +0200)]
[hotfix] Do not restart benchmarks in case of failures
This is in order to prevent faulty benchmarkes being restarted indefinetely
effectively dead/livelocking a benchmark.
Zhijiang [Mon, 24 Aug 2020 10:19:10 +0000 (12:19 +0200)]
[FLINK-19003][checkpointing] Add micro-benchmark for unaligned checkpoints
The benchmark results as follows:
Benchmark (mode) Mode Cnt Score Error Units
UnalignedCheckpointTimeBenchmark.unalignedCheckpoint REMOTE thrpt 30 46.774 ± 3.111 ops/min
UnalignedCheckpointTimeBenchmark.unalignedCheckpoint LOCAL thrpt 30 55.811 ± 3.590 ops/min
Benchmark (mode) Mode Cnt Score Error Units
RemoteChannelThroughputBenchmark.remoteRebalance ALIGNED thrpt 30 14499.562 ± 1019.582 ops/ms
RemoteChannelThroughputBenchmark.remoteRebalance UNALIGNED thrpt 30 13393.426 ± 587.422 ops/ms
Grebennikov Roman [Mon, 20 Jul 2020 10:06:57 +0000 (12:06 +0200)]
[FLINK-18631] benchmark for scala ADT source
Nico Kruber [Fri, 5 Jun 2020 09:46:38 +0000 (11:46 +0200)]
[FLINK-17287][github] Disable merge commit button
Nico Kruber [Thu, 14 May 2020 21:58:24 +0000 (23:58 +0200)]
[FLINK-17705][license] set up apache-rat-plugin in mvn
Roman Khachatryan [Fri, 29 May 2020 13:40:07 +0000 (15:40 +0200)]
[hotfix] Apply workaround for JDK.11 TLS issue
Prevent "No PSK available" error while fetching
artifacts from maven repo on travis.
See https://bugs.openjdk.java.net/browse/JDK-
8213202
Roman Khachatryan [Thu, 28 May 2020 22:20:00 +0000 (00:20 +0200)]
[FLINK-16057] Don't end input in ContinuousFileReaderOperator Benchmark
Currently, END_OF_INPUT is sent once all splits were emitted.
Thus, all subsequent reads in ContinuousFileReaderOperator are made in
CLOSING state in a simple loop (MailboxExecutor.isIdle is always true).
Which is not a scenario this benchmark is intended for.
This change makes source to wait until all elements reach sink.
Nico Kruber [Mon, 18 May 2020 13:29:30 +0000 (15:29 +0200)]
[hotfix] update flink version in README
Nico Kruber [Thu, 14 May 2020 21:36:36 +0000 (23:36 +0200)]
[FLINK-17704][mvn] allow execution of arbitrary benchmarks via a property
Example:
mvn -Dflink.version=1.11-SNAPSHOT exec:exec -Dbenchmarks="org.apache.flink.benchmark.StreamNetworkThroughputBenchmarkExecutor"
Nico Kruber [Thu, 14 May 2020 21:19:57 +0000 (23:19 +0200)]
[FLINK-17703][mvn] fix 'benchmark' profile not active by default anymore
This adapts the profiles to include the netty-tcnative dependency set via the
'netty-tcnative.flavor' property which can be overridden for the
statically-linked library if needed. The dynamically-linked dependency does not
need another profile activation and thus 'benchmark' is active by default again.
Nico Kruber [Wed, 8 Apr 2020 17:01:13 +0000 (19:01 +0200)]
[FLINK-17057][network] add OpenSSL-based benchmarks
These can be executed either with dynamically-linked OpenSSL libraries or
statically-linked (and manually-provided) ones. Instructions are in README.md.
Current results on my PC:
- JDK 8:
Benchmark (channelsFlushTimeout) Mode Cnt Score Error Units
StreamNetworkThroughputBenchmarkExecutor.networkThroughput 1000,100ms,SSL thrpt 30 11760.342 ± 282.592 ops/ms
StreamNetworkThroughputBenchmarkExecutor.networkThroughput 1000,100ms,OpenSSL thrpt 30 27889.053 ± 893.833 ops/ms
- JDK11:
Benchmark (channelsFlushTimeout) Mode Cnt Score Error Units
StreamNetworkThroughputBenchmarkExecutor.networkThroughput 1000,100ms,SSL thrpt 30 20628.476 ± 628.461 ops/ms
StreamNetworkThroughputBenchmarkExecutor.networkThroughput 1000,100ms,OpenSSL thrpt 30 27289.926 ± 962.960 ops/ms
zhuzhu.zz [Mon, 27 Apr 2020 09:29:27 +0000 (17:29 +0800)]
[FLINK-17410][benchmarks] Adapt BlockingPartitionBenchmark to latest StreamGraph interface
caoyingjie [Sun, 26 Apr 2020 03:44:49 +0000 (11:44 +0800)]
[FLINK-17299][benchmarks] Add remote channel rebalance benchmark with frequent checkpoint (#57)
The following is the benchmark result:
Benchmark Mode Cnt Score
RemoteChannelThroughputBenchmark.remoteRebalance thrpt 30 18377.411 ± 1774.382 ops/ms
Nico Kruber [Wed, 8 Apr 2020 16:26:58 +0000 (18:26 +0200)]
[FLINK-17056][JMH] fix main methods running unrelated benchmarks
Nico Kruber [Tue, 31 Mar 2020 18:24:51 +0000 (20:24 +0200)]
[FLINK-16890] add Avro GenericRecord benchmark
Nico Kruber [Tue, 31 Mar 2020 18:21:31 +0000 (20:21 +0200)]
[hotfix] fix import order in SerializationFrameworkMiniBenchmarks
Nico Kruber [Mon, 25 Mar 2019 16:12:07 +0000 (17:12 +0100)]
[FLINK-16460][benchmark] add Protobuf-based serialization benchmarks
Nico Kruber [Mon, 9 Mar 2020 16:53:15 +0000 (17:53 +0100)]
[FLINK-16459][benchmark] add Apache Thrift based serialization benchmarks (#52)
Unfortunately, it is not possible to download the thrift executable from maven
central and use that to compile the data definition into a Java class. Since no
extra runtime dependencies are needed once that is done, we provide the
generated Java classes in the repository.
If you want to create updated Java Thrift classes, you need to install the
thrift binary with a matching version to the dependency inside the pom.xml or
override it and generate classes via
> mvn generate-sources -Pgenerate-thrift -Dthrift.version=0.13.0
or more dynamically:
> mvn generate-sources -Pgenerate-thrift -Dthrift.version=$(thrift --version | rev | cut -d' ' -f 1 | rev)
Be sure to use the same thrift version when compiling and running
tests/benchmarks as well to avoid potential conflicts.