From c3172ea53628d94c03886fe8f1da637421cb4032 Mon Sep 17 00:00:00 2001 From: Jark Wu Date: Thu, 13 Mar 2025 16:18:21 +0800 Subject: [PATCH 1/2] [flink] Rename module "fluss-connector-flink" to "fluss-flink" --- .../fluss-flink-common}/pom.xml | 6 ++-- .../fluss}/flink/FlinkConnectorOptions.java | 4 +-- .../fluss}/flink/catalog/FlinkCatalog.java | 22 ++++++------- .../flink/catalog/FlinkCatalogFactory.java | 4 +-- .../flink/catalog/FlinkCatalogOptions.java | 2 +- .../flink/catalog/FlinkTableFactory.java | 16 +++++----- .../fluss}/flink/lakehouse/LakeCatalog.java | 2 +- .../lakehouse/LakeRecordRecordEmitter.java | 10 +++--- .../flink/lakehouse/LakeSplitGenerator.java | 14 ++++---- .../lakehouse/LakeSplitReaderGenerator.java | 16 +++++----- .../flink/lakehouse/LakeSplitSerializer.java | 14 ++++---- .../lakehouse/LakeSplitStateInitializer.java | 14 ++++---- .../flink/lakehouse/LakeTableFactory.java | 2 +- .../lakehouse/paimon/reader/KeyValueRow.java | 2 +- .../paimon/reader/PaimonRowWrapper.java | 2 +- .../PaimonSnapshotAndLogSplitScanner.java | 4 +-- .../paimon/reader/PaimonSnapshotScanner.java | 2 +- .../paimon/reader/ScanRecordWrapper.java | 2 +- .../paimon/reader/SortMergeReader.java | 2 +- .../split/PaimonSnapshotAndFlussLogSplit.java | 4 +-- .../PaimonSnapshotAndFlussLogSplitState.java | 4 +-- .../paimon/split/PaimonSnapshotSplit.java | 4 +-- .../split/PaimonSnapshotSplitState.java | 4 +-- .../fluss}/flink/metrics/FlinkCounter.java | 2 +- .../fluss}/flink/metrics/FlinkGauge.java | 2 +- .../fluss}/flink/metrics/FlinkHistogram.java | 2 +- .../fluss}/flink/metrics/FlinkMeter.java | 2 +- .../flink/metrics/FlinkMetricRegistry.java | 2 +- .../fluss}/flink/row/FlinkAsFlussRow.java | 2 +- .../alibaba/fluss}/flink/sink/FlinkSink.java | 8 ++--- .../fluss}/flink/sink/FlinkTableSink.java | 10 +++--- .../flink/sink/writer/AppendSinkWriter.java | 2 +- .../flink/sink/writer/FlinkSinkWriter.java | 8 ++--- .../flink/sink/writer/UpsertSinkWriter.java | 2 +- .../fluss}/flink/source/FlinkSource.java | 20 ++++++------ .../fluss}/flink/source/FlinkTableSource.java | 20 ++++++------ .../source/emitter/FlinkRecordEmitter.java | 14 ++++---- .../enumerator/FlinkSourceEnumerator.java | 26 +++++++-------- .../BucketOffsetsRetrieverImpl.java | 4 +-- .../EarliestOffsetsInitializer.java | 6 ++-- .../initializer/LatestOffsetsInitializer.java | 2 +- .../NoStoppingOffsetsInitializer.java | 2 +- .../initializer/OffsetsInitializer.java | 4 +-- .../SnapshotOffsetsInitializer.java | 2 +- .../TimestampOffsetsInitializer.java | 2 +- .../PartitionBucketsUnsubscribedEvent.java | 2 +- .../source/event/PartitionsRemovedEvent.java | 2 +- .../lookup/FlinkAsyncLookupFunction.java | 12 +++---- .../source/lookup/FlinkLookupFunction.java | 10 +++--- .../flink/source/lookup/LookupNormalizer.java | 2 +- .../metrics/FlinkSourceReaderMetrics.java | 4 +-- .../source/reader/BoundedSplitReader.java | 6 ++-- .../reader/FlinkRecordsWithSplitIds.java | 4 +-- .../source/reader/FlinkSourceReader.java | 22 ++++++------- .../source/reader/FlinkSourceSplitReader.java | 16 +++++----- .../source/reader/MutableRecordAndPos.java | 2 +- .../flink/source/reader/RecordAndPos.java | 4 +-- .../flink/source/reader/SplitScanner.java | 2 +- .../fetcher/FlinkSourceFetcherManager.java | 8 ++--- .../source/split/HybridSnapshotLogSplit.java | 2 +- .../split/HybridSnapshotLogSplitState.java | 2 +- .../fluss}/flink/source/split/LogSplit.java | 2 +- .../flink/source/split/LogSplitState.java | 4 +-- .../flink/source/split/SnapshotSplit.java | 2 +- .../flink/source/split/SourceSplitBase.java | 2 +- .../source/split/SourceSplitSerializer.java | 4 +-- .../flink/source/split/SourceSplitState.java | 2 +- .../FlussSourceEnumeratorStateSerializer.java | 2 +- .../source/state/SourceEnumeratorState.java | 2 +- .../flink/utils/CatalogExceptionUtils.java | 2 +- .../flink/utils/CatalogPropertiesUtils.java | 2 +- .../fluss}/flink/utils/DataLakeUtils.java | 2 +- .../utils/FlinkConnectorOptionsUtils.java | 12 +++---- .../fluss}/flink/utils/FlinkConversions.java | 10 +++--- .../utils/FlinkRowToFlussRowConverter.java | 4 +-- .../flink/utils/FlinkTypeToFlussType.java | 2 +- .../fluss}/flink/utils/FlinkUtils.java | 2 +- .../utils/FlussRowToFlinkRowConverter.java | 4 +-- .../flink/utils/FlussTypeToFlinkType.java | 2 +- .../fluss}/flink/utils/PushdownUtils.java | 8 ++--- .../org.apache.flink.table.factories.Factory | 2 +- .../flink/catalog/FlinkCatalogITCase.java | 12 +++---- .../flink/catalog/FlinkCatalogTest.java | 14 ++++---- .../flink/catalog/TestSchemaResolver.java | 2 +- .../flink/metrics/FlinkMetricsITCase.java | 6 ++-- .../fluss}/flink/row/FlinkAsFlussRowTest.java | 2 +- .../flink/sink/FlinkSinkWriterTest.java | 10 +++--- .../flink/sink/FlinkTableSinkITCase.java | 8 ++--- .../source/FlinkTableSourceBatchITCase.java | 6 ++-- .../FlinkTableSourceFailOverITCase.java | 12 +++---- .../flink/source/FlinkTableSourceITCase.java | 6 ++-- .../enumerator/FlinkSourceEnumeratorTest.java | 20 ++++++------ .../lookup/FlinkLookupFunctionTest.java | 8 ++--- .../metrics/FlinkSourceReaderMetricsTest.java | 12 +++---- .../source/reader/BoundedSplitReaderTest.java | 2 +- .../source/reader/FlinkSourceReaderTest.java | 12 +++---- .../reader/FlinkSourceSplitReaderTest.java | 14 ++++---- .../split/SourceSplitSerializerTest.java | 8 ++--- .../SourceEnumeratorStateSerializerTest.java | 4 +-- .../source/state/SourceSplitStateTest.java | 10 +++--- .../flink/source/testutils/FlinkTestBase.java | 2 +- .../source/testutils/RecordAndPosAssert.java | 4 +-- .../flink/utils/CatalogTableTestUtils.java | 2 +- .../utils/FlinkConnectorOptionsUtilTest.java | 6 ++-- .../flink/utils/FlinkConversionsTest.java | 12 +++---- .../FlinkRowToFlussRowConverterTest.java | 6 ++-- .../FlussRowToFlinkRowConverterTest.java | 4 +-- .../org/apache/flink/api/common/JobInfo.java | 0 .../org.junit.jupiter.api.extension.Extension | 0 .../src/test/resources/log4j2-test.properties | 0 {fluss-connectors => fluss-flink}/pom.xml | 6 ++-- fluss-kafka/pom.xml | 2 +- .../paimon/flink/FlinkUnionReadTestBase.java | 2 +- .../paimon/flink/LakeTableEnumeratorTest.java | 12 +++---- .../source/FlussDatabaseSyncSourceITCase.java | 4 +-- .../testutils/TestingDatabaseSyncSink.java | 4 +-- fluss-test-coverage/pom.xml | 32 +++++++++---------- pom.xml | 2 +- 118 files changed, 370 insertions(+), 370 deletions(-) rename {fluss-connectors/fluss-connector-flink => fluss-flink/fluss-flink-common}/pom.xml (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/FlinkConnectorOptions.java (98%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/catalog/FlinkCatalog.java (96%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/catalog/FlinkCatalogFactory.java (94%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/catalog/FlinkCatalogOptions.java (94%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/catalog/FlinkTableFactory.java (94%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/lakehouse/LakeCatalog.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/lakehouse/LakeRecordRecordEmitter.java (83%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/lakehouse/LakeSplitGenerator.java (96%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/lakehouse/LakeSplitReaderGenerator.java (89%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/lakehouse/LakeSplitSerializer.java (88%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/lakehouse/LakeSplitStateInitializer.java (67%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/lakehouse/LakeTableFactory.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/lakehouse/paimon/reader/KeyValueRow.java (95%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/lakehouse/paimon/reader/PaimonRowWrapper.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/lakehouse/paimon/reader/PaimonSnapshotAndLogSplitScanner.java (98%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/lakehouse/paimon/reader/PaimonSnapshotScanner.java (98%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/lakehouse/paimon/reader/ScanRecordWrapper.java (98%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/lakehouse/paimon/reader/SortMergeReader.java (99%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/lakehouse/paimon/split/PaimonSnapshotAndFlussLogSplit.java (96%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/lakehouse/paimon/split/PaimonSnapshotAndFlussLogSplitState.java (91%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/lakehouse/paimon/split/PaimonSnapshotSplit.java (95%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/lakehouse/paimon/split/PaimonSnapshotSplitState.java (92%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/metrics/FlinkCounter.java (96%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/metrics/FlinkGauge.java (95%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/metrics/FlinkHistogram.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/metrics/FlinkMeter.java (96%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/metrics/FlinkMetricRegistry.java (99%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/row/FlinkAsFlussRow.java (98%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/sink/FlinkSink.java (94%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/sink/FlinkTableSink.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/sink/writer/AppendSinkWriter.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/sink/writer/FlinkSinkWriter.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/sink/writer/UpsertSinkWriter.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/FlinkSource.java (87%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/FlinkTableSource.java (96%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/emitter/FlinkRecordEmitter.java (88%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/enumerator/FlinkSourceEnumerator.java (96%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/enumerator/initializer/BucketOffsetsRetrieverImpl.java (94%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/enumerator/initializer/EarliestOffsetsInitializer.java (87%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/enumerator/initializer/LatestOffsetsInitializer.java (94%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/enumerator/initializer/NoStoppingOffsetsInitializer.java (94%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/enumerator/initializer/OffsetsInitializer.java (96%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/enumerator/initializer/SnapshotOffsetsInitializer.java (95%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/enumerator/initializer/TimestampOffsetsInitializer.java (95%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/event/PartitionBucketsUnsubscribedEvent.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/event/PartitionsRemovedEvent.java (96%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/lookup/FlinkAsyncLookupFunction.java (95%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/lookup/FlinkLookupFunction.java (95%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/lookup/LookupNormalizer.java (99%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/metrics/FlinkSourceReaderMetrics.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/reader/BoundedSplitReader.java (96%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/reader/FlinkRecordsWithSplitIds.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/reader/FlinkSourceReader.java (83%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/reader/FlinkSourceSplitReader.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/reader/MutableRecordAndPos.java (95%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/reader/RecordAndPos.java (95%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/reader/SplitScanner.java (94%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/reader/fetcher/FlinkSourceFetcherManager.java (94%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/split/HybridSnapshotLogSplit.java (98%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/split/HybridSnapshotLogSplitState.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/split/LogSplit.java (98%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/split/LogSplitState.java (90%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/split/SnapshotSplit.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/split/SourceSplitBase.java (98%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/split/SourceSplitSerializer.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/split/SourceSplitState.java (96%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/state/FlussSourceEnumeratorStateSerializer.java (98%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/source/state/SourceEnumeratorState.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/utils/CatalogExceptionUtils.java (98%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/utils/CatalogPropertiesUtils.java (99%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/utils/DataLakeUtils.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/utils/FlinkConnectorOptionsUtils.java (91%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/utils/FlinkConversions.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/utils/FlinkRowToFlussRowConverter.java (98%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/utils/FlinkTypeToFlussType.java (99%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/utils/FlinkUtils.java (96%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/utils/FlussRowToFlinkRowConverter.java (97%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/utils/FlussTypeToFlinkType.java (99%) rename {fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss}/flink/utils/PushdownUtils.java (98%) rename {fluss-connectors/fluss-connector-flink => fluss-flink/fluss-flink-common}/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory (90%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/catalog/FlinkCatalogITCase.java (97%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/catalog/FlinkCatalogTest.java (97%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/catalog/TestSchemaResolver.java (99%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/metrics/FlinkMetricsITCase.java (96%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/row/FlinkAsFlussRowTest.java (99%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/sink/FlinkSinkWriterTest.java (95%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/sink/FlinkTableSinkITCase.java (99%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/source/FlinkTableSourceBatchITCase.java (98%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/source/FlinkTableSourceFailOverITCase.java (94%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/source/FlinkTableSourceITCase.java (99%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/source/enumerator/FlinkSourceEnumeratorTest.java (97%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/source/lookup/FlinkLookupFunctionTest.java (95%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/source/metrics/FlinkSourceReaderMetricsTest.java (85%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/source/reader/BoundedSplitReaderTest.java (98%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/source/reader/FlinkSourceReaderTest.java (94%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/source/reader/FlinkSourceSplitReaderTest.java (97%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/source/split/SourceSplitSerializerTest.java (90%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/source/state/SourceEnumeratorStateSerializerTest.java (93%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/source/state/SourceSplitStateTest.java (92%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/source/testutils/FlinkTestBase.java (99%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/source/testutils/RecordAndPosAssert.java (94%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/utils/CatalogTableTestUtils.java (98%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/utils/FlinkConnectorOptionsUtilTest.java (90%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/utils/FlinkConversionsTest.java (96%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/utils/FlinkRowToFlussRowConverterTest.java (94%) rename {fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector => fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss}/flink/utils/FlussRowToFlinkRowConverterTest.java (96%) rename {fluss-connectors/fluss-connector-flink => fluss-flink/fluss-flink-common}/src/test/java/org/apache/flink/api/common/JobInfo.java (100%) rename {fluss-connectors/fluss-connector-flink => fluss-flink/fluss-flink-common}/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension (100%) rename {fluss-connectors/fluss-connector-flink => fluss-flink/fluss-flink-common}/src/test/resources/log4j2-test.properties (100%) rename {fluss-connectors => fluss-flink}/pom.xml (94%) diff --git a/fluss-connectors/fluss-connector-flink/pom.xml b/fluss-flink/fluss-flink-common/pom.xml similarity index 97% rename from fluss-connectors/fluss-connector-flink/pom.xml rename to fluss-flink/fluss-flink-common/pom.xml index ed0e147cc7..0118869d08 100644 --- a/fluss-connectors/fluss-connector-flink/pom.xml +++ b/fluss-flink/fluss-flink-common/pom.xml @@ -21,13 +21,13 @@ 4.0.0 com.alibaba.fluss - fluss-connectors + fluss-flink 0.7-SNAPSHOT - fluss-connector-flink + fluss-flink-common - Fluss : Connector : Flink + Fluss : Engine Flink : Common 1.20 diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/FlinkConnectorOptions.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/FlinkConnectorOptions.java similarity index 98% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/FlinkConnectorOptions.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/FlinkConnectorOptions.java index a0727ee10f..f8299c59ab 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/FlinkConnectorOptions.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/FlinkConnectorOptions.java @@ -14,10 +14,10 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink; +package com.alibaba.fluss.flink; import com.alibaba.fluss.config.FlussConfigUtils; -import com.alibaba.fluss.connector.flink.utils.FlinkConversions; +import com.alibaba.fluss.flink.utils.FlinkConversions; import org.apache.flink.configuration.ConfigOption; import org.apache.flink.configuration.ConfigOptions; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/catalog/FlinkCatalog.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/catalog/FlinkCatalog.java similarity index 96% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/catalog/FlinkCatalog.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/catalog/FlinkCatalog.java index 88f310f758..1fc5b12ba6 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/catalog/FlinkCatalog.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/catalog/FlinkCatalog.java @@ -14,17 +14,17 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.catalog; +package com.alibaba.fluss.flink.catalog; import com.alibaba.fluss.client.Connection; import com.alibaba.fluss.client.ConnectionFactory; import com.alibaba.fluss.client.admin.Admin; import com.alibaba.fluss.config.ConfigOptions; import com.alibaba.fluss.config.Configuration; -import com.alibaba.fluss.connector.flink.lakehouse.LakeCatalog; -import com.alibaba.fluss.connector.flink.utils.CatalogExceptionUtils; -import com.alibaba.fluss.connector.flink.utils.DataLakeUtils; -import com.alibaba.fluss.connector.flink.utils.FlinkConversions; +import com.alibaba.fluss.flink.lakehouse.LakeCatalog; +import com.alibaba.fluss.flink.utils.CatalogExceptionUtils; +import com.alibaba.fluss.flink.utils.DataLakeUtils; +import com.alibaba.fluss.flink.utils.FlinkConversions; import com.alibaba.fluss.exception.FlussRuntimeException; import com.alibaba.fluss.metadata.DatabaseDescriptor; import com.alibaba.fluss.metadata.PartitionInfo; @@ -74,12 +74,12 @@ import java.util.Optional; import static com.alibaba.fluss.config.ConfigOptions.BOOTSTRAP_SERVERS; -import static com.alibaba.fluss.connector.flink.utils.CatalogExceptionUtils.isPartitionAlreadyExists; -import static com.alibaba.fluss.connector.flink.utils.CatalogExceptionUtils.isPartitionInvalid; -import static com.alibaba.fluss.connector.flink.utils.CatalogExceptionUtils.isPartitionNotExist; -import static com.alibaba.fluss.connector.flink.utils.CatalogExceptionUtils.isTableNotExist; -import static com.alibaba.fluss.connector.flink.utils.CatalogExceptionUtils.isTableNotPartitioned; -import static com.alibaba.fluss.connector.flink.utils.FlinkConversions.toFlussDatabase; +import static com.alibaba.fluss.flink.utils.CatalogExceptionUtils.isPartitionAlreadyExists; +import static com.alibaba.fluss.flink.utils.CatalogExceptionUtils.isPartitionInvalid; +import static com.alibaba.fluss.flink.utils.CatalogExceptionUtils.isPartitionNotExist; +import static com.alibaba.fluss.flink.utils.CatalogExceptionUtils.isTableNotExist; +import static com.alibaba.fluss.flink.utils.CatalogExceptionUtils.isTableNotPartitioned; +import static com.alibaba.fluss.flink.utils.FlinkConversions.toFlussDatabase; import static org.apache.flink.util.Preconditions.checkArgument; /** A Flink Catalog for fluss. */ diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/catalog/FlinkCatalogFactory.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/catalog/FlinkCatalogFactory.java similarity index 94% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/catalog/FlinkCatalogFactory.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/catalog/FlinkCatalogFactory.java index 504fc9604d..e2ff813119 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/catalog/FlinkCatalogFactory.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/catalog/FlinkCatalogFactory.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.catalog; +package com.alibaba.fluss.flink.catalog; -import com.alibaba.fluss.connector.flink.FlinkConnectorOptions; +import com.alibaba.fluss.flink.FlinkConnectorOptions; import org.apache.flink.configuration.ConfigOption; import org.apache.flink.table.factories.CatalogFactory; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/catalog/FlinkCatalogOptions.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/catalog/FlinkCatalogOptions.java similarity index 94% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/catalog/FlinkCatalogOptions.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/catalog/FlinkCatalogOptions.java index 110c39881c..2f919958a2 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/catalog/FlinkCatalogOptions.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/catalog/FlinkCatalogOptions.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.catalog; +package com.alibaba.fluss.flink.catalog; import org.apache.flink.configuration.ConfigOption; import org.apache.flink.configuration.ConfigOptions; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/catalog/FlinkTableFactory.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/catalog/FlinkTableFactory.java similarity index 94% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/catalog/FlinkTableFactory.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/catalog/FlinkTableFactory.java index 529c02200b..790e61a6f4 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/catalog/FlinkTableFactory.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/catalog/FlinkTableFactory.java @@ -14,15 +14,15 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.catalog; +package com.alibaba.fluss.flink.catalog; import com.alibaba.fluss.config.ConfigOptions; import com.alibaba.fluss.config.Configuration; -import com.alibaba.fluss.connector.flink.FlinkConnectorOptions; -import com.alibaba.fluss.connector.flink.lakehouse.LakeTableFactory; -import com.alibaba.fluss.connector.flink.sink.FlinkTableSink; -import com.alibaba.fluss.connector.flink.source.FlinkTableSource; -import com.alibaba.fluss.connector.flink.utils.FlinkConnectorOptionsUtils; +import com.alibaba.fluss.flink.FlinkConnectorOptions; +import com.alibaba.fluss.flink.lakehouse.LakeTableFactory; +import com.alibaba.fluss.flink.sink.FlinkTableSink; +import com.alibaba.fluss.flink.source.FlinkTableSource; +import com.alibaba.fluss.flink.utils.FlinkConnectorOptionsUtils; import com.alibaba.fluss.metadata.TablePath; import org.apache.flink.api.common.RuntimeExecutionMode; @@ -51,8 +51,8 @@ import java.util.HashSet; import java.util.Set; -import static com.alibaba.fluss.connector.flink.catalog.FlinkCatalog.LAKE_TABLE_SPLITTER; -import static com.alibaba.fluss.connector.flink.utils.FlinkConversions.toFlinkOption; +import static com.alibaba.fluss.flink.catalog.FlinkCatalog.LAKE_TABLE_SPLITTER; +import static com.alibaba.fluss.flink.utils.FlinkConversions.toFlinkOption; /** Factory to create table source and table sink for Fluss. */ public class FlinkTableFactory implements DynamicTableSourceFactory, DynamicTableSinkFactory { diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeCatalog.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeCatalog.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeCatalog.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeCatalog.java index 9e0bacbdbe..4ed0b48815 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeCatalog.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeCatalog.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.lakehouse; +package com.alibaba.fluss.flink.lakehouse; import org.apache.flink.table.catalog.CatalogBaseTable; import org.apache.flink.table.catalog.ObjectPath; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeRecordRecordEmitter.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeRecordRecordEmitter.java similarity index 83% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeRecordRecordEmitter.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeRecordRecordEmitter.java index f5d0079a2b..dba4ca6e6c 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeRecordRecordEmitter.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeRecordRecordEmitter.java @@ -14,13 +14,13 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.lakehouse; +package com.alibaba.fluss.flink.lakehouse; import com.alibaba.fluss.client.table.scanner.ScanRecord; -import com.alibaba.fluss.connector.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplitState; -import com.alibaba.fluss.connector.flink.lakehouse.paimon.split.PaimonSnapshotSplitState; -import com.alibaba.fluss.connector.flink.source.reader.RecordAndPos; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitState; +import com.alibaba.fluss.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplitState; +import com.alibaba.fluss.flink.lakehouse.paimon.split.PaimonSnapshotSplitState; +import com.alibaba.fluss.flink.source.reader.RecordAndPos; +import com.alibaba.fluss.flink.source.split.SourceSplitState; import org.apache.flink.api.connector.source.SourceOutput; import org.apache.flink.table.data.RowData; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeSplitGenerator.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeSplitGenerator.java similarity index 96% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeSplitGenerator.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeSplitGenerator.java index 8235748b9a..58821aadfe 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeSplitGenerator.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeSplitGenerator.java @@ -14,15 +14,15 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.lakehouse; +package com.alibaba.fluss.flink.lakehouse; import com.alibaba.fluss.client.admin.Admin; import com.alibaba.fluss.client.metadata.LakeSnapshot; -import com.alibaba.fluss.connector.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplit; -import com.alibaba.fluss.connector.flink.lakehouse.paimon.split.PaimonSnapshotSplit; -import com.alibaba.fluss.connector.flink.source.enumerator.initializer.OffsetsInitializer; -import com.alibaba.fluss.connector.flink.source.split.LogSplit; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitBase; +import com.alibaba.fluss.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplit; +import com.alibaba.fluss.flink.lakehouse.paimon.split.PaimonSnapshotSplit; +import com.alibaba.fluss.flink.source.enumerator.initializer.OffsetsInitializer; +import com.alibaba.fluss.flink.source.split.LogSplit; +import com.alibaba.fluss.flink.source.split.SourceSplitBase; import com.alibaba.fluss.metadata.PartitionInfo; import com.alibaba.fluss.metadata.TableBucket; import com.alibaba.fluss.metadata.TableInfo; @@ -48,7 +48,7 @@ import java.util.stream.IntStream; import static com.alibaba.fluss.client.table.scanner.log.LogScanner.EARLIEST_OFFSET; -import static com.alibaba.fluss.connector.flink.utils.DataLakeUtils.extractLakeCatalogProperties; +import static com.alibaba.fluss.flink.utils.DataLakeUtils.extractLakeCatalogProperties; import static com.alibaba.fluss.utils.Preconditions.checkState; /** diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeSplitReaderGenerator.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeSplitReaderGenerator.java similarity index 89% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeSplitReaderGenerator.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeSplitReaderGenerator.java index af81828583..683b116376 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeSplitReaderGenerator.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeSplitReaderGenerator.java @@ -14,17 +14,17 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.lakehouse; +package com.alibaba.fluss.flink.lakehouse; import com.alibaba.fluss.client.Connection; import com.alibaba.fluss.client.table.Table; -import com.alibaba.fluss.connector.flink.lakehouse.paimon.reader.PaimonSnapshotAndLogSplitScanner; -import com.alibaba.fluss.connector.flink.lakehouse.paimon.reader.PaimonSnapshotScanner; -import com.alibaba.fluss.connector.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplit; -import com.alibaba.fluss.connector.flink.lakehouse.paimon.split.PaimonSnapshotSplit; -import com.alibaba.fluss.connector.flink.source.reader.BoundedSplitReader; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitBase; -import com.alibaba.fluss.connector.flink.utils.DataLakeUtils; +import com.alibaba.fluss.flink.lakehouse.paimon.reader.PaimonSnapshotAndLogSplitScanner; +import com.alibaba.fluss.flink.lakehouse.paimon.reader.PaimonSnapshotScanner; +import com.alibaba.fluss.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplit; +import com.alibaba.fluss.flink.lakehouse.paimon.split.PaimonSnapshotSplit; +import com.alibaba.fluss.flink.source.reader.BoundedSplitReader; +import com.alibaba.fluss.flink.source.split.SourceSplitBase; +import com.alibaba.fluss.flink.utils.DataLakeUtils; import com.alibaba.fluss.metadata.TablePath; import org.apache.flink.util.ExceptionUtils; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeSplitSerializer.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeSplitSerializer.java similarity index 88% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeSplitSerializer.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeSplitSerializer.java index 00c2622139..229a115a17 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeSplitSerializer.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeSplitSerializer.java @@ -14,12 +14,12 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.lakehouse; +package com.alibaba.fluss.flink.lakehouse; -import com.alibaba.fluss.connector.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplit; -import com.alibaba.fluss.connector.flink.lakehouse.paimon.split.PaimonSnapshotSplit; -import com.alibaba.fluss.connector.flink.source.split.LogSplit; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitBase; +import com.alibaba.fluss.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplit; +import com.alibaba.fluss.flink.lakehouse.paimon.split.PaimonSnapshotSplit; +import com.alibaba.fluss.flink.source.split.LogSplit; +import com.alibaba.fluss.flink.source.split.SourceSplitBase; import com.alibaba.fluss.metadata.TableBucket; import org.apache.flink.core.memory.DataInputDeserializer; @@ -31,8 +31,8 @@ import java.io.IOException; -import static com.alibaba.fluss.connector.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplit.PAIMON_SNAPSHOT_FLUSS_LOG_SPLIT_KIND; -import static com.alibaba.fluss.connector.flink.lakehouse.paimon.split.PaimonSnapshotSplit.PAIMON_SNAPSHOT_SPLIT_KIND; +import static com.alibaba.fluss.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplit.PAIMON_SNAPSHOT_FLUSS_LOG_SPLIT_KIND; +import static com.alibaba.fluss.flink.lakehouse.paimon.split.PaimonSnapshotSplit.PAIMON_SNAPSHOT_SPLIT_KIND; /** A serializer for lake split. */ public class LakeSplitSerializer { diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeSplitStateInitializer.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeSplitStateInitializer.java similarity index 67% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeSplitStateInitializer.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeSplitStateInitializer.java index f52193dd07..da6f510f30 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeSplitStateInitializer.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeSplitStateInitializer.java @@ -14,14 +14,14 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.lakehouse; +package com.alibaba.fluss.flink.lakehouse; -import com.alibaba.fluss.connector.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplit; -import com.alibaba.fluss.connector.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplitState; -import com.alibaba.fluss.connector.flink.lakehouse.paimon.split.PaimonSnapshotSplit; -import com.alibaba.fluss.connector.flink.lakehouse.paimon.split.PaimonSnapshotSplitState; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitBase; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitState; +import com.alibaba.fluss.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplit; +import com.alibaba.fluss.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplitState; +import com.alibaba.fluss.flink.lakehouse.paimon.split.PaimonSnapshotSplit; +import com.alibaba.fluss.flink.lakehouse.paimon.split.PaimonSnapshotSplitState; +import com.alibaba.fluss.flink.source.split.SourceSplitBase; +import com.alibaba.fluss.flink.source.split.SourceSplitState; /** The state initializer for lake split. */ public class LakeSplitStateInitializer { diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeTableFactory.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeTableFactory.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeTableFactory.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeTableFactory.java index dbbee17405..0114cdf85f 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/LakeTableFactory.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/LakeTableFactory.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.lakehouse; +package com.alibaba.fluss.flink.lakehouse; import org.apache.flink.table.catalog.ObjectIdentifier; import org.apache.flink.table.connector.source.DynamicTableSource; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/KeyValueRow.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/KeyValueRow.java similarity index 95% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/KeyValueRow.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/KeyValueRow.java index 796ee30c9d..52976ffe8e 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/KeyValueRow.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/KeyValueRow.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.lakehouse.paimon.reader; +package com.alibaba.fluss.flink.lakehouse.paimon.reader; import org.apache.paimon.data.InternalRow; import org.apache.paimon.utils.ProjectedRow; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/PaimonRowWrapper.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/PaimonRowWrapper.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/PaimonRowWrapper.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/PaimonRowWrapper.java index fad4516843..0e9a2ad4cf 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/PaimonRowWrapper.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/PaimonRowWrapper.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.lakehouse.paimon.reader; +package com.alibaba.fluss.flink.lakehouse.paimon.reader; import com.alibaba.fluss.row.BinaryString; import com.alibaba.fluss.row.Decimal; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/PaimonSnapshotAndLogSplitScanner.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/PaimonSnapshotAndLogSplitScanner.java similarity index 98% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/PaimonSnapshotAndLogSplitScanner.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/PaimonSnapshotAndLogSplitScanner.java index 1069589d51..7f9ad88f12 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/PaimonSnapshotAndLogSplitScanner.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/PaimonSnapshotAndLogSplitScanner.java @@ -14,14 +14,14 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.lakehouse.paimon.reader; +package com.alibaba.fluss.flink.lakehouse.paimon.reader; import com.alibaba.fluss.client.table.Table; import com.alibaba.fluss.client.table.scanner.ScanRecord; import com.alibaba.fluss.client.table.scanner.batch.BatchScanner; import com.alibaba.fluss.client.table.scanner.log.LogScanner; import com.alibaba.fluss.client.table.scanner.log.ScanRecords; -import com.alibaba.fluss.connector.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplit; +import com.alibaba.fluss.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplit; import com.alibaba.fluss.metadata.TableBucket; import com.alibaba.fluss.record.ChangeType; import com.alibaba.fluss.utils.CloseableIterator; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/PaimonSnapshotScanner.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/PaimonSnapshotScanner.java similarity index 98% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/PaimonSnapshotScanner.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/PaimonSnapshotScanner.java index e9397eb741..50e02a3f19 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/PaimonSnapshotScanner.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/PaimonSnapshotScanner.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.lakehouse.paimon.reader; +package com.alibaba.fluss.flink.lakehouse.paimon.reader; import com.alibaba.fluss.client.table.scanner.batch.BatchScanner; import com.alibaba.fluss.utils.CloseableIterator; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/ScanRecordWrapper.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/ScanRecordWrapper.java similarity index 98% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/ScanRecordWrapper.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/ScanRecordWrapper.java index 97ceb6b263..4836b445e4 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/ScanRecordWrapper.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/ScanRecordWrapper.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.lakehouse.paimon.reader; +package com.alibaba.fluss.flink.lakehouse.paimon.reader; import com.alibaba.fluss.client.table.scanner.ScanRecord; import com.alibaba.fluss.record.ChangeType; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/SortMergeReader.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/SortMergeReader.java similarity index 99% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/SortMergeReader.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/SortMergeReader.java index abae121ff1..0130b133eb 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/reader/SortMergeReader.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/SortMergeReader.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.lakehouse.paimon.reader; +package com.alibaba.fluss.flink.lakehouse.paimon.reader; import com.alibaba.fluss.utils.CloseableIterator; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/split/PaimonSnapshotAndFlussLogSplit.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/split/PaimonSnapshotAndFlussLogSplit.java similarity index 96% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/split/PaimonSnapshotAndFlussLogSplit.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/split/PaimonSnapshotAndFlussLogSplit.java index 7ad74e8580..0d23c42d2c 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/split/PaimonSnapshotAndFlussLogSplit.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/split/PaimonSnapshotAndFlussLogSplit.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.lakehouse.paimon.split; +package com.alibaba.fluss.flink.lakehouse.paimon.split; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitBase; +import com.alibaba.fluss.flink.source.split.SourceSplitBase; import com.alibaba.fluss.metadata.TableBucket; import org.apache.paimon.flink.source.FileStoreSourceSplit; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/split/PaimonSnapshotAndFlussLogSplitState.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/split/PaimonSnapshotAndFlussLogSplitState.java similarity index 91% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/split/PaimonSnapshotAndFlussLogSplitState.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/split/PaimonSnapshotAndFlussLogSplitState.java index 55d37613a6..bc2631ba9b 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/split/PaimonSnapshotAndFlussLogSplitState.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/split/PaimonSnapshotAndFlussLogSplitState.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.lakehouse.paimon.split; +package com.alibaba.fluss.flink.lakehouse.paimon.split; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitState; +import com.alibaba.fluss.flink.source.split.SourceSplitState; /** State of {@link PaimonSnapshotAndFlussLogSplit}. */ public class PaimonSnapshotAndFlussLogSplitState extends SourceSplitState { diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/split/PaimonSnapshotSplit.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/split/PaimonSnapshotSplit.java similarity index 95% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/split/PaimonSnapshotSplit.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/split/PaimonSnapshotSplit.java index b3a582f3d2..9c33c14f96 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/split/PaimonSnapshotSplit.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/split/PaimonSnapshotSplit.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.lakehouse.paimon.split; +package com.alibaba.fluss.flink.lakehouse.paimon.split; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitBase; +import com.alibaba.fluss.flink.source.split.SourceSplitBase; import com.alibaba.fluss.metadata.TableBucket; import org.apache.paimon.flink.source.FileStoreSourceSplit; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/split/PaimonSnapshotSplitState.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/split/PaimonSnapshotSplitState.java similarity index 92% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/split/PaimonSnapshotSplitState.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/split/PaimonSnapshotSplitState.java index f70b324bae..d1c20678ab 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/lakehouse/paimon/split/PaimonSnapshotSplitState.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/split/PaimonSnapshotSplitState.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.lakehouse.paimon.split; +package com.alibaba.fluss.flink.lakehouse.paimon.split; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitState; +import com.alibaba.fluss.flink.source.split.SourceSplitState; import org.apache.paimon.flink.source.FileStoreSourceSplit; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/metrics/FlinkCounter.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/metrics/FlinkCounter.java similarity index 96% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/metrics/FlinkCounter.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/metrics/FlinkCounter.java index 12e8f8a25b..75f220a24a 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/metrics/FlinkCounter.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/metrics/FlinkCounter.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.metrics; +package com.alibaba.fluss.flink.metrics; import org.apache.flink.metrics.Counter; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/metrics/FlinkGauge.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/metrics/FlinkGauge.java similarity index 95% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/metrics/FlinkGauge.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/metrics/FlinkGauge.java index e062fe0524..5f2214a1af 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/metrics/FlinkGauge.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/metrics/FlinkGauge.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.metrics; +package com.alibaba.fluss.flink.metrics; import org.apache.flink.metrics.Gauge; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/metrics/FlinkHistogram.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/metrics/FlinkHistogram.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/metrics/FlinkHistogram.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/metrics/FlinkHistogram.java index 3ab99db6b6..05efc04ef9 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/metrics/FlinkHistogram.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/metrics/FlinkHistogram.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.metrics; +package com.alibaba.fluss.flink.metrics; import org.apache.flink.metrics.Histogram; import org.apache.flink.metrics.HistogramStatistics; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/metrics/FlinkMeter.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/metrics/FlinkMeter.java similarity index 96% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/metrics/FlinkMeter.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/metrics/FlinkMeter.java index 26d3b34afb..f39cadfd50 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/metrics/FlinkMeter.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/metrics/FlinkMeter.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.metrics; +package com.alibaba.fluss.flink.metrics; import org.apache.flink.metrics.Meter; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/metrics/FlinkMetricRegistry.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/metrics/FlinkMetricRegistry.java similarity index 99% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/metrics/FlinkMetricRegistry.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/metrics/FlinkMetricRegistry.java index 1ce3b36667..011865fac5 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/metrics/FlinkMetricRegistry.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/metrics/FlinkMetricRegistry.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.metrics; +package com.alibaba.fluss.flink.metrics; import com.alibaba.fluss.metrics.CharacterFilter; import com.alibaba.fluss.metrics.Counter; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/row/FlinkAsFlussRow.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/row/FlinkAsFlussRow.java similarity index 98% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/row/FlinkAsFlussRow.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/row/FlinkAsFlussRow.java index 6d366d66be..06c27d0e46 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/row/FlinkAsFlussRow.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/row/FlinkAsFlussRow.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.row; +package com.alibaba.fluss.flink.row; import com.alibaba.fluss.row.BinaryString; import com.alibaba.fluss.row.Decimal; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/sink/FlinkSink.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/FlinkSink.java similarity index 94% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/sink/FlinkSink.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/FlinkSink.java index 8695316b53..eea9612831 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/sink/FlinkSink.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/FlinkSink.java @@ -14,13 +14,13 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.sink; +package com.alibaba.fluss.flink.sink; import com.alibaba.fluss.annotation.Internal; import com.alibaba.fluss.config.Configuration; -import com.alibaba.fluss.connector.flink.sink.writer.AppendSinkWriter; -import com.alibaba.fluss.connector.flink.sink.writer.FlinkSinkWriter; -import com.alibaba.fluss.connector.flink.sink.writer.UpsertSinkWriter; +import com.alibaba.fluss.flink.sink.writer.AppendSinkWriter; +import com.alibaba.fluss.flink.sink.writer.FlinkSinkWriter; +import com.alibaba.fluss.flink.sink.writer.UpsertSinkWriter; import com.alibaba.fluss.metadata.TablePath; import org.apache.flink.api.connector.sink2.Sink; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/sink/FlinkTableSink.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/FlinkTableSink.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/sink/FlinkTableSink.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/FlinkTableSink.java index 2612637806..e4f370f276 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/sink/FlinkTableSink.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/FlinkTableSink.java @@ -14,13 +14,13 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.sink; +package com.alibaba.fluss.flink.sink; import com.alibaba.fluss.config.Configuration; -import com.alibaba.fluss.connector.flink.sink.writer.FlinkSinkWriter; -import com.alibaba.fluss.connector.flink.utils.PushdownUtils; -import com.alibaba.fluss.connector.flink.utils.PushdownUtils.FieldEqual; -import com.alibaba.fluss.connector.flink.utils.PushdownUtils.ValueConversion; +import com.alibaba.fluss.flink.sink.writer.FlinkSinkWriter; +import com.alibaba.fluss.flink.utils.PushdownUtils; +import com.alibaba.fluss.flink.utils.PushdownUtils.FieldEqual; +import com.alibaba.fluss.flink.utils.PushdownUtils.ValueConversion; import com.alibaba.fluss.metadata.MergeEngineType; import com.alibaba.fluss.metadata.TablePath; import com.alibaba.fluss.row.GenericRow; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/sink/writer/AppendSinkWriter.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/writer/AppendSinkWriter.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/sink/writer/AppendSinkWriter.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/writer/AppendSinkWriter.java index 94a458615a..35405bfb92 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/sink/writer/AppendSinkWriter.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/writer/AppendSinkWriter.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.sink.writer; +package com.alibaba.fluss.flink.sink.writer; import com.alibaba.fluss.client.table.writer.AppendWriter; import com.alibaba.fluss.config.Configuration; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/sink/writer/FlinkSinkWriter.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/writer/FlinkSinkWriter.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/sink/writer/FlinkSinkWriter.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/writer/FlinkSinkWriter.java index 1ecbda51b3..93969432e1 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/sink/writer/FlinkSinkWriter.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/writer/FlinkSinkWriter.java @@ -14,15 +14,15 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.sink.writer; +package com.alibaba.fluss.flink.sink.writer; import com.alibaba.fluss.client.Connection; import com.alibaba.fluss.client.ConnectionFactory; import com.alibaba.fluss.client.table.Table; import com.alibaba.fluss.config.Configuration; -import com.alibaba.fluss.connector.flink.metrics.FlinkMetricRegistry; -import com.alibaba.fluss.connector.flink.row.FlinkAsFlussRow; -import com.alibaba.fluss.connector.flink.utils.FlinkConversions; +import com.alibaba.fluss.flink.metrics.FlinkMetricRegistry; +import com.alibaba.fluss.flink.row.FlinkAsFlussRow; +import com.alibaba.fluss.flink.utils.FlinkConversions; import com.alibaba.fluss.metadata.TableInfo; import com.alibaba.fluss.metadata.TablePath; import com.alibaba.fluss.metrics.Gauge; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/sink/writer/UpsertSinkWriter.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/writer/UpsertSinkWriter.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/sink/writer/UpsertSinkWriter.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/writer/UpsertSinkWriter.java index ac1c4d8c51..48ef62e550 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/sink/writer/UpsertSinkWriter.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/writer/UpsertSinkWriter.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.sink.writer; +package com.alibaba.fluss.flink.sink.writer; import com.alibaba.fluss.client.table.writer.Upsert; import com.alibaba.fluss.client.table.writer.UpsertWriter; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/FlinkSource.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/FlinkSource.java similarity index 87% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/FlinkSource.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/FlinkSource.java index be3067963e..a06b3c1b86 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/FlinkSource.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/FlinkSource.java @@ -14,18 +14,18 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source; +package com.alibaba.fluss.flink.source; import com.alibaba.fluss.config.Configuration; -import com.alibaba.fluss.connector.flink.source.enumerator.FlinkSourceEnumerator; -import com.alibaba.fluss.connector.flink.source.enumerator.initializer.OffsetsInitializer; -import com.alibaba.fluss.connector.flink.source.metrics.FlinkSourceReaderMetrics; -import com.alibaba.fluss.connector.flink.source.reader.FlinkSourceReader; -import com.alibaba.fluss.connector.flink.source.reader.RecordAndPos; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitBase; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitSerializer; -import com.alibaba.fluss.connector.flink.source.state.FlussSourceEnumeratorStateSerializer; -import com.alibaba.fluss.connector.flink.source.state.SourceEnumeratorState; +import com.alibaba.fluss.flink.source.enumerator.FlinkSourceEnumerator; +import com.alibaba.fluss.flink.source.enumerator.initializer.OffsetsInitializer; +import com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics; +import com.alibaba.fluss.flink.source.reader.FlinkSourceReader; +import com.alibaba.fluss.flink.source.reader.RecordAndPos; +import com.alibaba.fluss.flink.source.split.SourceSplitBase; +import com.alibaba.fluss.flink.source.split.SourceSplitSerializer; +import com.alibaba.fluss.flink.source.state.FlussSourceEnumeratorStateSerializer; +import com.alibaba.fluss.flink.source.state.SourceEnumeratorState; import com.alibaba.fluss.metadata.TablePath; import com.alibaba.fluss.types.RowType; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/FlinkTableSource.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/FlinkTableSource.java similarity index 96% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/FlinkTableSource.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/FlinkTableSource.java index 2fe67c59fc..d1b8e5c926 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/FlinkTableSource.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/FlinkTableSource.java @@ -14,18 +14,18 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source; +package com.alibaba.fluss.flink.source; import com.alibaba.fluss.config.Configuration; -import com.alibaba.fluss.connector.flink.FlinkConnectorOptions; -import com.alibaba.fluss.connector.flink.source.enumerator.initializer.OffsetsInitializer; -import com.alibaba.fluss.connector.flink.source.lookup.FlinkAsyncLookupFunction; -import com.alibaba.fluss.connector.flink.source.lookup.FlinkLookupFunction; -import com.alibaba.fluss.connector.flink.source.lookup.LookupNormalizer; -import com.alibaba.fluss.connector.flink.utils.FlinkConnectorOptionsUtils; -import com.alibaba.fluss.connector.flink.utils.FlinkConversions; -import com.alibaba.fluss.connector.flink.utils.PushdownUtils; -import com.alibaba.fluss.connector.flink.utils.PushdownUtils.ValueConversion; +import com.alibaba.fluss.flink.FlinkConnectorOptions; +import com.alibaba.fluss.flink.source.enumerator.initializer.OffsetsInitializer; +import com.alibaba.fluss.flink.source.lookup.FlinkAsyncLookupFunction; +import com.alibaba.fluss.flink.source.lookup.FlinkLookupFunction; +import com.alibaba.fluss.flink.source.lookup.LookupNormalizer; +import com.alibaba.fluss.flink.utils.FlinkConnectorOptionsUtils; +import com.alibaba.fluss.flink.utils.FlinkConversions; +import com.alibaba.fluss.flink.utils.PushdownUtils; +import com.alibaba.fluss.flink.utils.PushdownUtils.ValueConversion; import com.alibaba.fluss.metadata.MergeEngineType; import com.alibaba.fluss.metadata.TablePath; import com.alibaba.fluss.types.RowType; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/emitter/FlinkRecordEmitter.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/emitter/FlinkRecordEmitter.java similarity index 88% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/emitter/FlinkRecordEmitter.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/emitter/FlinkRecordEmitter.java index ac1ea3a91b..5eaecb8cc8 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/emitter/FlinkRecordEmitter.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/emitter/FlinkRecordEmitter.java @@ -14,15 +14,15 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.emitter; +package com.alibaba.fluss.flink.source.emitter; import com.alibaba.fluss.client.table.scanner.ScanRecord; -import com.alibaba.fluss.connector.flink.lakehouse.LakeRecordRecordEmitter; -import com.alibaba.fluss.connector.flink.source.reader.FlinkSourceReader; -import com.alibaba.fluss.connector.flink.source.reader.RecordAndPos; -import com.alibaba.fluss.connector.flink.source.split.HybridSnapshotLogSplitState; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitState; -import com.alibaba.fluss.connector.flink.utils.FlussRowToFlinkRowConverter; +import com.alibaba.fluss.flink.lakehouse.LakeRecordRecordEmitter; +import com.alibaba.fluss.flink.source.reader.FlinkSourceReader; +import com.alibaba.fluss.flink.source.reader.RecordAndPos; +import com.alibaba.fluss.flink.source.split.HybridSnapshotLogSplitState; +import com.alibaba.fluss.flink.source.split.SourceSplitState; +import com.alibaba.fluss.flink.utils.FlussRowToFlinkRowConverter; import com.alibaba.fluss.types.RowType; import org.apache.flink.api.connector.source.SourceOutput; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/FlinkSourceEnumerator.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/FlinkSourceEnumerator.java similarity index 96% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/FlinkSourceEnumerator.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/FlinkSourceEnumerator.java index b7b1b3de3f..f7b5a6c240 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/FlinkSourceEnumerator.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/FlinkSourceEnumerator.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.enumerator; +package com.alibaba.fluss.flink.source.enumerator; import com.alibaba.fluss.client.Connection; import com.alibaba.fluss.client.ConnectionFactory; @@ -22,18 +22,18 @@ import com.alibaba.fluss.client.metadata.KvSnapshots; import com.alibaba.fluss.config.ConfigOptions; import com.alibaba.fluss.config.Configuration; -import com.alibaba.fluss.connector.flink.lakehouse.LakeSplitGenerator; -import com.alibaba.fluss.connector.flink.source.enumerator.initializer.BucketOffsetsRetrieverImpl; -import com.alibaba.fluss.connector.flink.source.enumerator.initializer.NoStoppingOffsetsInitializer; -import com.alibaba.fluss.connector.flink.source.enumerator.initializer.OffsetsInitializer; -import com.alibaba.fluss.connector.flink.source.enumerator.initializer.OffsetsInitializer.BucketOffsetsRetriever; -import com.alibaba.fluss.connector.flink.source.enumerator.initializer.SnapshotOffsetsInitializer; -import com.alibaba.fluss.connector.flink.source.event.PartitionBucketsUnsubscribedEvent; -import com.alibaba.fluss.connector.flink.source.event.PartitionsRemovedEvent; -import com.alibaba.fluss.connector.flink.source.split.HybridSnapshotLogSplit; -import com.alibaba.fluss.connector.flink.source.split.LogSplit; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitBase; -import com.alibaba.fluss.connector.flink.source.state.SourceEnumeratorState; +import com.alibaba.fluss.flink.lakehouse.LakeSplitGenerator; +import com.alibaba.fluss.flink.source.enumerator.initializer.BucketOffsetsRetrieverImpl; +import com.alibaba.fluss.flink.source.enumerator.initializer.NoStoppingOffsetsInitializer; +import com.alibaba.fluss.flink.source.enumerator.initializer.OffsetsInitializer; +import com.alibaba.fluss.flink.source.enumerator.initializer.OffsetsInitializer.BucketOffsetsRetriever; +import com.alibaba.fluss.flink.source.enumerator.initializer.SnapshotOffsetsInitializer; +import com.alibaba.fluss.flink.source.event.PartitionBucketsUnsubscribedEvent; +import com.alibaba.fluss.flink.source.event.PartitionsRemovedEvent; +import com.alibaba.fluss.flink.source.split.HybridSnapshotLogSplit; +import com.alibaba.fluss.flink.source.split.LogSplit; +import com.alibaba.fluss.flink.source.split.SourceSplitBase; +import com.alibaba.fluss.flink.source.state.SourceEnumeratorState; import com.alibaba.fluss.metadata.PartitionInfo; import com.alibaba.fluss.metadata.TableBucket; import com.alibaba.fluss.metadata.TableInfo; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/BucketOffsetsRetrieverImpl.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/BucketOffsetsRetrieverImpl.java similarity index 94% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/BucketOffsetsRetrieverImpl.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/BucketOffsetsRetrieverImpl.java index 076d192b81..04f82c2fb3 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/BucketOffsetsRetrieverImpl.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/BucketOffsetsRetrieverImpl.java @@ -14,12 +14,12 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.enumerator.initializer; +package com.alibaba.fluss.flink.source.enumerator.initializer; import com.alibaba.fluss.client.admin.Admin; import com.alibaba.fluss.client.admin.ListOffsetsResult; import com.alibaba.fluss.client.admin.OffsetSpec; -import com.alibaba.fluss.connector.flink.source.enumerator.initializer.OffsetsInitializer.BucketOffsetsRetriever; +import com.alibaba.fluss.flink.source.enumerator.initializer.OffsetsInitializer.BucketOffsetsRetriever; import com.alibaba.fluss.metadata.TablePath; import org.apache.flink.util.FlinkRuntimeException; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/EarliestOffsetsInitializer.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/EarliestOffsetsInitializer.java similarity index 87% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/EarliestOffsetsInitializer.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/EarliestOffsetsInitializer.java index f320c9d508..3e5af8a7ad 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/EarliestOffsetsInitializer.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/EarliestOffsetsInitializer.java @@ -14,10 +14,10 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.enumerator.initializer; +package com.alibaba.fluss.flink.source.enumerator.initializer; -import com.alibaba.fluss.connector.flink.source.enumerator.FlinkSourceEnumerator; -import com.alibaba.fluss.connector.flink.source.reader.FlinkSourceSplitReader; +import com.alibaba.fluss.flink.source.enumerator.FlinkSourceEnumerator; +import com.alibaba.fluss.flink.source.reader.FlinkSourceSplitReader; import javax.annotation.Nullable; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/LatestOffsetsInitializer.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/LatestOffsetsInitializer.java similarity index 94% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/LatestOffsetsInitializer.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/LatestOffsetsInitializer.java index 8a1ff14ceb..59ecc0d4b1 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/LatestOffsetsInitializer.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/LatestOffsetsInitializer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.enumerator.initializer; +package com.alibaba.fluss.flink.source.enumerator.initializer; import javax.annotation.Nullable; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/NoStoppingOffsetsInitializer.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/NoStoppingOffsetsInitializer.java similarity index 94% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/NoStoppingOffsetsInitializer.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/NoStoppingOffsetsInitializer.java index a58b9e26e3..cb3ad5841c 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/NoStoppingOffsetsInitializer.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/NoStoppingOffsetsInitializer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.enumerator.initializer; +package com.alibaba.fluss.flink.source.enumerator.initializer; import javax.annotation.Nullable; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/OffsetsInitializer.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/OffsetsInitializer.java similarity index 96% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/OffsetsInitializer.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/OffsetsInitializer.java index 47d360c04a..265824590d 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/OffsetsInitializer.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/OffsetsInitializer.java @@ -14,11 +14,11 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.enumerator.initializer; +package com.alibaba.fluss.flink.source.enumerator.initializer; import com.alibaba.fluss.client.admin.Admin; import com.alibaba.fluss.client.admin.OffsetSpec; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitBase; +import com.alibaba.fluss.flink.source.split.SourceSplitBase; import com.alibaba.fluss.metadata.TablePath; import javax.annotation.Nullable; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/SnapshotOffsetsInitializer.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/SnapshotOffsetsInitializer.java similarity index 95% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/SnapshotOffsetsInitializer.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/SnapshotOffsetsInitializer.java index 0c3b7d07af..b211f367fd 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/SnapshotOffsetsInitializer.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/SnapshotOffsetsInitializer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.enumerator.initializer; +package com.alibaba.fluss.flink.source.enumerator.initializer; import javax.annotation.Nullable; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/TimestampOffsetsInitializer.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/TimestampOffsetsInitializer.java similarity index 95% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/TimestampOffsetsInitializer.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/TimestampOffsetsInitializer.java index 0161e42a8e..e70eeb2bb0 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/enumerator/initializer/TimestampOffsetsInitializer.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/enumerator/initializer/TimestampOffsetsInitializer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.enumerator.initializer; +package com.alibaba.fluss.flink.source.enumerator.initializer; import javax.annotation.Nullable; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/event/PartitionBucketsUnsubscribedEvent.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/event/PartitionBucketsUnsubscribedEvent.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/event/PartitionBucketsUnsubscribedEvent.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/event/PartitionBucketsUnsubscribedEvent.java index 9125c7630e..236c54d355 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/event/PartitionBucketsUnsubscribedEvent.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/event/PartitionBucketsUnsubscribedEvent.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.event; +package com.alibaba.fluss.flink.source.event; import com.alibaba.fluss.metadata.TableBucket; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/event/PartitionsRemovedEvent.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/event/PartitionsRemovedEvent.java similarity index 96% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/event/PartitionsRemovedEvent.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/event/PartitionsRemovedEvent.java index 2e48e2fecb..f1c220b673 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/event/PartitionsRemovedEvent.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/event/PartitionsRemovedEvent.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.event; +package com.alibaba.fluss.flink.source.event; import org.apache.flink.api.connector.source.SourceEvent; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/lookup/FlinkAsyncLookupFunction.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/lookup/FlinkAsyncLookupFunction.java similarity index 95% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/lookup/FlinkAsyncLookupFunction.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/lookup/FlinkAsyncLookupFunction.java index 39da737e56..d63ffb1ffa 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/lookup/FlinkAsyncLookupFunction.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/lookup/FlinkAsyncLookupFunction.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.lookup; +package com.alibaba.fluss.flink.source.lookup; import com.alibaba.fluss.client.Connection; import com.alibaba.fluss.client.ConnectionFactory; @@ -23,11 +23,11 @@ import com.alibaba.fluss.client.lookup.Lookuper; import com.alibaba.fluss.client.table.Table; import com.alibaba.fluss.config.Configuration; -import com.alibaba.fluss.connector.flink.row.FlinkAsFlussRow; -import com.alibaba.fluss.connector.flink.source.lookup.LookupNormalizer.RemainingFilter; -import com.alibaba.fluss.connector.flink.utils.FlinkConversions; -import com.alibaba.fluss.connector.flink.utils.FlinkUtils; -import com.alibaba.fluss.connector.flink.utils.FlussRowToFlinkRowConverter; +import com.alibaba.fluss.flink.row.FlinkAsFlussRow; +import com.alibaba.fluss.flink.source.lookup.LookupNormalizer.RemainingFilter; +import com.alibaba.fluss.flink.utils.FlinkConversions; +import com.alibaba.fluss.flink.utils.FlinkUtils; +import com.alibaba.fluss.flink.utils.FlussRowToFlinkRowConverter; import com.alibaba.fluss.exception.TableNotExistException; import com.alibaba.fluss.metadata.TablePath; import com.alibaba.fluss.row.InternalRow; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/lookup/FlinkLookupFunction.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/lookup/FlinkLookupFunction.java similarity index 95% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/lookup/FlinkLookupFunction.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/lookup/FlinkLookupFunction.java index 5ef5df9c7f..e904324903 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/lookup/FlinkLookupFunction.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/lookup/FlinkLookupFunction.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.lookup; +package com.alibaba.fluss.flink.source.lookup; import com.alibaba.fluss.client.Connection; import com.alibaba.fluss.client.ConnectionFactory; @@ -23,10 +23,10 @@ import com.alibaba.fluss.client.lookup.Lookuper; import com.alibaba.fluss.client.table.Table; import com.alibaba.fluss.config.Configuration; -import com.alibaba.fluss.connector.flink.row.FlinkAsFlussRow; -import com.alibaba.fluss.connector.flink.utils.FlinkConversions; -import com.alibaba.fluss.connector.flink.utils.FlinkUtils; -import com.alibaba.fluss.connector.flink.utils.FlussRowToFlinkRowConverter; +import com.alibaba.fluss.flink.row.FlinkAsFlussRow; +import com.alibaba.fluss.flink.utils.FlinkConversions; +import com.alibaba.fluss.flink.utils.FlinkUtils; +import com.alibaba.fluss.flink.utils.FlussRowToFlinkRowConverter; import com.alibaba.fluss.metadata.TablePath; import com.alibaba.fluss.row.InternalRow; import com.alibaba.fluss.row.ProjectedRow; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/lookup/LookupNormalizer.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/lookup/LookupNormalizer.java similarity index 99% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/lookup/LookupNormalizer.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/lookup/LookupNormalizer.java index a9c942b40a..132cf3c41f 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/lookup/LookupNormalizer.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/lookup/LookupNormalizer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.lookup; +package com.alibaba.fluss.flink.source.lookup; import com.alibaba.fluss.client.lookup.LookupType; import com.alibaba.fluss.utils.ArrayUtils; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/metrics/FlinkSourceReaderMetrics.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/metrics/FlinkSourceReaderMetrics.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/metrics/FlinkSourceReaderMetrics.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/metrics/FlinkSourceReaderMetrics.java index 351478be2c..5e6b4394ff 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/metrics/FlinkSourceReaderMetrics.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/metrics/FlinkSourceReaderMetrics.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.metrics; +package com.alibaba.fluss.flink.source.metrics; -import com.alibaba.fluss.connector.flink.source.reader.FlinkSourceReader; +import com.alibaba.fluss.flink.source.reader.FlinkSourceReader; import com.alibaba.fluss.metadata.TableBucket; import org.apache.flink.metrics.MetricGroup; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/BoundedSplitReader.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/BoundedSplitReader.java similarity index 96% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/BoundedSplitReader.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/BoundedSplitReader.java index a9cacf33f5..5b46c81019 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/BoundedSplitReader.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/BoundedSplitReader.java @@ -14,11 +14,11 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.reader; +package com.alibaba.fluss.flink.source.reader; import com.alibaba.fluss.client.table.scanner.ScanRecord; import com.alibaba.fluss.client.table.scanner.batch.BatchScanner; -import com.alibaba.fluss.connector.flink.source.split.SnapshotSplit; +import com.alibaba.fluss.flink.source.split.SnapshotSplit; import com.alibaba.fluss.row.InternalRow; import com.alibaba.fluss.utils.CloseableIterator; @@ -30,7 +30,7 @@ import java.util.concurrent.BlockingQueue; import java.util.concurrent.TimeUnit; -import static com.alibaba.fluss.connector.flink.source.reader.RecordAndPos.NO_READ_RECORDS_COUNT; +import static com.alibaba.fluss.flink.source.reader.RecordAndPos.NO_READ_RECORDS_COUNT; /** * A bounded reader to reading Fluss's bounded split (e.g., {@link SnapshotSplit}) into {@link diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/FlinkRecordsWithSplitIds.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/FlinkRecordsWithSplitIds.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/FlinkRecordsWithSplitIds.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/FlinkRecordsWithSplitIds.java index ee00674fa8..b4ad135ed8 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/FlinkRecordsWithSplitIds.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/FlinkRecordsWithSplitIds.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.reader; +package com.alibaba.fluss.flink.source.reader; -import com.alibaba.fluss.connector.flink.source.metrics.FlinkSourceReaderMetrics; +import com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics; import com.alibaba.fluss.metadata.TableBucket; import com.alibaba.fluss.utils.CloseableIterator; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/FlinkSourceReader.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/FlinkSourceReader.java similarity index 83% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/FlinkSourceReader.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/FlinkSourceReader.java index 6d25180367..10c199989f 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/FlinkSourceReader.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/FlinkSourceReader.java @@ -14,19 +14,19 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.reader; +package com.alibaba.fluss.flink.source.reader; import com.alibaba.fluss.config.Configuration; -import com.alibaba.fluss.connector.flink.lakehouse.LakeSplitStateInitializer; -import com.alibaba.fluss.connector.flink.source.emitter.FlinkRecordEmitter; -import com.alibaba.fluss.connector.flink.source.event.PartitionBucketsUnsubscribedEvent; -import com.alibaba.fluss.connector.flink.source.event.PartitionsRemovedEvent; -import com.alibaba.fluss.connector.flink.source.metrics.FlinkSourceReaderMetrics; -import com.alibaba.fluss.connector.flink.source.reader.fetcher.FlinkSourceFetcherManager; -import com.alibaba.fluss.connector.flink.source.split.HybridSnapshotLogSplitState; -import com.alibaba.fluss.connector.flink.source.split.LogSplitState; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitBase; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitState; +import com.alibaba.fluss.flink.lakehouse.LakeSplitStateInitializer; +import com.alibaba.fluss.flink.source.emitter.FlinkRecordEmitter; +import com.alibaba.fluss.flink.source.event.PartitionBucketsUnsubscribedEvent; +import com.alibaba.fluss.flink.source.event.PartitionsRemovedEvent; +import com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics; +import com.alibaba.fluss.flink.source.reader.fetcher.FlinkSourceFetcherManager; +import com.alibaba.fluss.flink.source.split.HybridSnapshotLogSplitState; +import com.alibaba.fluss.flink.source.split.LogSplitState; +import com.alibaba.fluss.flink.source.split.SourceSplitBase; +import com.alibaba.fluss.flink.source.split.SourceSplitState; import com.alibaba.fluss.metadata.TableBucket; import com.alibaba.fluss.metadata.TablePath; import com.alibaba.fluss.types.RowType; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/FlinkSourceSplitReader.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/FlinkSourceSplitReader.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/FlinkSourceSplitReader.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/FlinkSourceSplitReader.java index 3d5f6ba96e..dd4d647806 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/FlinkSourceSplitReader.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/FlinkSourceSplitReader.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.reader; +package com.alibaba.fluss.flink.source.reader; import com.alibaba.fluss.client.Connection; import com.alibaba.fluss.client.ConnectionFactory; @@ -24,13 +24,13 @@ import com.alibaba.fluss.client.table.scanner.log.LogScanner; import com.alibaba.fluss.client.table.scanner.log.ScanRecords; import com.alibaba.fluss.config.Configuration; -import com.alibaba.fluss.connector.flink.lakehouse.LakeSplitReaderGenerator; -import com.alibaba.fluss.connector.flink.metrics.FlinkMetricRegistry; -import com.alibaba.fluss.connector.flink.source.metrics.FlinkSourceReaderMetrics; -import com.alibaba.fluss.connector.flink.source.split.HybridSnapshotLogSplit; -import com.alibaba.fluss.connector.flink.source.split.LogSplit; -import com.alibaba.fluss.connector.flink.source.split.SnapshotSplit; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitBase; +import com.alibaba.fluss.flink.lakehouse.LakeSplitReaderGenerator; +import com.alibaba.fluss.flink.metrics.FlinkMetricRegistry; +import com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics; +import com.alibaba.fluss.flink.source.split.HybridSnapshotLogSplit; +import com.alibaba.fluss.flink.source.split.LogSplit; +import com.alibaba.fluss.flink.source.split.SnapshotSplit; +import com.alibaba.fluss.flink.source.split.SourceSplitBase; import com.alibaba.fluss.exception.PartitionNotExistException; import com.alibaba.fluss.metadata.TableBucket; import com.alibaba.fluss.metadata.TablePath; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/MutableRecordAndPos.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/MutableRecordAndPos.java similarity index 95% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/MutableRecordAndPos.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/MutableRecordAndPos.java index 197090ff7c..bb8c3a8e02 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/MutableRecordAndPos.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/MutableRecordAndPos.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.reader; +package com.alibaba.fluss.flink.source.reader; import com.alibaba.fluss.client.table.scanner.ScanRecord; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/RecordAndPos.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/RecordAndPos.java similarity index 95% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/RecordAndPos.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/RecordAndPos.java index aff58c7a99..40864c4b7b 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/RecordAndPos.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/RecordAndPos.java @@ -14,10 +14,10 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.reader; +package com.alibaba.fluss.flink.source.reader; import com.alibaba.fluss.client.table.scanner.ScanRecord; -import com.alibaba.fluss.connector.flink.source.emitter.FlinkRecordEmitter; +import com.alibaba.fluss.flink.source.emitter.FlinkRecordEmitter; import java.util.Objects; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/SplitScanner.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/SplitScanner.java similarity index 94% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/SplitScanner.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/SplitScanner.java index 2c1f5808a1..1a2cb32215 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/SplitScanner.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/SplitScanner.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.reader; +package com.alibaba.fluss.flink.source.reader; import com.alibaba.fluss.client.table.scanner.ScanRecord; import com.alibaba.fluss.utils.CloseableIterator; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/fetcher/FlinkSourceFetcherManager.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/fetcher/FlinkSourceFetcherManager.java similarity index 94% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/fetcher/FlinkSourceFetcherManager.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/fetcher/FlinkSourceFetcherManager.java index 9831bcd37a..448f53bcf9 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/reader/fetcher/FlinkSourceFetcherManager.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/fetcher/FlinkSourceFetcherManager.java @@ -14,11 +14,11 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.reader.fetcher; +package com.alibaba.fluss.flink.source.reader.fetcher; -import com.alibaba.fluss.connector.flink.source.reader.FlinkSourceSplitReader; -import com.alibaba.fluss.connector.flink.source.reader.RecordAndPos; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitBase; +import com.alibaba.fluss.flink.source.reader.FlinkSourceSplitReader; +import com.alibaba.fluss.flink.source.reader.RecordAndPos; +import com.alibaba.fluss.flink.source.split.SourceSplitBase; import com.alibaba.fluss.metadata.TableBucket; import org.apache.flink.annotation.Internal; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/HybridSnapshotLogSplit.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/HybridSnapshotLogSplit.java similarity index 98% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/HybridSnapshotLogSplit.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/HybridSnapshotLogSplit.java index 001573be02..f23f6187ca 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/HybridSnapshotLogSplit.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/HybridSnapshotLogSplit.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.split; +package com.alibaba.fluss.flink.source.split; import com.alibaba.fluss.metadata.TableBucket; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/HybridSnapshotLogSplitState.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/HybridSnapshotLogSplitState.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/HybridSnapshotLogSplitState.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/HybridSnapshotLogSplitState.java index 2bc3165ca4..78bbd10287 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/HybridSnapshotLogSplitState.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/HybridSnapshotLogSplitState.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.split; +package com.alibaba.fluss.flink.source.split; /** The state of {@link HybridSnapshotLogSplit}. */ public class HybridSnapshotLogSplitState extends SourceSplitState { diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/LogSplit.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/LogSplit.java similarity index 98% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/LogSplit.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/LogSplit.java index c37eb71b8a..058a6f5f61 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/LogSplit.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/LogSplit.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.split; +package com.alibaba.fluss.flink.source.split; import com.alibaba.fluss.metadata.TableBucket; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/LogSplitState.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/LogSplitState.java similarity index 90% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/LogSplitState.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/LogSplitState.java index e78ebcf34e..5597da6a7f 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/LogSplitState.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/LogSplitState.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.split; +package com.alibaba.fluss.flink.source.split; -import static com.alibaba.fluss.connector.flink.source.split.LogSplit.NO_STOPPING_OFFSET; +import static com.alibaba.fluss.flink.source.split.LogSplit.NO_STOPPING_OFFSET; /** The state of {@link LogSplit}. */ public class LogSplitState extends SourceSplitState { diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/SnapshotSplit.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/SnapshotSplit.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/SnapshotSplit.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/SnapshotSplit.java index 263239238d..a306585836 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/SnapshotSplit.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/SnapshotSplit.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.split; +package com.alibaba.fluss.flink.source.split; import com.alibaba.fluss.metadata.TableBucket; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/SourceSplitBase.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/SourceSplitBase.java similarity index 98% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/SourceSplitBase.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/SourceSplitBase.java index 984356ce55..6bbb6b1ecf 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/SourceSplitBase.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/SourceSplitBase.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.split; +package com.alibaba.fluss.flink.source.split; import com.alibaba.fluss.metadata.TableBucket; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/SourceSplitSerializer.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/SourceSplitSerializer.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/SourceSplitSerializer.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/SourceSplitSerializer.java index aab3832714..c10b1537bf 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/SourceSplitSerializer.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/SourceSplitSerializer.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.split; +package com.alibaba.fluss.flink.source.split; -import com.alibaba.fluss.connector.flink.lakehouse.LakeSplitSerializer; +import com.alibaba.fluss.flink.lakehouse.LakeSplitSerializer; import com.alibaba.fluss.metadata.TableBucket; import org.apache.flink.core.io.SimpleVersionedSerializer; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/SourceSplitState.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/SourceSplitState.java similarity index 96% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/SourceSplitState.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/SourceSplitState.java index 1220eb1bb9..5c540a1882 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/split/SourceSplitState.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/split/SourceSplitState.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.split; +package com.alibaba.fluss.flink.source.split; /** State of the reader, essentially a mutable version of the {@link SourceSplitBase}. */ public abstract class SourceSplitState { diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/state/FlussSourceEnumeratorStateSerializer.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/state/FlussSourceEnumeratorStateSerializer.java similarity index 98% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/state/FlussSourceEnumeratorStateSerializer.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/state/FlussSourceEnumeratorStateSerializer.java index 2a322a90f4..66a6feadec 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/state/FlussSourceEnumeratorStateSerializer.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/state/FlussSourceEnumeratorStateSerializer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.state; +package com.alibaba.fluss.flink.source.state; import com.alibaba.fluss.metadata.TableBucket; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/state/SourceEnumeratorState.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/state/SourceEnumeratorState.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/state/SourceEnumeratorState.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/state/SourceEnumeratorState.java index 3b99bc0ffe..c0fcf9b451 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/source/state/SourceEnumeratorState.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/state/SourceEnumeratorState.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.state; +package com.alibaba.fluss.flink.source.state; import com.alibaba.fluss.metadata.TableBucket; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/CatalogExceptionUtils.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/CatalogExceptionUtils.java similarity index 98% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/CatalogExceptionUtils.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/CatalogExceptionUtils.java index 4e8251d129..af4a3c2926 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/CatalogExceptionUtils.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/CatalogExceptionUtils.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.utils; +package com.alibaba.fluss.flink.utils; import com.alibaba.fluss.exception.DatabaseAlreadyExistException; import com.alibaba.fluss.exception.DatabaseNotEmptyException; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/CatalogPropertiesUtils.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/CatalogPropertiesUtils.java similarity index 99% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/CatalogPropertiesUtils.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/CatalogPropertiesUtils.java index 251b0227ae..9835add5af 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/CatalogPropertiesUtils.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/CatalogPropertiesUtils.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.utils; +package com.alibaba.fluss.flink.utils; import org.apache.flink.table.api.Schema; import org.apache.flink.table.api.TableException; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/DataLakeUtils.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/DataLakeUtils.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/DataLakeUtils.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/DataLakeUtils.java index a793b2d542..42e8eb9bba 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/DataLakeUtils.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/DataLakeUtils.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.utils; +package com.alibaba.fluss.flink.utils; import com.alibaba.fluss.config.ConfigOptions; import com.alibaba.fluss.config.Configuration; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlinkConnectorOptionsUtils.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlinkConnectorOptionsUtils.java similarity index 91% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlinkConnectorOptionsUtils.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlinkConnectorOptionsUtils.java index 33ed226c9f..323efbcce4 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlinkConnectorOptionsUtils.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlinkConnectorOptionsUtils.java @@ -14,10 +14,10 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.utils; +package com.alibaba.fluss.flink.utils; -import com.alibaba.fluss.connector.flink.FlinkConnectorOptions; -import com.alibaba.fluss.connector.flink.FlinkConnectorOptions.ScanStartupMode; +import com.alibaba.fluss.flink.FlinkConnectorOptions; +import com.alibaba.fluss.flink.FlinkConnectorOptions.ScanStartupMode; import org.apache.flink.configuration.ReadableConfig; import org.apache.flink.table.api.ValidationException; @@ -29,9 +29,9 @@ import java.time.format.DateTimeFormatter; import java.util.Optional; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.SCAN_STARTUP_MODE; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.SCAN_STARTUP_TIMESTAMP; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.ScanStartupMode.TIMESTAMP; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.SCAN_STARTUP_MODE; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.SCAN_STARTUP_TIMESTAMP; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.ScanStartupMode.TIMESTAMP; /** Utility class for {@link FlinkConnectorOptions}. */ public class FlinkConnectorOptionsUtils { diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlinkConversions.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlinkConversions.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlinkConversions.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlinkConversions.java index 7d04ad09c5..4bf3085b4e 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlinkConversions.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlinkConversions.java @@ -14,15 +14,15 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.utils; +package com.alibaba.fluss.flink.utils; import com.alibaba.fluss.annotation.VisibleForTesting; import com.alibaba.fluss.config.ConfigOption; import com.alibaba.fluss.config.FlussConfigUtils; import com.alibaba.fluss.config.MemorySize; import com.alibaba.fluss.config.Password; -import com.alibaba.fluss.connector.flink.FlinkConnectorOptions; -import com.alibaba.fluss.connector.flink.catalog.FlinkCatalogFactory; +import com.alibaba.fluss.flink.FlinkConnectorOptions; +import com.alibaba.fluss.flink.catalog.FlinkCatalogFactory; import com.alibaba.fluss.metadata.DatabaseDescriptor; import com.alibaba.fluss.metadata.Schema; import com.alibaba.fluss.metadata.TableDescriptor; @@ -52,8 +52,8 @@ import java.util.Map; import java.util.stream.Collectors; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.BUCKET_KEY; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.BUCKET_NUMBER; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.BUCKET_KEY; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.BUCKET_NUMBER; import static org.apache.flink.table.factories.FactoryUtil.CONNECTOR; /** Utils for conversion between Flink and Fluss. */ diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlinkRowToFlussRowConverter.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlinkRowToFlussRowConverter.java similarity index 98% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlinkRowToFlussRowConverter.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlinkRowToFlussRowConverter.java index c6df6a0557..c317a9f6e5 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlinkRowToFlussRowConverter.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlinkRowToFlussRowConverter.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.utils; +package com.alibaba.fluss.flink.utils; -import com.alibaba.fluss.connector.flink.row.FlinkAsFlussRow; +import com.alibaba.fluss.flink.row.FlinkAsFlussRow; import com.alibaba.fluss.metadata.KvFormat; import com.alibaba.fluss.row.BinaryString; import com.alibaba.fluss.row.Decimal; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlinkTypeToFlussType.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlinkTypeToFlussType.java similarity index 99% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlinkTypeToFlussType.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlinkTypeToFlussType.java index 0b423bfdc8..8d38604d1e 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlinkTypeToFlussType.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlinkTypeToFlussType.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.utils; +package com.alibaba.fluss.flink.utils; import com.alibaba.fluss.types.BytesType; import com.alibaba.fluss.types.DataField; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlinkUtils.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlinkUtils.java similarity index 96% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlinkUtils.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlinkUtils.java index 6af31ec4f5..d0bccc887e 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlinkUtils.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlinkUtils.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.utils; +package com.alibaba.fluss.flink.utils; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.RowType; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlussRowToFlinkRowConverter.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlussRowToFlinkRowConverter.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlussRowToFlinkRowConverter.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlussRowToFlinkRowConverter.java index 8bc222aa33..99fc6679b5 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlussRowToFlinkRowConverter.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlussRowToFlinkRowConverter.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.utils; +package com.alibaba.fluss.flink.utils; import com.alibaba.fluss.client.table.scanner.ScanRecord; import com.alibaba.fluss.row.BinaryString; @@ -34,7 +34,7 @@ import java.io.Serializable; -import static com.alibaba.fluss.connector.flink.utils.FlinkConversions.toFlinkRowKind; +import static com.alibaba.fluss.flink.utils.FlinkConversions.toFlinkRowKind; /** * A converter to convert Fluss's {@link InternalRow} to Flink's {@link RowData}. diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlussTypeToFlinkType.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlussTypeToFlinkType.java similarity index 99% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlussTypeToFlinkType.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlussTypeToFlinkType.java index 537e025c26..4aa45059d9 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/FlussTypeToFlinkType.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/FlussTypeToFlinkType.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.utils; +package com.alibaba.fluss.flink.utils; import com.alibaba.fluss.types.ArrayType; import com.alibaba.fluss.types.BigIntType; diff --git a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/PushdownUtils.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/PushdownUtils.java similarity index 98% rename from fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/PushdownUtils.java rename to fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/PushdownUtils.java index 24418ab45e..197876036c 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/java/com/alibaba/fluss/connector/flink/utils/PushdownUtils.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/PushdownUtils.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.utils; +package com.alibaba.fluss.flink.utils; import com.alibaba.fluss.client.Connection; import com.alibaba.fluss.client.ConnectionFactory; @@ -29,8 +29,8 @@ import com.alibaba.fluss.client.table.scanner.batch.BatchScanner; import com.alibaba.fluss.client.table.writer.UpsertWriter; import com.alibaba.fluss.config.Configuration; -import com.alibaba.fluss.connector.flink.source.lookup.FlinkLookupFunction; -import com.alibaba.fluss.connector.flink.source.lookup.LookupNormalizer; +import com.alibaba.fluss.flink.source.lookup.FlinkLookupFunction; +import com.alibaba.fluss.flink.source.lookup.LookupNormalizer; import com.alibaba.fluss.exception.FlussRuntimeException; import com.alibaba.fluss.metadata.PartitionInfo; import com.alibaba.fluss.metadata.TableBucket; @@ -73,7 +73,7 @@ import java.util.stream.Collectors; import java.util.stream.IntStream; -import static com.alibaba.fluss.connector.flink.source.lookup.LookupNormalizer.createPrimaryKeyLookupNormalizer; +import static com.alibaba.fluss.flink.source.lookup.LookupNormalizer.createPrimaryKeyLookupNormalizer; /** Utilities for pushdown abilities. */ public class PushdownUtils { diff --git a/fluss-connectors/fluss-connector-flink/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory b/fluss-flink/fluss-flink-common/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory similarity index 90% rename from fluss-connectors/fluss-connector-flink/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory rename to fluss-flink/fluss-flink-common/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory index 28bbcd7d6a..a66665d1a8 100644 --- a/fluss-connectors/fluss-connector-flink/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory +++ b/fluss-flink/fluss-flink-common/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory @@ -15,4 +15,4 @@ # -com.alibaba.fluss.connector.flink.catalog.FlinkCatalogFactory \ No newline at end of file +com.alibaba.fluss.flink.catalog.FlinkCatalogFactory \ No newline at end of file diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/catalog/FlinkCatalogITCase.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/catalog/FlinkCatalogITCase.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/catalog/FlinkCatalogITCase.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/catalog/FlinkCatalogITCase.java index 7c9973fecc..a301a7930c 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/catalog/FlinkCatalogITCase.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/catalog/FlinkCatalogITCase.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.catalog; +package com.alibaba.fluss.flink.catalog; import com.alibaba.fluss.config.ConfigOptions; import com.alibaba.fluss.config.Configuration; @@ -46,14 +46,14 @@ import java.util.List; import java.util.Map; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.BOOTSTRAP_SERVERS; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.BUCKET_KEY; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.BUCKET_NUMBER; -import static com.alibaba.fluss.connector.flink.source.testutils.FlinkTestBase.assertResultsIgnoreOrder; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.BOOTSTRAP_SERVERS; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.BUCKET_KEY; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.BUCKET_NUMBER; +import static com.alibaba.fluss.flink.source.testutils.FlinkTestBase.assertResultsIgnoreOrder; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -/** IT case for {@link com.alibaba.fluss.connector.flink.catalog.FlinkCatalog}. */ +/** IT case for {@link com.alibaba.fluss.flink.catalog.FlinkCatalog}. */ class FlinkCatalogITCase { @RegisterExtension diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/catalog/FlinkCatalogTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/catalog/FlinkCatalogTest.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/catalog/FlinkCatalogTest.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/catalog/FlinkCatalogTest.java index aa13d57348..27e58f7c36 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/catalog/FlinkCatalogTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/catalog/FlinkCatalogTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.catalog; +package com.alibaba.fluss.flink.catalog; import com.alibaba.fluss.config.ConfigOptions; import com.alibaba.fluss.config.Configuration; @@ -56,12 +56,12 @@ import java.util.List; import java.util.Map; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.BUCKET_KEY; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.BUCKET_NUMBER; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.SCAN_STARTUP_MODE; -import static com.alibaba.fluss.connector.flink.utils.CatalogTableTestUtils.addOptions; -import static com.alibaba.fluss.connector.flink.utils.CatalogTableTestUtils.checkEqualsIgnoreSchema; -import static com.alibaba.fluss.connector.flink.utils.CatalogTableTestUtils.checkEqualsRespectSchema; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.BUCKET_KEY; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.BUCKET_NUMBER; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.SCAN_STARTUP_MODE; +import static com.alibaba.fluss.flink.utils.CatalogTableTestUtils.addOptions; +import static com.alibaba.fluss.flink.utils.CatalogTableTestUtils.checkEqualsIgnoreSchema; +import static com.alibaba.fluss.flink.utils.CatalogTableTestUtils.checkEqualsRespectSchema; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/catalog/TestSchemaResolver.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/catalog/TestSchemaResolver.java similarity index 99% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/catalog/TestSchemaResolver.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/catalog/TestSchemaResolver.java index 3d7c9713d3..2b5efbc3a0 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/catalog/TestSchemaResolver.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/catalog/TestSchemaResolver.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.catalog; +package com.alibaba.fluss.flink.catalog; import org.apache.flink.table.api.Schema; import org.apache.flink.table.catalog.Column; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/metrics/FlinkMetricsITCase.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/metrics/FlinkMetricsITCase.java similarity index 96% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/metrics/FlinkMetricsITCase.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/metrics/FlinkMetricsITCase.java index f89995f6d3..296c76b0b0 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/metrics/FlinkMetricsITCase.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/metrics/FlinkMetricsITCase.java @@ -14,10 +14,10 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.metrics; +package com.alibaba.fluss.flink.metrics; import com.alibaba.fluss.config.ConfigOptions; -import com.alibaba.fluss.connector.flink.source.testutils.FlinkTestBase; +import com.alibaba.fluss.flink.source.testutils.FlinkTestBase; import com.alibaba.fluss.exception.FlussRuntimeException; import com.alibaba.fluss.metadata.Schema; import com.alibaba.fluss.metadata.TableDescriptor; @@ -47,7 +47,7 @@ import java.util.Arrays; import java.util.List; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.BOOTSTRAP_SERVERS; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.BOOTSTRAP_SERVERS; import static com.alibaba.fluss.server.testutils.FlussClusterExtension.BUILTIN_DATABASE; import static org.assertj.core.api.Assertions.assertThat; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/row/FlinkAsFlussRowTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/row/FlinkAsFlussRowTest.java similarity index 99% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/row/FlinkAsFlussRowTest.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/row/FlinkAsFlussRowTest.java index 5ed4edddd2..7f443b6473 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/row/FlinkAsFlussRowTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/row/FlinkAsFlussRowTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.row; +package com.alibaba.fluss.flink.row; import com.alibaba.fluss.row.BinaryString; import com.alibaba.fluss.row.Decimal; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/sink/FlinkSinkWriterTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/sink/FlinkSinkWriterTest.java similarity index 95% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/sink/FlinkSinkWriterTest.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/sink/FlinkSinkWriterTest.java index a0b82a489c..c88cca9314 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/sink/FlinkSinkWriterTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/sink/FlinkSinkWriterTest.java @@ -14,13 +14,13 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.sink; +package com.alibaba.fluss.flink.sink; import com.alibaba.fluss.config.ConfigOptions; import com.alibaba.fluss.config.Configuration; -import com.alibaba.fluss.connector.flink.sink.writer.AppendSinkWriter; -import com.alibaba.fluss.connector.flink.sink.writer.FlinkSinkWriter; -import com.alibaba.fluss.connector.flink.source.testutils.FlinkTestBase; +import com.alibaba.fluss.flink.sink.writer.AppendSinkWriter; +import com.alibaba.fluss.flink.sink.writer.FlinkSinkWriter; +import com.alibaba.fluss.flink.source.testutils.FlinkTestBase; import com.alibaba.fluss.metadata.DatabaseDescriptor; import com.alibaba.fluss.metadata.Schema; import com.alibaba.fluss.metadata.TableDescriptor; @@ -58,7 +58,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.fail; -/** Test for {@link com.alibaba.fluss.connector.flink.sink.writer.FlinkSinkWriter}. */ +/** Test for {@link com.alibaba.fluss.flink.sink.writer.FlinkSinkWriter}. */ public class FlinkSinkWriterTest extends FlinkTestBase { @ParameterizedTest diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/sink/FlinkTableSinkITCase.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/sink/FlinkTableSinkITCase.java similarity index 99% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/sink/FlinkTableSinkITCase.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/sink/FlinkTableSinkITCase.java index 66cabe4f0c..982d113298 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/sink/FlinkTableSinkITCase.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/sink/FlinkTableSinkITCase.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.sink; +package com.alibaba.fluss.flink.sink; import com.alibaba.fluss.client.Connection; import com.alibaba.fluss.client.ConnectionFactory; @@ -60,9 +60,9 @@ import java.util.Map; import java.util.stream.Collectors; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.BOOTSTRAP_SERVERS; -import static com.alibaba.fluss.connector.flink.source.testutils.FlinkTestBase.assertResultsIgnoreOrder; -import static com.alibaba.fluss.connector.flink.source.testutils.FlinkTestBase.waitUntilPartitions; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.BOOTSTRAP_SERVERS; +import static com.alibaba.fluss.flink.source.testutils.FlinkTestBase.assertResultsIgnoreOrder; +import static com.alibaba.fluss.flink.source.testutils.FlinkTestBase.waitUntilPartitions; import static com.alibaba.fluss.server.testutils.FlussClusterExtension.BUILTIN_DATABASE; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/FlinkTableSourceBatchITCase.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/FlinkTableSourceBatchITCase.java similarity index 98% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/FlinkTableSourceBatchITCase.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/FlinkTableSourceBatchITCase.java index 00d8b80dda..bf99eb834b 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/FlinkTableSourceBatchITCase.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/FlinkTableSourceBatchITCase.java @@ -14,13 +14,13 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source; +package com.alibaba.fluss.flink.source; import com.alibaba.fluss.client.table.Table; import com.alibaba.fluss.client.table.writer.AppendWriter; import com.alibaba.fluss.client.table.writer.UpsertWriter; import com.alibaba.fluss.config.ConfigOptions; -import com.alibaba.fluss.connector.flink.source.testutils.FlinkTestBase; +import com.alibaba.fluss.flink.source.testutils.FlinkTestBase; import com.alibaba.fluss.metadata.TablePath; import org.apache.commons.lang3.RandomUtils; @@ -44,7 +44,7 @@ import java.util.List; import java.util.Map; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.BOOTSTRAP_SERVERS; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.BOOTSTRAP_SERVERS; import static com.alibaba.fluss.server.testutils.FlussClusterExtension.BUILTIN_DATABASE; import static com.alibaba.fluss.testutils.DataTestUtils.row; import static org.assertj.core.api.Assertions.assertThat; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/FlinkTableSourceFailOverITCase.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/FlinkTableSourceFailOverITCase.java similarity index 94% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/FlinkTableSourceFailOverITCase.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/FlinkTableSourceFailOverITCase.java index 4459e24b22..a15586b80d 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/FlinkTableSourceFailOverITCase.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/FlinkTableSourceFailOverITCase.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source; +package com.alibaba.fluss.flink.source; import com.alibaba.fluss.client.Connection; import com.alibaba.fluss.client.ConnectionFactory; @@ -53,11 +53,11 @@ import java.util.Collections; import java.util.List; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.BOOTSTRAP_SERVERS; -import static com.alibaba.fluss.connector.flink.source.testutils.FlinkTestBase.assertResultsIgnoreOrder; -import static com.alibaba.fluss.connector.flink.source.testutils.FlinkTestBase.createPartitions; -import static com.alibaba.fluss.connector.flink.source.testutils.FlinkTestBase.dropPartitions; -import static com.alibaba.fluss.connector.flink.source.testutils.FlinkTestBase.waitUntilPartitions; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.BOOTSTRAP_SERVERS; +import static com.alibaba.fluss.flink.source.testutils.FlinkTestBase.assertResultsIgnoreOrder; +import static com.alibaba.fluss.flink.source.testutils.FlinkTestBase.createPartitions; +import static com.alibaba.fluss.flink.source.testutils.FlinkTestBase.dropPartitions; +import static com.alibaba.fluss.flink.source.testutils.FlinkTestBase.waitUntilPartitions; import static com.alibaba.fluss.testutils.DataTestUtils.row; /** IT case for flink table source fail over. */ diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/FlinkTableSourceITCase.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/FlinkTableSourceITCase.java similarity index 99% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/FlinkTableSourceITCase.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/FlinkTableSourceITCase.java index b3a65cbb64..9959705238 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/FlinkTableSourceITCase.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/FlinkTableSourceITCase.java @@ -14,14 +14,14 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source; +package com.alibaba.fluss.flink.source; import com.alibaba.fluss.client.admin.Admin; import com.alibaba.fluss.client.metadata.KvSnapshots; import com.alibaba.fluss.client.table.Table; import com.alibaba.fluss.client.table.writer.UpsertWriter; import com.alibaba.fluss.config.ConfigOptions; -import com.alibaba.fluss.connector.flink.source.testutils.FlinkTestBase; +import com.alibaba.fluss.flink.source.testutils.FlinkTestBase; import com.alibaba.fluss.metadata.TablePath; import com.alibaba.fluss.row.GenericRow; import com.alibaba.fluss.row.InternalRow; @@ -62,7 +62,7 @@ import java.util.Map; import java.util.stream.Stream; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.BOOTSTRAP_SERVERS; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.BOOTSTRAP_SERVERS; import static com.alibaba.fluss.server.testutils.FlussClusterExtension.BUILTIN_DATABASE; import static com.alibaba.fluss.testutils.DataTestUtils.row; import static com.alibaba.fluss.testutils.common.CommonTestUtils.waitUtil; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/enumerator/FlinkSourceEnumeratorTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/enumerator/FlinkSourceEnumeratorTest.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/enumerator/FlinkSourceEnumeratorTest.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/enumerator/FlinkSourceEnumeratorTest.java index b3e1fdba3d..109614d5d0 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/enumerator/FlinkSourceEnumeratorTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/enumerator/FlinkSourceEnumeratorTest.java @@ -14,21 +14,21 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.enumerator; +package com.alibaba.fluss.flink.source.enumerator; import com.alibaba.fluss.client.table.Table; import com.alibaba.fluss.client.table.writer.UpsertWriter; import com.alibaba.fluss.client.write.HashBucketAssigner; import com.alibaba.fluss.config.Configuration; -import com.alibaba.fluss.connector.flink.FlinkConnectorOptions; -import com.alibaba.fluss.connector.flink.source.enumerator.initializer.OffsetsInitializer; -import com.alibaba.fluss.connector.flink.source.event.PartitionBucketsUnsubscribedEvent; -import com.alibaba.fluss.connector.flink.source.event.PartitionsRemovedEvent; -import com.alibaba.fluss.connector.flink.source.split.HybridSnapshotLogSplit; -import com.alibaba.fluss.connector.flink.source.split.LogSplit; -import com.alibaba.fluss.connector.flink.source.split.SnapshotSplit; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitBase; -import com.alibaba.fluss.connector.flink.source.testutils.FlinkTestBase; +import com.alibaba.fluss.flink.FlinkConnectorOptions; +import com.alibaba.fluss.flink.source.enumerator.initializer.OffsetsInitializer; +import com.alibaba.fluss.flink.source.event.PartitionBucketsUnsubscribedEvent; +import com.alibaba.fluss.flink.source.event.PartitionsRemovedEvent; +import com.alibaba.fluss.flink.source.split.HybridSnapshotLogSplit; +import com.alibaba.fluss.flink.source.split.LogSplit; +import com.alibaba.fluss.flink.source.split.SnapshotSplit; +import com.alibaba.fluss.flink.source.split.SourceSplitBase; +import com.alibaba.fluss.flink.source.testutils.FlinkTestBase; import com.alibaba.fluss.metadata.Schema; import com.alibaba.fluss.metadata.TableBucket; import com.alibaba.fluss.metadata.TableDescriptor; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/lookup/FlinkLookupFunctionTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/lookup/FlinkLookupFunctionTest.java similarity index 95% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/lookup/FlinkLookupFunctionTest.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/lookup/FlinkLookupFunctionTest.java index 8a6d396b72..4760760b4d 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/lookup/FlinkLookupFunctionTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/lookup/FlinkLookupFunctionTest.java @@ -14,12 +14,12 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.lookup; +package com.alibaba.fluss.flink.source.lookup; import com.alibaba.fluss.client.table.Table; import com.alibaba.fluss.client.table.writer.UpsertWriter; -import com.alibaba.fluss.connector.flink.source.testutils.FlinkTestBase; -import com.alibaba.fluss.connector.flink.utils.FlinkConversions; +import com.alibaba.fluss.flink.source.testutils.FlinkTestBase; +import com.alibaba.fluss.flink.utils.FlinkConversions; import com.alibaba.fluss.metadata.TablePath; import org.apache.flink.table.connector.source.lookup.LookupOptions; @@ -37,7 +37,7 @@ import java.util.concurrent.CountDownLatch; import java.util.stream.Collectors; -import static com.alibaba.fluss.connector.flink.source.lookup.LookupNormalizer.createPrimaryKeyLookupNormalizer; +import static com.alibaba.fluss.flink.source.lookup.LookupNormalizer.createPrimaryKeyLookupNormalizer; import static com.alibaba.fluss.testutils.DataTestUtils.row; import static org.assertj.core.api.Assertions.assertThat; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/metrics/FlinkSourceReaderMetricsTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/metrics/FlinkSourceReaderMetricsTest.java similarity index 85% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/metrics/FlinkSourceReaderMetricsTest.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/metrics/FlinkSourceReaderMetricsTest.java index c2c8e4c08e..ae55c3fa09 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/metrics/FlinkSourceReaderMetricsTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/metrics/FlinkSourceReaderMetricsTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.metrics; +package com.alibaba.fluss.flink.source.metrics; import com.alibaba.fluss.metadata.TableBucket; @@ -25,14 +25,14 @@ import java.util.Optional; -import static com.alibaba.fluss.connector.flink.source.metrics.FlinkSourceReaderMetrics.BUCKET_GROUP; -import static com.alibaba.fluss.connector.flink.source.metrics.FlinkSourceReaderMetrics.FLUSS_METRIC_GROUP; -import static com.alibaba.fluss.connector.flink.source.metrics.FlinkSourceReaderMetrics.PARTITION_GROUP; -import static com.alibaba.fluss.connector.flink.source.metrics.FlinkSourceReaderMetrics.READER_METRIC_GROUP; +import static com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics.BUCKET_GROUP; +import static com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics.FLUSS_METRIC_GROUP; +import static com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics.PARTITION_GROUP; +import static com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics.READER_METRIC_GROUP; import static org.assertj.core.api.Assertions.assertThat; /** - * Unit test for {@link com.alibaba.fluss.connector.flink.source.metrics.FlinkSourceReaderMetrics}. + * Unit test for {@link com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics}. */ class FlinkSourceReaderMetricsTest { diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/reader/BoundedSplitReaderTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/reader/BoundedSplitReaderTest.java similarity index 98% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/reader/BoundedSplitReaderTest.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/reader/BoundedSplitReaderTest.java index 0eee0f649e..dcac66f408 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/reader/BoundedSplitReaderTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/reader/BoundedSplitReaderTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.reader; +package com.alibaba.fluss.flink.source.reader; import com.alibaba.fluss.client.table.scanner.batch.BatchScanner; import com.alibaba.fluss.row.InternalRow; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/reader/FlinkSourceReaderTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/reader/FlinkSourceReaderTest.java similarity index 94% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/reader/FlinkSourceReaderTest.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/reader/FlinkSourceReaderTest.java index b9e7b20342..67b7ce1b62 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/reader/FlinkSourceReaderTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/reader/FlinkSourceReaderTest.java @@ -14,14 +14,14 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.reader; +package com.alibaba.fluss.flink.source.reader; import com.alibaba.fluss.config.Configuration; -import com.alibaba.fluss.connector.flink.source.event.PartitionBucketsUnsubscribedEvent; -import com.alibaba.fluss.connector.flink.source.event.PartitionsRemovedEvent; -import com.alibaba.fluss.connector.flink.source.metrics.FlinkSourceReaderMetrics; -import com.alibaba.fluss.connector.flink.source.split.LogSplit; -import com.alibaba.fluss.connector.flink.source.testutils.FlinkTestBase; +import com.alibaba.fluss.flink.source.event.PartitionBucketsUnsubscribedEvent; +import com.alibaba.fluss.flink.source.event.PartitionsRemovedEvent; +import com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics; +import com.alibaba.fluss.flink.source.split.LogSplit; +import com.alibaba.fluss.flink.source.testutils.FlinkTestBase; import com.alibaba.fluss.metadata.TableBucket; import com.alibaba.fluss.metadata.TableDescriptor; import com.alibaba.fluss.metadata.TablePath; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/reader/FlinkSourceSplitReaderTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/reader/FlinkSourceSplitReaderTest.java similarity index 97% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/reader/FlinkSourceSplitReaderTest.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/reader/FlinkSourceSplitReaderTest.java index 65081bbbce..57e789e971 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/reader/FlinkSourceSplitReaderTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/reader/FlinkSourceSplitReaderTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.reader; +package com.alibaba.fluss.flink.source.reader; import com.alibaba.fluss.client.metadata.KvSnapshots; import com.alibaba.fluss.client.table.Table; @@ -22,11 +22,11 @@ import com.alibaba.fluss.client.table.writer.AppendWriter; import com.alibaba.fluss.client.table.writer.UpsertWriter; import com.alibaba.fluss.client.write.HashBucketAssigner; -import com.alibaba.fluss.connector.flink.source.metrics.FlinkSourceReaderMetrics; -import com.alibaba.fluss.connector.flink.source.split.HybridSnapshotLogSplit; -import com.alibaba.fluss.connector.flink.source.split.LogSplit; -import com.alibaba.fluss.connector.flink.source.split.SourceSplitBase; -import com.alibaba.fluss.connector.flink.source.testutils.FlinkTestBase; +import com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics; +import com.alibaba.fluss.flink.source.split.HybridSnapshotLogSplit; +import com.alibaba.fluss.flink.source.split.LogSplit; +import com.alibaba.fluss.flink.source.split.SourceSplitBase; +import com.alibaba.fluss.flink.source.testutils.FlinkTestBase; import com.alibaba.fluss.metadata.Schema; import com.alibaba.fluss.metadata.TableBucket; import com.alibaba.fluss.metadata.TableDescriptor; @@ -57,7 +57,7 @@ import java.util.Set; import static com.alibaba.fluss.client.table.scanner.log.LogScanner.EARLIEST_OFFSET; -import static com.alibaba.fluss.connector.flink.source.testutils.RecordAndPosAssert.assertThatRecordAndPos; +import static com.alibaba.fluss.flink.source.testutils.RecordAndPosAssert.assertThatRecordAndPos; import static com.alibaba.fluss.testutils.DataTestUtils.row; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/split/SourceSplitSerializerTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/split/SourceSplitSerializerTest.java similarity index 90% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/split/SourceSplitSerializerTest.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/split/SourceSplitSerializerTest.java index b321faa9c0..08644b0637 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/split/SourceSplitSerializerTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/split/SourceSplitSerializerTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.split; +package com.alibaba.fluss.flink.source.split; import com.alibaba.fluss.metadata.TableBucket; @@ -24,9 +24,9 @@ import static org.assertj.core.api.Assertions.assertThat; /** - * Unit tests for {@link com.alibaba.fluss.connector.flink.source.split.SourceSplitSerializer} of - * serializing {@link com.alibaba.fluss.connector.flink.source.split.SnapshotSplit} and {@link - * com.alibaba.fluss.connector.flink.source.split.LogSplit}. + * Unit tests for {@link com.alibaba.fluss.flink.source.split.SourceSplitSerializer} of + * serializing {@link com.alibaba.fluss.flink.source.split.SnapshotSplit} and {@link + * com.alibaba.fluss.flink.source.split.LogSplit}. */ class SourceSplitSerializerTest { diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/state/SourceEnumeratorStateSerializerTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/state/SourceEnumeratorStateSerializerTest.java similarity index 93% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/state/SourceEnumeratorStateSerializerTest.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/state/SourceEnumeratorStateSerializerTest.java index 230efd54ef..610ffc57c1 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/state/SourceEnumeratorStateSerializerTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/state/SourceEnumeratorStateSerializerTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.state; +package com.alibaba.fluss.flink.source.state; import com.alibaba.fluss.metadata.TableBucket; @@ -30,7 +30,7 @@ /** * Unit tests for {@link - * com.alibaba.fluss.connector.flink.source.state.FlussSourceEnumeratorStateSerializer}. + * com.alibaba.fluss.flink.source.state.FlussSourceEnumeratorStateSerializer}. */ class SourceEnumeratorStateSerializerTest { diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/state/SourceSplitStateTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/state/SourceSplitStateTest.java similarity index 92% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/state/SourceSplitStateTest.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/state/SourceSplitStateTest.java index d775cb31b3..739afa06a9 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/state/SourceSplitStateTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/state/SourceSplitStateTest.java @@ -14,12 +14,12 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.state; +package com.alibaba.fluss.flink.source.state; -import com.alibaba.fluss.connector.flink.source.split.HybridSnapshotLogSplit; -import com.alibaba.fluss.connector.flink.source.split.HybridSnapshotLogSplitState; -import com.alibaba.fluss.connector.flink.source.split.LogSplit; -import com.alibaba.fluss.connector.flink.source.split.LogSplitState; +import com.alibaba.fluss.flink.source.split.HybridSnapshotLogSplit; +import com.alibaba.fluss.flink.source.split.HybridSnapshotLogSplitState; +import com.alibaba.fluss.flink.source.split.LogSplit; +import com.alibaba.fluss.flink.source.split.LogSplitState; import com.alibaba.fluss.metadata.TableBucket; import org.junit.jupiter.api.Test; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/testutils/FlinkTestBase.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/testutils/FlinkTestBase.java similarity index 99% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/testutils/FlinkTestBase.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/testutils/FlinkTestBase.java index 095d32ffe2..9c3bd390a6 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/testutils/FlinkTestBase.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/testutils/FlinkTestBase.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.testutils; +package com.alibaba.fluss.flink.source.testutils; import com.alibaba.fluss.client.Connection; import com.alibaba.fluss.client.ConnectionFactory; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/testutils/RecordAndPosAssert.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/testutils/RecordAndPosAssert.java similarity index 94% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/testutils/RecordAndPosAssert.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/testutils/RecordAndPosAssert.java index ded0bfb4fd..3059c601d9 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/source/testutils/RecordAndPosAssert.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/testutils/RecordAndPosAssert.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.source.testutils; +package com.alibaba.fluss.flink.source.testutils; -import com.alibaba.fluss.connector.flink.source.reader.RecordAndPos; +import com.alibaba.fluss.flink.source.reader.RecordAndPos; import com.alibaba.fluss.types.RowType; import org.assertj.core.api.AbstractAssert; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/utils/CatalogTableTestUtils.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/utils/CatalogTableTestUtils.java similarity index 98% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/utils/CatalogTableTestUtils.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/utils/CatalogTableTestUtils.java index 64da9d08c5..b544a32577 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/utils/CatalogTableTestUtils.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/utils/CatalogTableTestUtils.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.utils; +package com.alibaba.fluss.flink.utils; import org.apache.flink.table.catalog.CatalogTable; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/utils/FlinkConnectorOptionsUtilTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/utils/FlinkConnectorOptionsUtilTest.java similarity index 90% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/utils/FlinkConnectorOptionsUtilTest.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/utils/FlinkConnectorOptionsUtilTest.java index 407aac311a..a3ad746a81 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/utils/FlinkConnectorOptionsUtilTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/utils/FlinkConnectorOptionsUtilTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.utils; +package com.alibaba.fluss.flink.utils; import org.apache.flink.table.api.ValidationException; import org.junit.jupiter.api.Test; @@ -22,8 +22,8 @@ import java.time.ZoneId; import java.util.TimeZone; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.SCAN_STARTUP_TIMESTAMP; -import static com.alibaba.fluss.connector.flink.utils.FlinkConnectorOptionsUtils.parseTimestamp; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.SCAN_STARTUP_TIMESTAMP; +import static com.alibaba.fluss.flink.utils.FlinkConnectorOptionsUtils.parseTimestamp; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/utils/FlinkConversionsTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/utils/FlinkConversionsTest.java similarity index 96% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/utils/FlinkConversionsTest.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/utils/FlinkConversionsTest.java index 94b7a8ab5c..607eedd7ef 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/utils/FlinkConversionsTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/utils/FlinkConversionsTest.java @@ -14,10 +14,10 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.utils; +package com.alibaba.fluss.flink.utils; import com.alibaba.fluss.config.ConfigOptions; -import com.alibaba.fluss.connector.flink.catalog.TestSchemaResolver; +import com.alibaba.fluss.flink.catalog.TestSchemaResolver; import com.alibaba.fluss.metadata.KvFormat; import com.alibaba.fluss.metadata.TableDescriptor; import com.alibaba.fluss.metadata.TableInfo; @@ -44,10 +44,10 @@ import java.util.List; import java.util.Map; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.BUCKET_KEY; -import static com.alibaba.fluss.connector.flink.FlinkConnectorOptions.BUCKET_NUMBER; -import static com.alibaba.fluss.connector.flink.utils.CatalogTableTestUtils.addOptions; -import static com.alibaba.fluss.connector.flink.utils.CatalogTableTestUtils.checkEqualsIgnoreSchema; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.BUCKET_KEY; +import static com.alibaba.fluss.flink.FlinkConnectorOptions.BUCKET_NUMBER; +import static com.alibaba.fluss.flink.utils.CatalogTableTestUtils.addOptions; +import static com.alibaba.fluss.flink.utils.CatalogTableTestUtils.checkEqualsIgnoreSchema; import static org.apache.flink.table.api.DataTypes.VARBINARY; import static org.apache.flink.table.api.DataTypes.VARCHAR; import static org.assertj.core.api.Assertions.assertThat; diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/utils/FlinkRowToFlussRowConverterTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/utils/FlinkRowToFlussRowConverterTest.java similarity index 94% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/utils/FlinkRowToFlussRowConverterTest.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/utils/FlinkRowToFlussRowConverterTest.java index 366f871ec3..99eac9f2df 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/utils/FlinkRowToFlussRowConverterTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/utils/FlinkRowToFlussRowConverterTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.utils; +package com.alibaba.fluss.flink.utils; import com.alibaba.fluss.metadata.KvFormat; import com.alibaba.fluss.row.InternalRow; @@ -33,12 +33,12 @@ import java.math.BigInteger; import java.time.LocalDateTime; -import static com.alibaba.fluss.connector.flink.utils.FlinkConversions.toFlinkRowType; +import static com.alibaba.fluss.flink.utils.FlinkConversions.toFlinkRowType; import static com.alibaba.fluss.row.TestInternalRowGenerator.createAllRowType; import static com.alibaba.fluss.row.indexed.IndexedRowTest.assertAllTypeEquals; import static org.assertj.core.api.Assertions.assertThat; -/** Test for {@link com.alibaba.fluss.connector.flink.utils.FlinkRowToFlussRowConverter}. */ +/** Test for {@link com.alibaba.fluss.flink.utils.FlinkRowToFlussRowConverter}. */ public class FlinkRowToFlussRowConverterTest { @Test diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/utils/FlussRowToFlinkRowConverterTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/utils/FlussRowToFlinkRowConverterTest.java similarity index 96% rename from fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/utils/FlussRowToFlinkRowConverterTest.java rename to fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/utils/FlussRowToFlinkRowConverterTest.java index e1851006db..b82b80bc25 100644 --- a/fluss-connectors/fluss-connector-flink/src/test/java/com/alibaba/fluss/connector/flink/utils/FlussRowToFlinkRowConverterTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/utils/FlussRowToFlinkRowConverterTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.alibaba.fluss.connector.flink.utils; +package com.alibaba.fluss.flink.utils; import com.alibaba.fluss.client.table.scanner.ScanRecord; import com.alibaba.fluss.record.ChangeType; @@ -38,7 +38,7 @@ import static com.alibaba.fluss.row.indexed.IndexedRowTest.genRecordForAllTypes; import static org.assertj.core.api.Assertions.assertThat; -/** Unit test for {@link com.alibaba.fluss.connector.flink.utils.FlussRowToFlinkRowConverter}. */ +/** Unit test for {@link com.alibaba.fluss.flink.utils.FlussRowToFlinkRowConverter}. */ class FlussRowToFlinkRowConverterTest { @Test diff --git a/fluss-connectors/fluss-connector-flink/src/test/java/org/apache/flink/api/common/JobInfo.java b/fluss-flink/fluss-flink-common/src/test/java/org/apache/flink/api/common/JobInfo.java similarity index 100% rename from fluss-connectors/fluss-connector-flink/src/test/java/org/apache/flink/api/common/JobInfo.java rename to fluss-flink/fluss-flink-common/src/test/java/org/apache/flink/api/common/JobInfo.java diff --git a/fluss-connectors/fluss-connector-flink/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/fluss-flink/fluss-flink-common/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension similarity index 100% rename from fluss-connectors/fluss-connector-flink/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension rename to fluss-flink/fluss-flink-common/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension diff --git a/fluss-connectors/fluss-connector-flink/src/test/resources/log4j2-test.properties b/fluss-flink/fluss-flink-common/src/test/resources/log4j2-test.properties similarity index 100% rename from fluss-connectors/fluss-connector-flink/src/test/resources/log4j2-test.properties rename to fluss-flink/fluss-flink-common/src/test/resources/log4j2-test.properties diff --git a/fluss-connectors/pom.xml b/fluss-flink/pom.xml similarity index 94% rename from fluss-connectors/pom.xml rename to fluss-flink/pom.xml index a0344339ed..c9496a54c5 100644 --- a/fluss-connectors/pom.xml +++ b/fluss-flink/pom.xml @@ -25,12 +25,12 @@ 0.7-SNAPSHOT - fluss-connectors - Fluss : Connector : + fluss-flink + Fluss : Engine Flink : pom - fluss-connector-flink + fluss-flink-common - com.alibaba.fluss.connector.flink.catalog.* + com.alibaba.fluss.flink.catalog.* - com.alibaba.fluss.connector.flink.utils.* - com.alibaba.fluss.connector.flink.source.* + com.alibaba.fluss.flink.utils.* + com.alibaba.fluss.flink.source.* - com.alibaba.fluss.connector.flink.catalog.FlinkCatalog + com.alibaba.fluss.flink.catalog.FlinkCatalog - com.alibaba.fluss.connector.flink.catalog.FlinkCatalogOptions + com.alibaba.fluss.flink.catalog.FlinkCatalogOptions - com.alibaba.fluss.connector.flink.source.FlinkTableSource.* + com.alibaba.fluss.flink.source.FlinkTableSource.* - com.alibaba.fluss.connector.flink.source.split.HybridSnapshotLogSplitState + com.alibaba.fluss.flink.source.split.HybridSnapshotLogSplitState - com.alibaba.fluss.connector.flink.source.split.LogSplitState + com.alibaba.fluss.flink.source.split.LogSplitState - com.alibaba.fluss.connector.flink.source.state.SourceEnumeratorState + com.alibaba.fluss.flink.source.state.SourceEnumeratorState - com.alibaba.fluss.connector.flink.source.event.PartitionBucketsUnsubscribedEvent + com.alibaba.fluss.flink.source.event.PartitionBucketsUnsubscribedEvent - com.alibaba.fluss.connector.flink.source.emitter.FlinkRecordEmitter + com.alibaba.fluss.flink.source.emitter.FlinkRecordEmitter - com.alibaba.fluss.connector.flink.source.reader.FlinkSourceReader + com.alibaba.fluss.flink.source.reader.FlinkSourceReader - com.alibaba.fluss.connector.flink.source.reader.RecordAndPos + com.alibaba.fluss.flink.source.reader.RecordAndPos - com.alibaba.fluss.connector.flink.sink.FlinkSink + com.alibaba.fluss.flink.sink.FlinkSink - com.alibaba.fluss.connector.flink.metrics.* + com.alibaba.fluss.flink.metrics.* com.alibaba.fluss.fs.hdfs.HadoopFsPlugin @@ -266,7 +266,7 @@ com.alibaba.fluss.lakehouse.* - com.alibaba.fluss.connector.flink.lakehouse.* + com.alibaba.fluss.flink.lakehouse.* com.alibaba.fluss.lakehouse.cli.* diff --git a/pom.xml b/pom.xml index d035e35f38..45a04c4007 100644 --- a/pom.xml +++ b/pom.xml @@ -69,7 +69,7 @@ fluss-test-utils fluss-test-coverage fluss-server - fluss-connectors + fluss-flink fluss-protogen fluss-benchmark fluss-lake From 1897ae1bd20a0e9d323c1da17c973b7494a9644e Mon Sep 17 00:00:00 2001 From: Jark Wu Date: Thu, 13 Mar 2025 17:26:43 +0800 Subject: [PATCH 2/2] [flink] Add separate fluss-flink-${flink.version} modules for Flink 1.18~1.20 --- .github/workflows/ci-flink.yaml | 55 ------ .github/workflows/ci.yaml | 15 +- .github/workflows/stage.sh | 49 +++++ fluss-flink/README.md | 24 +++ fluss-flink/fluss-flink-1.18/pom.xml | 174 ++++++++++++++++++ .../connector/sink2/WriterInitContext.java} | 4 +- .../flink/catalog/Flink118CatalogITCase.java | 20 ++ .../flink/metrics/Flink118MetricsITCase.java | 20 ++ .../flink/sink/Flink118TableSinkITCase.java | 20 ++ .../Flink118TableSourceBatchITCase.java | 20 ++ .../Flink118TableSourceFailOverITCase.java | 20 ++ .../source/Flink118TableSourceITCase.java | 20 ++ .../org.junit.jupiter.api.extension.Extension | 17 ++ .../src/test/resources/log4j2-test.properties | 30 +++ fluss-flink/fluss-flink-1.19/pom.xml | 174 ++++++++++++++++++ .../flink/catalog/Flink119CatalogITCase.java | 20 ++ .../flink/metrics/Flink119MetricsITCase.java | 20 ++ .../flink/sink/Flink119TableSinkITCase.java | 20 ++ .../Flink119TableSourceBatchITCase.java | 20 ++ .../Flink119TableSourceFailOverITCase.java | 20 ++ .../source/Flink119TableSourceITCase.java | 20 ++ .../org.junit.jupiter.api.extension.Extension | 17 ++ .../src/test/resources/log4j2-test.properties | 30 +++ fluss-flink/fluss-flink-1.20/pom.xml | 165 +++++++++++++++++ fluss-flink/fluss-flink-common/pom.xml | 47 +---- .../fluss/flink/catalog/FlinkCatalog.java | 2 +- .../alibaba/fluss/flink/sink/FlinkSink.java | 1 + .../lookup/FlinkAsyncLookupFunction.java | 2 +- .../source/reader/FlinkSourceSplitReader.java | 2 +- .../fluss/flink/utils/PushdownUtils.java | 2 +- .../flink/metrics/FlinkMetricsITCase.java | 2 +- .../fluss/flink/sink/FlinkSinkWriterTest.java | 111 +---------- .../flink/sink/MockWriterInitContext.java | 104 +++++++++++ .../metrics/FlinkSourceReaderMetricsTest.java | 4 +- .../split/SourceSplitSerializerTest.java | 4 +- .../SourceEnumeratorStateSerializerTest.java | 3 +- .../src/test/resources/log4j2-test.properties | 3 + fluss-flink/pom.xml | 3 + .../fluss-lakehouse-paimon/pom.xml | 4 +- .../src/test/resources/log4j2-test.properties | 3 + fluss-test-coverage/pom.xml | 140 ++++++++++---- tools/ci/log4j.properties | 4 + website/docs/engine-flink/getting-started.md | 6 +- website/docs/quickstart/flink.md | 4 +- 44 files changed, 1192 insertions(+), 253 deletions(-) delete mode 100644 .github/workflows/ci-flink.yaml create mode 100755 .github/workflows/stage.sh create mode 100644 fluss-flink/README.md create mode 100644 fluss-flink/fluss-flink-1.18/pom.xml rename fluss-flink/{fluss-flink-common/src/test/java/org/apache/flink/api/common/JobInfo.java => fluss-flink-1.18/src/main/java/org/apache/flink/api/connector/sink2/WriterInitContext.java} (86%) create mode 100644 fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/catalog/Flink118CatalogITCase.java create mode 100644 fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/metrics/Flink118MetricsITCase.java create mode 100644 fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/sink/Flink118TableSinkITCase.java create mode 100644 fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/source/Flink118TableSourceBatchITCase.java create mode 100644 fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/source/Flink118TableSourceFailOverITCase.java create mode 100644 fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/source/Flink118TableSourceITCase.java create mode 100644 fluss-flink/fluss-flink-1.18/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension create mode 100644 fluss-flink/fluss-flink-1.18/src/test/resources/log4j2-test.properties create mode 100644 fluss-flink/fluss-flink-1.19/pom.xml create mode 100644 fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/catalog/Flink119CatalogITCase.java create mode 100644 fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/metrics/Flink119MetricsITCase.java create mode 100644 fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/sink/Flink119TableSinkITCase.java create mode 100644 fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/source/Flink119TableSourceBatchITCase.java create mode 100644 fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/source/Flink119TableSourceFailOverITCase.java create mode 100644 fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/source/Flink119TableSourceITCase.java create mode 100644 fluss-flink/fluss-flink-1.19/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension create mode 100644 fluss-flink/fluss-flink-1.19/src/test/resources/log4j2-test.properties create mode 100644 fluss-flink/fluss-flink-1.20/pom.xml create mode 100644 fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/sink/MockWriterInitContext.java diff --git a/.github/workflows/ci-flink.yaml b/.github/workflows/ci-flink.yaml deleted file mode 100644 index 95ab7833ab..0000000000 --- a/.github/workflows/ci-flink.yaml +++ /dev/null @@ -1,55 +0,0 @@ -################################################################################ -# Copyright (c) 2025 Alibaba Group Holding Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -################################################################################ -name: Tests for Flink -on: - push: - branches: - - main - - release-** - - ci-** - pull_request: - paths-ignore: - - 'website/**' - - '**/*.md' -concurrency: - group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event.number || github.run_id }} - cancel-in-progress: true - -jobs: - build: - runs-on: self-hosted - strategy: - fail-fast: false - matrix: - version: [1.19, 1.18] - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - name: Build - run: mvn -T 1C -B clean install -DskipTests -Pflink-${{ matrix.version }} - - name: Test Flink ${{ matrix.version }} - timeout-minutes: 60 - run: | - mvn -B verify -Pflink-${{ matrix.version }} -pl fluss-connectors/fluss-connector-flink -Dlog.dir=${{ runner.temp }}/fluss-logs -Dlog4j.configurationFile=${{ github.workspace }}/tools/ci/log4j.properties - env: - MAVEN_OPTS: -Xmx4096m - - name: Upload build logs - uses: actions/upload-artifact@v4 - if: ${{ failure() }} - with: - name: logs-flink-${{ matrix.version }}-test-${{ github.run_number}}#${{ github.run_attempt }} - path: ${{ runner.temp }}/fluss-logs/* \ No newline at end of file diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c9041b381f..b201c4116e 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. ################################################################################ -name: Tests on JDK 8 +name: CI on: push: branches: @@ -31,13 +31,22 @@ concurrency: jobs: build: runs-on: self-hosted + strategy: + fail-fast: false + matrix: + module: [ core, flink ] steps: - name: Checkout code uses: actions/checkout@v2 + - name: Build + run: | + mvn -T 1C -B clean install -DskipTests - name: Test timeout-minutes: 60 run: | - mvn -B verify -Ptest-coverage -Dlog.dir=${{ runner.temp }}/fluss-logs -Dlog4j.configurationFile=${{ github.workspace }}/tools/ci/log4j.properties + TEST_MODULES=$(./.github/workflows/stage.sh ${{ matrix.module }}) + echo "Start testing modules: $TEST_MODULES" + mvn -B verify $TEST_MODULES -Ptest-coverage -Ptest-${{ matrix.module }} -Dlog.dir=${{ runner.temp }}/fluss-logs -Dlog4j.configurationFile=${{ github.workspace }}/tools/ci/log4j.properties env: MAVEN_OPTS: -Xmx4096m ARTIFACTS_OSS_ENDPOINT: ${{ secrets.ARTIFACTS_OSS_ENDPOINT }} @@ -51,5 +60,5 @@ jobs: uses: actions/upload-artifact@v4 if: ${{ failure() }} with: - name: logs-test-${{ github.run_number}}#${{ github.run_attempt }} + name: logs-test-${{ matrix.module }}-${{ github.run_number}}#${{ github.run_attempt }} path: ${{ runner.temp }}/fluss-logs/* \ No newline at end of file diff --git a/.github/workflows/stage.sh b/.github/workflows/stage.sh new file mode 100755 index 0000000000..718fc8f81c --- /dev/null +++ b/.github/workflows/stage.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash +################################################################################ +# Copyright (c) 2025 Alibaba Group Holding Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +################################################################################ + +STAGE_CORE="core" +STAGE_FLINK="flink" + +MODULES_FLINK="\ +fluss-flink,\ +fluss-flink/fluss-flink-common,\ +fluss-flink/fluss-flink-1.20,\ +fluss-flink/fluss-flink-1.19,\ +fluss-flink/fluss-flink-1.18,\ +fluss-lakehouse,\ +fluss-lakehouse/fluss-lakehouse-cli,\ +fluss-lakehouse/fluss-lakehouse-paimon,\ +fluss-lake,\ +" + +function get_test_modules_for_stage() { + local stage=$1 + + local modules_flink=$MODULES_FLINK + local modules_core=\!${MODULES_FLINK//,/,\!} + + case ${stage} in + (${STAGE_CORE}) + echo "-pl $modules_core" + ;; + (${STAGE_FLINK}) + echo "-pl fluss-test-coverage,$modules_flink" + ;; + esac +} + +get_test_modules_for_stage $1 diff --git a/fluss-flink/README.md b/fluss-flink/README.md new file mode 100644 index 0000000000..f7e1858acf --- /dev/null +++ b/fluss-flink/README.md @@ -0,0 +1,24 @@ + + +# Multi-Version Support for Flink Engine + +Fluss supports multiple versions of Apache Flink by providing dedicated modules for each version. +The `fluss-flink-common` module always targets the latest version of Flink, while the `fluss-flink-${flink.version}` modules depend on both `fluss-flink-common` and the corresponding Flink version. + +Occasionally, Flink's interfaces may change across versions. For example, the class `org.apache.flink.api.connector.sink2.WriterInitContext` was +introduced in Flink v1.19, while older APIs were deprecated or removed. In such cases, we address compatibility issues within the specific `fluss-flink-${flink.version}` module. +This may involve introducing placeholder classes, such as `org.apache.flink.api.connector.sink2.WriterInitContext`, to ensure successful compilation. \ No newline at end of file diff --git a/fluss-flink/fluss-flink-1.18/pom.xml b/fluss-flink/fluss-flink-1.18/pom.xml new file mode 100644 index 0000000000..a98a887619 --- /dev/null +++ b/fluss-flink/fluss-flink-1.18/pom.xml @@ -0,0 +1,174 @@ + + + + + 4.0.0 + + com.alibaba.fluss + fluss-flink + 0.7-SNAPSHOT + + + fluss-flink-1.18 + + Fluss : Engine Flink : 1.18 + + + 1.18 + 1.18.1 + + + + + + com.alibaba.fluss + fluss-client + ${project.version} + + + + com.alibaba.fluss + fluss-flink-common + ${project.version} + + + * + * + + + + + + + org.apache.flink + flink-core + ${flink.minor.version} + provided + + + + org.apache.flink + flink-table-common + ${flink.minor.version} + provided + + + + + com.alibaba.fluss + fluss-flink-common + ${project.version} + test + test-jar + + + + com.alibaba.fluss + fluss-server + ${project.version} + test + + + + org.apache.flink + flink-table-test-utils + ${flink.minor.version} + test + + + + org.apache.flink + flink-connector-base + ${flink.minor.version} + test + + + + + com.alibaba.fluss + fluss-server + ${project.version} + test + test-jar + + + + + org.apache.curator + curator-test + ${curator.version} + test + + + + org.apache.flink + flink-table-common + ${flink.minor.version} + test + test-jar + + + + org.apache.flink + flink-connector-test-utils + ${flink.minor.version} + test + + + + + com.alibaba.fluss + fluss-test-utils + + + + com.alibaba.fluss + fluss-common + ${project.version} + test + test-jar + + + + + + + org.apache.maven.plugins + maven-shade-plugin + + + shade-fluss + package + + shade + + + + + com.alibaba.fluss:fluss-client + + + + + + + + + + \ No newline at end of file diff --git a/fluss-flink/fluss-flink-common/src/test/java/org/apache/flink/api/common/JobInfo.java b/fluss-flink/fluss-flink-1.18/src/main/java/org/apache/flink/api/connector/sink2/WriterInitContext.java similarity index 86% rename from fluss-flink/fluss-flink-common/src/test/java/org/apache/flink/api/common/JobInfo.java rename to fluss-flink/fluss-flink-1.18/src/main/java/org/apache/flink/api/connector/sink2/WriterInitContext.java index e0fe6670de..4fdc786238 100644 --- a/fluss-flink/fluss-flink-common/src/test/java/org/apache/flink/api/common/JobInfo.java +++ b/fluss-flink/fluss-flink-1.18/src/main/java/org/apache/flink/api/connector/sink2/WriterInitContext.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.apache.flink.api.common; +package org.apache.flink.api.connector.sink2; /** Placeholder class to resolve compatibility issues. */ -public interface JobInfo {} +public interface WriterInitContext extends Sink.InitContext {} diff --git a/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/catalog/Flink118CatalogITCase.java b/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/catalog/Flink118CatalogITCase.java new file mode 100644 index 0000000000..7f7b8915fa --- /dev/null +++ b/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/catalog/Flink118CatalogITCase.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.alibaba.fluss.flink.catalog; + +/** IT case for catalog in Flink 1.18. */ +public class Flink118CatalogITCase extends FlinkCatalogITCase {} diff --git a/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/metrics/Flink118MetricsITCase.java b/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/metrics/Flink118MetricsITCase.java new file mode 100644 index 0000000000..bbd0518335 --- /dev/null +++ b/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/metrics/Flink118MetricsITCase.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.alibaba.fluss.flink.metrics; + +/** IT case for metrics in Flink 1.18. */ +public class Flink118MetricsITCase extends FlinkMetricsITCase {} diff --git a/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/sink/Flink118TableSinkITCase.java b/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/sink/Flink118TableSinkITCase.java new file mode 100644 index 0000000000..a43494062c --- /dev/null +++ b/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/sink/Flink118TableSinkITCase.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.alibaba.fluss.flink.sink; + +/** IT case for {@link FlinkTableSink} in Flink 1.18. */ +public class Flink118TableSinkITCase extends FlinkTableSinkITCase {} diff --git a/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/source/Flink118TableSourceBatchITCase.java b/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/source/Flink118TableSourceBatchITCase.java new file mode 100644 index 0000000000..e0d0e8ca66 --- /dev/null +++ b/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/source/Flink118TableSourceBatchITCase.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.alibaba.fluss.flink.source; + +/** IT case for batch source in Flink 1.18. */ +public class Flink118TableSourceBatchITCase extends FlinkTableSourceBatchITCase {} diff --git a/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/source/Flink118TableSourceFailOverITCase.java b/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/source/Flink118TableSourceFailOverITCase.java new file mode 100644 index 0000000000..9f24735389 --- /dev/null +++ b/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/source/Flink118TableSourceFailOverITCase.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.alibaba.fluss.flink.source; + +/** IT case for source failover and recovery in Flink 1.18. */ +public class Flink118TableSourceFailOverITCase extends FlinkTableSourceFailOverITCase {} diff --git a/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/source/Flink118TableSourceITCase.java b/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/source/Flink118TableSourceITCase.java new file mode 100644 index 0000000000..19edfd9a37 --- /dev/null +++ b/fluss-flink/fluss-flink-1.18/src/test/java/com/alibaba/fluss/flink/source/Flink118TableSourceITCase.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.alibaba.fluss.flink.source; + +/** IT case for {@link FlinkTableSource} in Flink 1.18. */ +public class Flink118TableSourceITCase extends FlinkTableSourceITCase {} diff --git a/fluss-flink/fluss-flink-1.18/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/fluss-flink/fluss-flink-1.18/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension new file mode 100644 index 0000000000..2070249a19 --- /dev/null +++ b/fluss-flink/fluss-flink-1.18/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension @@ -0,0 +1,17 @@ +# +# Copyright (c) 2025 Alibaba Group Holding Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +com.alibaba.fluss.testutils.common.TestLoggerExtension \ No newline at end of file diff --git a/fluss-flink/fluss-flink-1.18/src/test/resources/log4j2-test.properties b/fluss-flink/fluss-flink-1.18/src/test/resources/log4j2-test.properties new file mode 100644 index 0000000000..0d5a765b70 --- /dev/null +++ b/fluss-flink/fluss-flink-1.18/src/test/resources/log4j2-test.properties @@ -0,0 +1,30 @@ +# +# Copyright (c) 2025 Alibaba Group Holding Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Set root logger level to OFF to not flood build logs +# set manually to INFO for debugging purposes +rootLogger.level = OFF +rootLogger.appenderRef.test.ref = TestLogger + +appender.testlogger.name = TestLogger +appender.testlogger.type = CONSOLE +appender.testlogger.target = SYSTEM_ERR +appender.testlogger.layout.type = PatternLayout +appender.testlogger.layout.pattern = %-4r [%t] %-5p %c %x - %m%n + +# suppress the duplicated logger extension +logger.flink.name = org.apache.flink.util.TestLoggerExtension +logger.flink.level = OFF \ No newline at end of file diff --git a/fluss-flink/fluss-flink-1.19/pom.xml b/fluss-flink/fluss-flink-1.19/pom.xml new file mode 100644 index 0000000000..49e8c207de --- /dev/null +++ b/fluss-flink/fluss-flink-1.19/pom.xml @@ -0,0 +1,174 @@ + + + + + 4.0.0 + + com.alibaba.fluss + fluss-flink + 0.7-SNAPSHOT + + + fluss-flink-1.19 + + Fluss : Engine Flink : 1.19 + + + 1.19 + 1.19.2 + + + + + + com.alibaba.fluss + fluss-client + ${project.version} + + + + com.alibaba.fluss + fluss-flink-common + ${project.version} + + + * + * + + + + + + + org.apache.flink + flink-core + ${flink.minor.version} + provided + + + + org.apache.flink + flink-table-common + ${flink.minor.version} + provided + + + + + + com.alibaba.fluss + fluss-flink-common + ${project.version} + test + test-jar + + + + com.alibaba.fluss + fluss-server + ${project.version} + test + + + + org.apache.flink + flink-table-test-utils + ${flink.minor.version} + test + + + + org.apache.flink + flink-connector-base + ${flink.minor.version} + test + + + + com.alibaba.fluss + fluss-server + ${project.version} + test + test-jar + + + + + org.apache.curator + curator-test + ${curator.version} + test + + + + org.apache.flink + flink-table-common + ${flink.minor.version} + test + test-jar + + + + org.apache.flink + flink-connector-test-utils + ${flink.minor.version} + test + + + + + com.alibaba.fluss + fluss-test-utils + + + + com.alibaba.fluss + fluss-common + ${project.version} + test + test-jar + + + + + + + org.apache.maven.plugins + maven-shade-plugin + + + shade-fluss + package + + shade + + + + + com.alibaba.fluss:fluss-client + + + + + + + + + + \ No newline at end of file diff --git a/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/catalog/Flink119CatalogITCase.java b/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/catalog/Flink119CatalogITCase.java new file mode 100644 index 0000000000..2d18a9f71c --- /dev/null +++ b/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/catalog/Flink119CatalogITCase.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.alibaba.fluss.flink.catalog; + +/** IT case for catalog in Flink 1.19. */ +public class Flink119CatalogITCase extends FlinkCatalogITCase {} diff --git a/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/metrics/Flink119MetricsITCase.java b/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/metrics/Flink119MetricsITCase.java new file mode 100644 index 0000000000..2c930a7b72 --- /dev/null +++ b/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/metrics/Flink119MetricsITCase.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.alibaba.fluss.flink.metrics; + +/** IT case for metrics in Flink 1.19. */ +public class Flink119MetricsITCase extends FlinkMetricsITCase {} diff --git a/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/sink/Flink119TableSinkITCase.java b/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/sink/Flink119TableSinkITCase.java new file mode 100644 index 0000000000..e32d2a38bc --- /dev/null +++ b/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/sink/Flink119TableSinkITCase.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.alibaba.fluss.flink.sink; + +/** IT case for {@link FlinkTableSink} in Flink 1.19. */ +public class Flink119TableSinkITCase extends FlinkTableSinkITCase {} diff --git a/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/source/Flink119TableSourceBatchITCase.java b/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/source/Flink119TableSourceBatchITCase.java new file mode 100644 index 0000000000..f8c82e67f6 --- /dev/null +++ b/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/source/Flink119TableSourceBatchITCase.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.alibaba.fluss.flink.source; + +/** IT case for batch source in Flink 1.19. */ +public class Flink119TableSourceBatchITCase extends FlinkTableSourceBatchITCase {} diff --git a/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/source/Flink119TableSourceFailOverITCase.java b/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/source/Flink119TableSourceFailOverITCase.java new file mode 100644 index 0000000000..4018c7fe06 --- /dev/null +++ b/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/source/Flink119TableSourceFailOverITCase.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.alibaba.fluss.flink.source; + +/** IT case for source failover and recovery in Flink 1.19. */ +public class Flink119TableSourceFailOverITCase extends FlinkTableSourceFailOverITCase {} diff --git a/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/source/Flink119TableSourceITCase.java b/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/source/Flink119TableSourceITCase.java new file mode 100644 index 0000000000..bd0bbda3aa --- /dev/null +++ b/fluss-flink/fluss-flink-1.19/src/test/java/com/alibaba/fluss/flink/source/Flink119TableSourceITCase.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.alibaba.fluss.flink.source; + +/** IT case for {@link FlinkTableSource} in Flink 1.19. */ +public class Flink119TableSourceITCase extends FlinkTableSourceITCase {} diff --git a/fluss-flink/fluss-flink-1.19/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/fluss-flink/fluss-flink-1.19/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension new file mode 100644 index 0000000000..2070249a19 --- /dev/null +++ b/fluss-flink/fluss-flink-1.19/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension @@ -0,0 +1,17 @@ +# +# Copyright (c) 2025 Alibaba Group Holding Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +com.alibaba.fluss.testutils.common.TestLoggerExtension \ No newline at end of file diff --git a/fluss-flink/fluss-flink-1.19/src/test/resources/log4j2-test.properties b/fluss-flink/fluss-flink-1.19/src/test/resources/log4j2-test.properties new file mode 100644 index 0000000000..73334fd259 --- /dev/null +++ b/fluss-flink/fluss-flink-1.19/src/test/resources/log4j2-test.properties @@ -0,0 +1,30 @@ +# +# Copyright (c) 2025 Alibaba Group Holding Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Set root logger level to OFF to not flood build logs +# set manually to INFO for debugging purposes +rootLogger.level = OFF +rootLogger.appenderRef.test.ref = TestLogger + +appender.testlogger.name = TestLogger +appender.testlogger.type = CONSOLE +appender.testlogger.target = SYSTEM_ERR +appender.testlogger.layout.type = PatternLayout +appender.testlogger.layout.pattern = %-4r [%t] %-5p %c %x - %m%n + +# suppress the duplicated logger extension +logger.flink.name = org.apache.flink.util.TestLoggerExtension +logger.flink.level = OFF diff --git a/fluss-flink/fluss-flink-1.20/pom.xml b/fluss-flink/fluss-flink-1.20/pom.xml new file mode 100644 index 0000000000..7e7f823424 --- /dev/null +++ b/fluss-flink/fluss-flink-1.20/pom.xml @@ -0,0 +1,165 @@ + + + + + 4.0.0 + + com.alibaba.fluss + fluss-flink + 0.7-SNAPSHOT + + + fluss-flink-1.20 + + Fluss : Engine Flink : 1.20 + + + 1.20 + 1.20.1 + + + + + + com.alibaba.fluss + fluss-client + ${project.version} + + + + com.alibaba.fluss + fluss-flink-common + ${project.version} + + + * + * + + + + + + + org.apache.flink + flink-core + ${flink.minor.version} + provided + + + + org.apache.flink + flink-table-common + ${flink.minor.version} + provided + + + + + com.alibaba.fluss + fluss-server + ${project.version} + test + + + + org.apache.flink + flink-table-test-utils + ${flink.minor.version} + test + + + + org.apache.flink + flink-connector-base + ${flink.minor.version} + test + + + + com.alibaba.fluss + fluss-server + ${project.version} + test + test-jar + + + + + org.apache.curator + curator-test + ${curator.version} + test + + + + org.apache.flink + flink-table-common + ${flink.minor.version} + test + test-jar + + + + org.apache.flink + flink-connector-test-utils + ${flink.minor.version} + test + + + + + com.alibaba.fluss + fluss-test-utils + + + + com.alibaba.fluss + fluss-common + ${project.version} + test + test-jar + + + + + + + org.apache.maven.plugins + maven-shade-plugin + + + shade-fluss + package + + shade + + + + + com.alibaba.fluss:fluss-client + + + + + + + + + + \ No newline at end of file diff --git a/fluss-flink/fluss-flink-common/pom.xml b/fluss-flink/fluss-flink-common/pom.xml index 0118869d08..4adc76a75e 100644 --- a/fluss-flink/fluss-flink-common/pom.xml +++ b/fluss-flink/fluss-flink-common/pom.xml @@ -69,6 +69,7 @@ org.apache.flink flink-connector-base ${flink.minor.version} + provided @@ -108,6 +109,13 @@ test + + org.apache.flink + flink-connector-base + ${flink.minor.version} + test + + com.alibaba.fluss fluss-server @@ -155,47 +163,8 @@ - - - flink-1.18 - - 1.18 - 1.18.1 - - - - - flink-1.19 - - 1.19 - 1.19.2 - - - - - - org.apache.maven.plugins - maven-shade-plugin - - - shade-fluss - package - - shade - - - - - com.alibaba.fluss:fluss-client - - - - - - - org.apache.maven.plugins maven-jar-plugin diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/catalog/FlinkCatalog.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/catalog/FlinkCatalog.java index 1fc5b12ba6..680aede3ce 100644 --- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/catalog/FlinkCatalog.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/catalog/FlinkCatalog.java @@ -21,11 +21,11 @@ import com.alibaba.fluss.client.admin.Admin; import com.alibaba.fluss.config.ConfigOptions; import com.alibaba.fluss.config.Configuration; +import com.alibaba.fluss.exception.FlussRuntimeException; import com.alibaba.fluss.flink.lakehouse.LakeCatalog; import com.alibaba.fluss.flink.utils.CatalogExceptionUtils; import com.alibaba.fluss.flink.utils.DataLakeUtils; import com.alibaba.fluss.flink.utils.FlinkConversions; -import com.alibaba.fluss.exception.FlussRuntimeException; import com.alibaba.fluss.metadata.DatabaseDescriptor; import com.alibaba.fluss.metadata.PartitionInfo; import com.alibaba.fluss.metadata.PartitionSpec; diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/FlinkSink.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/FlinkSink.java index eea9612831..7985a99b86 100644 --- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/FlinkSink.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/sink/FlinkSink.java @@ -54,6 +54,7 @@ public SinkWriter createWriter(InitContext context) throws IOException return flinkSinkWriter; } + @Override public SinkWriter createWriter(WriterInitContext context) throws IOException { FlinkSinkWriter flinkSinkWriter = builder.createWriter(); flinkSinkWriter.initialize(InternalSinkWriterMetricGroup.wrap(context.metricGroup())); diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/lookup/FlinkAsyncLookupFunction.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/lookup/FlinkAsyncLookupFunction.java index d63ffb1ffa..1e279e4d95 100644 --- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/lookup/FlinkAsyncLookupFunction.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/lookup/FlinkAsyncLookupFunction.java @@ -23,12 +23,12 @@ import com.alibaba.fluss.client.lookup.Lookuper; import com.alibaba.fluss.client.table.Table; import com.alibaba.fluss.config.Configuration; +import com.alibaba.fluss.exception.TableNotExistException; import com.alibaba.fluss.flink.row.FlinkAsFlussRow; import com.alibaba.fluss.flink.source.lookup.LookupNormalizer.RemainingFilter; import com.alibaba.fluss.flink.utils.FlinkConversions; import com.alibaba.fluss.flink.utils.FlinkUtils; import com.alibaba.fluss.flink.utils.FlussRowToFlinkRowConverter; -import com.alibaba.fluss.exception.TableNotExistException; import com.alibaba.fluss.metadata.TablePath; import com.alibaba.fluss.row.InternalRow; import com.alibaba.fluss.row.ProjectedRow; diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/FlinkSourceSplitReader.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/FlinkSourceSplitReader.java index dd4d647806..2ff51c41a3 100644 --- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/FlinkSourceSplitReader.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/source/reader/FlinkSourceSplitReader.java @@ -24,6 +24,7 @@ import com.alibaba.fluss.client.table.scanner.log.LogScanner; import com.alibaba.fluss.client.table.scanner.log.ScanRecords; import com.alibaba.fluss.config.Configuration; +import com.alibaba.fluss.exception.PartitionNotExistException; import com.alibaba.fluss.flink.lakehouse.LakeSplitReaderGenerator; import com.alibaba.fluss.flink.metrics.FlinkMetricRegistry; import com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics; @@ -31,7 +32,6 @@ import com.alibaba.fluss.flink.source.split.LogSplit; import com.alibaba.fluss.flink.source.split.SnapshotSplit; import com.alibaba.fluss.flink.source.split.SourceSplitBase; -import com.alibaba.fluss.exception.PartitionNotExistException; import com.alibaba.fluss.metadata.TableBucket; import com.alibaba.fluss.metadata.TablePath; import com.alibaba.fluss.types.RowType; diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/PushdownUtils.java b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/PushdownUtils.java index 197876036c..131a1b3fd1 100644 --- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/PushdownUtils.java +++ b/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/PushdownUtils.java @@ -29,9 +29,9 @@ import com.alibaba.fluss.client.table.scanner.batch.BatchScanner; import com.alibaba.fluss.client.table.writer.UpsertWriter; import com.alibaba.fluss.config.Configuration; +import com.alibaba.fluss.exception.FlussRuntimeException; import com.alibaba.fluss.flink.source.lookup.FlinkLookupFunction; import com.alibaba.fluss.flink.source.lookup.LookupNormalizer; -import com.alibaba.fluss.exception.FlussRuntimeException; import com.alibaba.fluss.metadata.PartitionInfo; import com.alibaba.fluss.metadata.TableBucket; import com.alibaba.fluss.metadata.TableInfo; diff --git a/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/metrics/FlinkMetricsITCase.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/metrics/FlinkMetricsITCase.java index 296c76b0b0..a83db4d1ba 100644 --- a/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/metrics/FlinkMetricsITCase.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/metrics/FlinkMetricsITCase.java @@ -17,8 +17,8 @@ package com.alibaba.fluss.flink.metrics; import com.alibaba.fluss.config.ConfigOptions; -import com.alibaba.fluss.flink.source.testutils.FlinkTestBase; import com.alibaba.fluss.exception.FlussRuntimeException; +import com.alibaba.fluss.flink.source.testutils.FlinkTestBase; import com.alibaba.fluss.metadata.Schema; import com.alibaba.fluss.metadata.TableDescriptor; import com.alibaba.fluss.metadata.TablePath; diff --git a/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/sink/FlinkSinkWriterTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/sink/FlinkSinkWriterTest.java index c88cca9314..d18f6cb804 100644 --- a/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/sink/FlinkSinkWriterTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/sink/FlinkSinkWriterTest.java @@ -26,37 +26,26 @@ import com.alibaba.fluss.metadata.TableDescriptor; import com.alibaba.fluss.metadata.TablePath; -import org.apache.flink.api.common.JobID; -import org.apache.flink.api.common.JobInfo; -import org.apache.flink.api.common.TaskInfo; -import org.apache.flink.api.common.operators.MailboxExecutor; -import org.apache.flink.api.common.operators.ProcessingTimeService; -import org.apache.flink.api.common.serialization.SerializationSchema; -import org.apache.flink.api.common.typeutils.TypeSerializer; +import org.apache.flink.api.common.functions.RuntimeContext; import org.apache.flink.api.connector.sink2.SinkWriter; import org.apache.flink.api.connector.sink2.WriterInitContext; import org.apache.flink.metrics.Counter; import org.apache.flink.metrics.Gauge; import org.apache.flink.metrics.Metric; import org.apache.flink.metrics.groups.OperatorMetricGroup; -import org.apache.flink.metrics.groups.SinkWriterMetricGroup; import org.apache.flink.runtime.metrics.MetricNames; -import org.apache.flink.runtime.metrics.groups.InternalSinkWriterMetricGroup; import org.apache.flink.runtime.metrics.util.InterceptingOperatorMetricGroup; import org.apache.flink.streaming.util.MockStreamingRuntimeContext; import org.apache.flink.table.api.DataTypes; import org.apache.flink.table.data.GenericRowData; import org.apache.flink.table.data.StringData; import org.apache.flink.table.types.logical.RowType; -import org.apache.flink.util.UserCodeClassLoader; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; import java.util.Arrays; -import java.util.OptionalLong; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; /** Test for {@link com.alibaba.fluss.flink.sink.writer.FlinkSinkWriter}. */ public class FlinkSinkWriterTest extends FlinkTestBase { @@ -96,8 +85,8 @@ public OperatorMetricGroup getMetricGroup() { return interceptingOperatorMetricGroup; } }; - MockWriterInitContext mockWriterInitContext = - new MockWriterInitContext(mockStreamingRuntimeContext); + WriterInitContext mockWriterInitContext = + mockWriterInitContext(mockStreamingRuntimeContext); flinkSinkWriter.initialize(mockWriterInitContext.metricGroup()); flinkSinkWriter.write( @@ -116,6 +105,10 @@ public OperatorMetricGroup getMetricGroup() { flinkSinkWriter.close(); } + protected WriterInitContext mockWriterInitContext(RuntimeContext runtimeContext) { + return new MockWriterInitContext(runtimeContext); + } + static class MockSinkWriterContext implements SinkWriter.Context { @Override public long currentWatermark() { @@ -127,94 +120,4 @@ public Long timestamp() { return 0L; } } - - static class MockWriterInitContext implements WriterInitContext { - - private static final String UNEXPECTED_METHOD_CALL_MESSAGE = - "Unexpected method call. Expected that this method will never be called by a test case."; - - private final MockStreamingRuntimeContext mockStreamingRuntimeContext; - - public MockWriterInitContext(MockStreamingRuntimeContext mockStreamingRuntimeContext) { - this.mockStreamingRuntimeContext = mockStreamingRuntimeContext; - } - - @Override - public UserCodeClassLoader getUserCodeClassLoader() { - fail(UNEXPECTED_METHOD_CALL_MESSAGE); - return null; - } - - @Override - public MailboxExecutor getMailboxExecutor() { - fail(UNEXPECTED_METHOD_CALL_MESSAGE); - return null; - } - - @Override - public ProcessingTimeService getProcessingTimeService() { - fail(UNEXPECTED_METHOD_CALL_MESSAGE); - return null; - } - - @Override - public SinkWriterMetricGroup metricGroup() { - return InternalSinkWriterMetricGroup.wrap(mockStreamingRuntimeContext.getMetricGroup()); - } - - @Override - public SerializationSchema.InitializationContext - asSerializationSchemaInitializationContext() { - fail(UNEXPECTED_METHOD_CALL_MESSAGE); - return null; - } - - @Override - public boolean isObjectReuseEnabled() { - fail(UNEXPECTED_METHOD_CALL_MESSAGE); - return false; - } - - @Override - public TypeSerializer createInputSerializer() { - fail(UNEXPECTED_METHOD_CALL_MESSAGE); - return null; - } - - @Override - public OptionalLong getRestoredCheckpointId() { - fail(UNEXPECTED_METHOD_CALL_MESSAGE); - return OptionalLong.empty(); - } - - public JobInfo getJobInfo() { - fail(UNEXPECTED_METHOD_CALL_MESSAGE); - return null; - } - - public TaskInfo getTaskInfo() { - fail(UNEXPECTED_METHOD_CALL_MESSAGE); - return null; - } - - public int getSubtaskId() { - fail(UNEXPECTED_METHOD_CALL_MESSAGE); - return 0; - } - - public int getNumberOfParallelSubtasks() { - fail(UNEXPECTED_METHOD_CALL_MESSAGE); - return 0; - } - - public int getAttemptNumber() { - fail(UNEXPECTED_METHOD_CALL_MESSAGE); - return 0; - } - - public JobID getJobId() { - fail(UNEXPECTED_METHOD_CALL_MESSAGE); - return null; - } - } } diff --git a/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/sink/MockWriterInitContext.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/sink/MockWriterInitContext.java new file mode 100644 index 0000000000..52e193cfec --- /dev/null +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/sink/MockWriterInitContext.java @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2025 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.alibaba.fluss.flink.sink; + +import org.apache.flink.api.common.JobInfo; +import org.apache.flink.api.common.TaskInfo; +import org.apache.flink.api.common.functions.RuntimeContext; +import org.apache.flink.api.common.operators.MailboxExecutor; +import org.apache.flink.api.common.operators.ProcessingTimeService; +import org.apache.flink.api.common.serialization.SerializationSchema; +import org.apache.flink.api.common.typeutils.TypeSerializer; +import org.apache.flink.api.connector.sink2.WriterInitContext; +import org.apache.flink.metrics.groups.SinkWriterMetricGroup; +import org.apache.flink.runtime.metrics.groups.InternalSinkWriterMetricGroup; +import org.apache.flink.util.UserCodeClassLoader; + +import java.util.OptionalLong; + +import static org.assertj.core.api.Assertions.fail; + +/** A mock implementation of {@link WriterInitContext} for testing purposes. */ +public class MockWriterInitContext implements WriterInitContext { + private static final String UNEXPECTED_METHOD_CALL_MESSAGE = + "Unexpected method call. Expected that this method will never be called by a test case."; + + private final RuntimeContext runtimeContext; + + public MockWriterInitContext(RuntimeContext runtimeContext) { + this.runtimeContext = runtimeContext; + } + + @Override + public UserCodeClassLoader getUserCodeClassLoader() { + fail(UNEXPECTED_METHOD_CALL_MESSAGE); + return null; + } + + @Override + public MailboxExecutor getMailboxExecutor() { + fail(UNEXPECTED_METHOD_CALL_MESSAGE); + return null; + } + + @Override + public ProcessingTimeService getProcessingTimeService() { + fail(UNEXPECTED_METHOD_CALL_MESSAGE); + return null; + } + + @Override + public SinkWriterMetricGroup metricGroup() { + return InternalSinkWriterMetricGroup.wrap(runtimeContext.getMetricGroup()); + } + + @Override + public SerializationSchema.InitializationContext asSerializationSchemaInitializationContext() { + fail(UNEXPECTED_METHOD_CALL_MESSAGE); + return null; + } + + @Override + public boolean isObjectReuseEnabled() { + fail(UNEXPECTED_METHOD_CALL_MESSAGE); + return false; + } + + @Override + public TypeSerializer createInputSerializer() { + fail(UNEXPECTED_METHOD_CALL_MESSAGE); + return null; + } + + @Override + public OptionalLong getRestoredCheckpointId() { + fail(UNEXPECTED_METHOD_CALL_MESSAGE); + return OptionalLong.empty(); + } + + @Override + public JobInfo getJobInfo() { + fail(UNEXPECTED_METHOD_CALL_MESSAGE); + return null; + } + + @Override + public TaskInfo getTaskInfo() { + fail(UNEXPECTED_METHOD_CALL_MESSAGE); + return null; + } +} diff --git a/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/metrics/FlinkSourceReaderMetricsTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/metrics/FlinkSourceReaderMetricsTest.java index ae55c3fa09..9651b93c8e 100644 --- a/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/metrics/FlinkSourceReaderMetricsTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/metrics/FlinkSourceReaderMetricsTest.java @@ -31,9 +31,7 @@ import static com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics.READER_METRIC_GROUP; import static org.assertj.core.api.Assertions.assertThat; -/** - * Unit test for {@link com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics}. - */ +/** Unit test for {@link com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics}. */ class FlinkSourceReaderMetricsTest { @Test diff --git a/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/split/SourceSplitSerializerTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/split/SourceSplitSerializerTest.java index 08644b0637..4665ce92c7 100644 --- a/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/split/SourceSplitSerializerTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/split/SourceSplitSerializerTest.java @@ -24,8 +24,8 @@ import static org.assertj.core.api.Assertions.assertThat; /** - * Unit tests for {@link com.alibaba.fluss.flink.source.split.SourceSplitSerializer} of - * serializing {@link com.alibaba.fluss.flink.source.split.SnapshotSplit} and {@link + * Unit tests for {@link com.alibaba.fluss.flink.source.split.SourceSplitSerializer} of serializing + * {@link com.alibaba.fluss.flink.source.split.SnapshotSplit} and {@link * com.alibaba.fluss.flink.source.split.LogSplit}. */ class SourceSplitSerializerTest { diff --git a/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/state/SourceEnumeratorStateSerializerTest.java b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/state/SourceEnumeratorStateSerializerTest.java index 610ffc57c1..9e3d7507d7 100644 --- a/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/state/SourceEnumeratorStateSerializerTest.java +++ b/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/source/state/SourceEnumeratorStateSerializerTest.java @@ -29,8 +29,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** - * Unit tests for {@link - * com.alibaba.fluss.flink.source.state.FlussSourceEnumeratorStateSerializer}. + * Unit tests for {@link com.alibaba.fluss.flink.source.state.FlussSourceEnumeratorStateSerializer}. */ class SourceEnumeratorStateSerializerTest { diff --git a/fluss-flink/fluss-flink-common/src/test/resources/log4j2-test.properties b/fluss-flink/fluss-flink-common/src/test/resources/log4j2-test.properties index b948a090f1..9c15a082bf 100644 --- a/fluss-flink/fluss-flink-common/src/test/resources/log4j2-test.properties +++ b/fluss-flink/fluss-flink-common/src/test/resources/log4j2-test.properties @@ -25,3 +25,6 @@ appender.testlogger.target = SYSTEM_ERR appender.testlogger.layout.type = PatternLayout appender.testlogger.layout.pattern = %-4r [%t] %-5p %c %x - %m%n +# suppress the duplicated logger extension +logger.flink.name = org.apache.flink.util.TestLoggerExtension +logger.flink.level = OFF \ No newline at end of file diff --git a/fluss-flink/pom.xml b/fluss-flink/pom.xml index c9496a54c5..81645e7c99 100644 --- a/fluss-flink/pom.xml +++ b/fluss-flink/pom.xml @@ -31,6 +31,9 @@ fluss-flink-common + fluss-flink-1.20 + fluss-flink-1.19 + fluss-flink-1.18 + + org.apache.maven.plugins + maven-resources-plugin + + + copy-class-files + generate-resources + + copy-resources + + + false + + + ${project.basedir}/../ + + **/target/classes/** + + + fluss-test-coverage/** + fluss-test-utils/** + fluss-flink/** + fluss-lakehouse/** + fluss-lake/** + + + + ${project.build.directory}/classes + + + + + + + + + + test-flink + + + + + org.apache.maven.plugins + maven-resources-plugin + + + copy-class-files + generate-resources + + copy-resources + + + false + + + ${project.basedir}/../ + + fluss-flink/**/target/classes/** + fluss-lakehouse/**/target/classes/** + fluss-lake/**/target/classes/** + + + fluss-test-coverage/** + fluss-test-utils/** + + + + ${project.build.directory}/classes + + + + + + + + + - - - org.apache.maven.plugins - maven-resources-plugin - - - copy-class-files - generate-resources - - copy-resources - - - false - - - ${project.basedir}/../ - - **/target/classes/** - - - fluss-test-coverage/** - fluss-test-utils/** - - - - ${project.build.directory}/classes - - - - + @@ -193,6 +269,7 @@ com.alibaba.fluss.record.* com.alibaba.fluss.kv.* com.alibaba.fluss.io.* + com.alibaba.fluss.bucketing.BucketingFunction com.alibaba.fluss.server.ServerBase com.alibaba.fluss.server.utils.ShutdownHookUtil @@ -269,6 +346,7 @@ com.alibaba.fluss.flink.lakehouse.* com.alibaba.fluss.lakehouse.cli.* + com.alibaba.fluss.kafka.* diff --git a/tools/ci/log4j.properties b/tools/ci/log4j.properties index 802c9410d7..0357c167d5 100644 --- a/tools/ci/log4j.properties +++ b/tools/ci/log4j.properties @@ -44,6 +44,10 @@ appender.zk_client.layout.type = PatternLayout appender.zk_client.layout.pattern = %d{HH:mm:ss,SSS} [%20t] %-5p %-60c %x - %m%n appender.zk_client.createOnDemand = true +# suppress the duplicated logger extension +logger.flink.name = org.apache.flink.util.TestLoggerExtension +logger.flink.level = OFF + # suppress the irrelevant (wrong) warnings from the netty channel handler logger.netty.name = org.jboss.netty.channel.DefaultChannelPipeline logger.netty.level = ERROR diff --git a/website/docs/engine-flink/getting-started.md b/website/docs/engine-flink/getting-started.md index 350b0806c6..81b1ba2cac 100644 --- a/website/docs/engine-flink/getting-started.md +++ b/website/docs/engine-flink/getting-started.md @@ -57,12 +57,12 @@ If you haven’t downloaded Flink, you can download [the binary release](https:/ ```shell tar -xzf flink-1.20.1-bin-scala_2.12.tgz ``` -- **Copy Fluss Connector Jar** +- **Copy Fluss Flink Bundled Jar** -Download [Fluss connector jar](/downloads#fluss-connector) and copy to the lib directory of your Flink home. +Download [Fluss Flink Bundled jar](/downloads) and copy to the `lib` directory of your Flink home. ```shell -cp fluss-connector-flink-$FLUSS_VERSION$.jar /lib/ +cp fluss-flink-$FLUSS_VERSION$.jar /lib/ ``` :::note If you use [Amazon S3](http://aws.amazon.com/s3/), [Aliyun OSS](https://www.aliyun.com/product/oss) or [HDFS(Hadoop Distributed File System)](https://hadoop.apache.org/docs/stable/) as Fluss's [remote storage](maintenance/tiered-storage/remote-storage.md), diff --git a/website/docs/quickstart/flink.md b/website/docs/quickstart/flink.md index 06849d7278..7b78ea8323 100644 --- a/website/docs/quickstart/flink.md +++ b/website/docs/quickstart/flink.md @@ -129,7 +129,7 @@ The Docker Compose environment consists of the following containers: - **Flink Cluster**: a Flink `JobManager` and a Flink `TaskManager` container to execute queries. **Note:** The `fluss/quickstart-flink` image is based on [flink:1.20.1-java17](https://hub.docker.com/layers/library/flink/1.20-java17/images/sha256:bf1af6406c4f4ad8faa46efe2b3d0a0bf811d1034849c42c1e3484712bc83505) and -includes the [fluss-connector-flink](engine-flink/getting-started.md), [paimon-flink](https://paimon.apache.org/docs/1.0/flink/quick-start/) and +includes the [fluss-flink](engine-flink/getting-started.md), [paimon-flink](https://paimon.apache.org/docs/1.0/flink/quick-start/) and [flink-connector-faker](https://flink-packages.org/packages/flink-faker) to simplify this guide. 3. To start all containers, run: @@ -148,7 +148,7 @@ You can also visit http://localhost:8083/ to see if Flink is running normally. :::note - If you want to additionally use an observability stack, follow one of the provided quickstart guides [here](maintenance/observability/quickstart.md) and then continue with this guide. -- If you want to run with your own Flink environment, remember to download the [fluss-connector-flink](/downloads), [flink-connector-faker](https://github.com/knaufk/flink-faker/releases), [paimon-flink](https://paimon.apache.org/docs/1.0/flink/quick-start/) connector jars and then put them to `FLINK_HOME/lib/`. +- If you want to run with your own Flink environment, remember to download the [fluss-flink connector jar](/downloads), [flink-connector-faker](https://github.com/knaufk/flink-faker/releases), [paimon-flink connector jar](https://paimon.apache.org/docs/1.0/flink/quick-start/) and then put them to `FLINK_HOME/lib/`. - All the following commands involving `docker compose` should be executed in the created working directory that contains the `docker-compose.yml` file. :::