This is an automated email from the ASF dual-hosted git repository.
jark pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/fluss.git
from 42ccb873f [test] Fix unstable test
RebalanceITCase#testRebalanceForLogTable (#2407)
new 13af6bf0a [flink] Support PARTITION_DYNAMIC sink dynamic shuffle based
on partition traffics (#1784)
new 029bc13ec [flink] Optimize sink statistics calculation to run only
when necessary
new 4f3c4572a [flink] Fix the distribution mode support for FlussSink for
DataStream API
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../fluss/flink/adapter/RuntimeContextAdapter.java | 7 +-
.../apache/fluss/flink/FlinkConnectorOptions.java | 29 +-
.../fluss/flink/adapter/RuntimeContextAdapter.java | 5 +
.../fluss/flink/catalog/FlinkTableFactory.java | 7 +-
.../java/org/apache/fluss/flink/row/RowWithOp.java | 28 +-
.../flink/sink/FlinkRowDataChannelComputer.java | 4 +-
.../org/apache/fluss/flink/sink/FlinkSink.java | 152 +++++++--
.../apache/fluss/flink/sink/FlinkTableSink.java | 30 +-
.../org/apache/fluss/flink/sink/FlussSink.java | 18 +-
.../apache/fluss/flink/sink/FlussSinkBuilder.java | 29 +-
.../sink/serializer/FlussSerializationSchema.java | 3 +
.../serializer/RowDataSerializationSchema.java | 122 ++++++-
.../sink/serializer/SerializerInitContextImpl.java | 15 +-
.../sink/shuffle/AggregatedStatisticsTracker.java | 148 +++++++++
.../shuffle/DataStatistics.java} | 55 +--
.../sink/shuffle/DataStatisticsCoordinator.java | 367 +++++++++++++++++++++
.../shuffle/DataStatisticsCoordinatorProvider.java | 32 +-
.../flink/sink/shuffle/DataStatisticsOperator.java | 169 ++++++++++
.../shuffle/DataStatisticsOperatorFactory.java | 93 ++++++
.../sink/shuffle/DataStatisticsSerializer.java | 144 ++++++++
.../fluss/flink/sink/shuffle/DistributionMode.java | 69 ++++
.../flink/sink/shuffle/PartitionAssignment.java | 16 +-
.../fluss/flink/sink/shuffle/StatisticsEvent.java | 53 +++
.../flink/sink/shuffle/StatisticsOrRecord.java | 117 +++++++
.../shuffle/StatisticsOrRecordChannelComputer.java | 313 ++++++++++++++++++
.../sink/shuffle/StatisticsOrRecordSerializer.java | 222 +++++++++++++
.../shuffle/StatisticsOrRecordTypeInformation.java | 118 +++++++
.../fluss/flink/sink/shuffle/StatisticsUtil.java | 56 ++++
.../sink/shuffle/WeightedBucketIdAssignment.java | 79 +++++
.../sink/shuffle/WeightedRandomAssignment.java | 157 +++++++++
.../fluss/flink/sink/writer/FlinkSinkWriter.java | 3 +-
.../sink/FlinkRowDataChannelComputerTest.java | 2 +-
.../fluss/flink/sink/FlinkTableSinkITCase.java | 136 ++++++--
.../fluss/flink/sink/FlussSinkBuilderTest.java | 19 +-
.../sink/shuffle/DataStatisticOperatorTest.java | 114 +++++++
.../shuffle/DataStatisticsCoordinatorTest.java | 177 ++++++++++
.../sink/shuffle/DataStatisticsSerializerTest.java | 53 +++
.../fluss/flink/sink/shuffle/MockRandom.java | 28 +-
.../sink/shuffle/PartitionAssignmentTest.java | 86 +++++
.../StatisticsOrRecordChannelComputerTest.java | 197 +++++++++++
.../paimon/flink/FlinkUnionReadLogTableITCase.java | 2 +
website/docs/engine-flink/options.md | 33 +-
42 files changed, 3350 insertions(+), 157 deletions(-)
copy fluss-flink/{fluss-flink-common =>
fluss-flink-1.18}/src/main/java/org/apache/fluss/flink/adapter/RuntimeContextAdapter.java
(82%)
create mode 100644
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/sink/shuffle/AggregatedStatisticsTracker.java
copy
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/{source/event/PartitionsRemovedEvent.java
=> sink/shuffle/DataStatistics.java} (50%)
create mode 100644
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/sink/shuffle/DataStatisticsCoordinator.java
copy
fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowBigIntColumnVector.java
=>
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/sink/shuffle/DataStatisticsCoordinatorProvider.java
(50%)
create mode 100644
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/sink/shuffle/DataStatisticsOperator.java
create mode 100644
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/sink/shuffle/DataStatisticsOperatorFactory.java
create mode 100644
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/sink/shuffle/DataStatisticsSerializer.java
create mode 100644
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/sink/shuffle/DistributionMode.java
copy fluss-common/src/main/java/org/apache/fluss/utils/WrappingProxy.java =>
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/sink/shuffle/PartitionAssignment.java
(63%)
create mode 100644
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/sink/shuffle/StatisticsEvent.java
create mode 100644
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/sink/shuffle/StatisticsOrRecord.java
create mode 100644
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/sink/shuffle/StatisticsOrRecordChannelComputer.java
create mode 100644
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/sink/shuffle/StatisticsOrRecordSerializer.java
create mode 100644
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/sink/shuffle/StatisticsOrRecordTypeInformation.java
create mode 100644
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/sink/shuffle/StatisticsUtil.java
create mode 100644
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/sink/shuffle/WeightedBucketIdAssignment.java
create mode 100644
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/sink/shuffle/WeightedRandomAssignment.java
create mode 100644
fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/sink/shuffle/DataStatisticOperatorTest.java
create mode 100644
fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/sink/shuffle/DataStatisticsCoordinatorTest.java
create mode 100644
fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/sink/shuffle/DataStatisticsSerializerTest.java
copy
fluss-rpc/src/main/java/org/apache/fluss/rpc/netty/server/ShutdownRequest.java
=>
fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/sink/shuffle/MockRandom.java
(60%)
create mode 100644
fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/sink/shuffle/PartitionAssignmentTest.java
create mode 100644
fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/sink/shuffle/StatisticsOrRecordChannelComputerTest.java