This is an automated email from the ASF dual-hosted git repository. jark pushed a commit to branch ci-rename-to-apache in repository https://gitbox.apache.org/repos/asf/fluss.git
commit d8f9bfb1df41a8fe31a79a344efd63e5d0ba2cda Author: Jark Wu <[email protected]> AuthorDate: Mon Aug 25 14:08:15 2025 +0800 WIP --- .../apache}/fluss/lake/source/LakeSource.java | 0 .../apache}/fluss/lake/source/LakeSplit.java | 0 .../apache}/fluss/lake/source/Planner.java | 0 .../apache}/fluss/lake/source/RecordReader.java | 0 .../fluss/lake/source/SortedRecordReader.java | 0 .../apache}/fluss/predicate/And.java | 0 .../apache}/fluss/predicate/CompareUtils.java | 0 .../apache}/fluss/predicate/CompoundPredicate.java | 0 .../apache}/fluss/predicate/Contains.java | 0 .../apache}/fluss/predicate/EndsWith.java | 0 .../apache}/fluss/predicate/Equal.java | 0 .../apache}/fluss/predicate/FieldRef.java | 0 .../apache}/fluss/predicate/FunctionVisitor.java | 0 .../apache}/fluss/predicate/GreaterOrEqual.java | 0 .../apache}/fluss/predicate/GreaterThan.java | 0 .../alibaba => org/apache}/fluss/predicate/In.java | 0 .../apache}/fluss/predicate/IsNotNull.java | 0 .../apache}/fluss/predicate/IsNull.java | 0 .../apache}/fluss/predicate/LeafFunction.java | 0 .../apache}/fluss/predicate/LeafPredicate.java | 0 .../apache}/fluss/predicate/LeafUnaryFunction.java | 0 .../apache}/fluss/predicate/LessOrEqual.java | 0 .../apache}/fluss/predicate/LessThan.java | 0 .../apache}/fluss/predicate/NotEqual.java | 0 .../apache}/fluss/predicate/NotIn.java | 0 .../predicate/NullFalseLeafBinaryFunction.java | 0 .../alibaba => org/apache}/fluss/predicate/Or.java | 0 .../fluss/predicate/PartitionPredicateVisitor.java | 0 .../apache}/fluss/predicate/Predicate.java | 0 .../apache}/fluss/predicate/PredicateBuilder.java | 0 .../apache}/fluss/predicate/PredicateVisitor.java | 0 .../apache}/fluss/predicate/StartsWith.java | 0 .../fluss/predicate/UnsupportedExpression.java | 0 .../row/encode/iceberg/IcebergBinaryRowWriter.java | 0 .../row/encode/iceberg/IcebergKeyEncoder.java | 0 .../bucketing/IcebergBucketingFunctionTest.java | 0 .../fluss/predicate/PredicateBuilderTest.java | 0 .../apache}/fluss/predicate/PredicateTest.java | 0 .../encode/iceberg/IcebergBinaryRowWriterTest.java | 0 .../row/encode/iceberg/IcebergKeyEncoderTest.java | 0 .../services/com.alibaba.fluss.fs.FileSystemPlugin | 17 ----- .../org/apache/fluss/fs/gs/AuthServerHandler.java | 23 +++---- .../fluss/fs/hdfs/HadoopConfigLoadingTest.java | 0 .../fluss/fs/hdfs/HadoopDataInputStreamTest.java | 0 .../fluss/fs/hdfs/HadoopFreeFsPluginTest.java | 0 .../apache}/fluss/fs/hdfs/HadoopFreeTests.java | 0 .../apache}/fluss/fs/hdfs/HadoopFsPluginTest.java | 0 .../fs/hdfs/HadoopLocalFileSystemBehaviorTest.java | 0 .../apache}/fluss/fs/hdfs/HdfsBehaviorTest.java | 0 .../fluss/fs/hdfs/utils/HadoopUtilsTest.java | 0 .../fs/obs/token/OBSSecurityTokenReceiver.java | 23 +++---- .../fluss/flink/metrics/Flink21MetricsITCase.java | 23 +++---- .../flink/procedure/Flink21ProcedureITCase.java | 23 +++---- .../security/acl/Flink21AuthorizationITCase.java | 23 +++---- .../fluss/flink/sink/Flink21TableSinkITCase.java | 23 +++---- .../source/Flink21TableSourceBatchITCase.java | 23 +++---- .../source/Flink21TableSourceFailOverITCase.java | 23 +++---- .../flink/source/Flink21TableSourceITCase.java | 23 +++---- .../org/apache/fluss/flink/lake/LakeCatalog.java | 23 +++---- .../fluss/flink/lake/LakeRecordRecordEmitter.java | 23 +++---- .../apache/fluss/flink/lake/LakeTableFactory.java | 27 ++++---- .../fluss/flink/lake/reader/SortMergeReader.java | 73 +++++----------------- .../fluss/jmh/ArrowReadableChannelBenchmark.java | 2 + .../fluss/jmh/ArrowWritableChannelBenchmark.java | 2 + .../apache}/fluss/jmh/LogScannerBenchmark.java | 2 + .../fluss/lake/iceberg/IcebergLakeCatalog.java | 23 +++---- .../fluss/lake/iceberg/conf/HadoopUtils.java | 23 +++---- .../lake/iceberg/tiering/IcebergTieringTest.java | 23 +++---- .../apache}/fluss/lake/lance/LanceConfig.java | 0 .../apache}/fluss/lake/lance/LanceLakeCatalog.java | 0 .../apache}/fluss/lake/lance/LanceLakeStorage.java | 0 .../fluss/lake/lance/LanceLakeStoragePlugin.java | 0 .../fluss/lake/lance/tiering/LanceCommittable.java | 0 .../fluss/lake/lance/tiering/LanceWriteResult.java | 2 + .../fluss/lake/lance/utils/LanceArrowUtils.java | 0 .../lake/lance/utils/LanceDatasetAdapter.java | 0 .../lake/lance/LakeEnabledTableCreateITCase.java | 0 .../lake/paimon/source/FlussRowAsPaimonRow.java | 27 +++----- .../fluss/lake/paimon/source/PaimonLakeSource.java | 0 .../lake/paimon/source/PaimonRecordReader.java | 0 .../paimon/source/PaimonSortedRecordReader.java | 0 .../fluss/lake/paimon/source/PaimonSplit.java | 0 .../lake/paimon/source/PaimonSplitPlanner.java | 0 .../lake/paimon/source/PaimonSplitSerializer.java | 0 .../paimon/source/FlussRowAsPaimonRowTest.java | 0 .../lake/paimon/source/PaimonLakeSourceTest.java | 0 .../lake/paimon/source/PaimonRecordReaderTest.java | 0 .../source/PaimonSortedRecordReaderTest.java | 0 .../lake/paimon/source/PaimonSourceTestBase.java | 0 .../lake/paimon/source/PaimonSplitPlannerTest.java | 0 .../paimon/source/PaimonSplitSerializerTest.java | 0 .../fluss/lake/paimon/source/PaimonSplitTest.java | 0 .../utils/FlussToPaimonPredicateConverterTest.java | 0 .../fluss/rpc/netty/client/NettyClientHandler.java | 2 +- .../fluss/rpc/netty/server/NettyServerHandler.java | 2 +- .../rpc/netty/server/NettyServerHandlerTest.java | 4 +- .../replica/fetcher/ReplicaFetcherThread.java | 4 +- fluss-test-coverage/pom.xml | 4 +- website/blog/2024-11-29-fluss-open-source.md | 4 +- website/blog/2025-06-01-partial-updates.md | 2 +- website/blog/2025-07-07-fluss-java-client.md | 2 +- website/blog/releases/0.7.md | 4 +- website/community/welcome.mdx | 2 +- website/src/pages/roadmap.md | 10 +-- 104 files changed, 236 insertions(+), 278 deletions(-) diff --git a/fluss-common/src/main/java/com/alibaba/fluss/lake/source/LakeSource.java b/fluss-common/src/main/java/org/apache/fluss/lake/source/LakeSource.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/lake/source/LakeSource.java rename to fluss-common/src/main/java/org/apache/fluss/lake/source/LakeSource.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/lake/source/LakeSplit.java b/fluss-common/src/main/java/org/apache/fluss/lake/source/LakeSplit.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/lake/source/LakeSplit.java rename to fluss-common/src/main/java/org/apache/fluss/lake/source/LakeSplit.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/lake/source/Planner.java b/fluss-common/src/main/java/org/apache/fluss/lake/source/Planner.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/lake/source/Planner.java rename to fluss-common/src/main/java/org/apache/fluss/lake/source/Planner.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/lake/source/RecordReader.java b/fluss-common/src/main/java/org/apache/fluss/lake/source/RecordReader.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/lake/source/RecordReader.java rename to fluss-common/src/main/java/org/apache/fluss/lake/source/RecordReader.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/lake/source/SortedRecordReader.java b/fluss-common/src/main/java/org/apache/fluss/lake/source/SortedRecordReader.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/lake/source/SortedRecordReader.java rename to fluss-common/src/main/java/org/apache/fluss/lake/source/SortedRecordReader.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/And.java b/fluss-common/src/main/java/org/apache/fluss/predicate/And.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/And.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/And.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/CompareUtils.java b/fluss-common/src/main/java/org/apache/fluss/predicate/CompareUtils.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/CompareUtils.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/CompareUtils.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/CompoundPredicate.java b/fluss-common/src/main/java/org/apache/fluss/predicate/CompoundPredicate.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/CompoundPredicate.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/CompoundPredicate.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/Contains.java b/fluss-common/src/main/java/org/apache/fluss/predicate/Contains.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/Contains.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/Contains.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/EndsWith.java b/fluss-common/src/main/java/org/apache/fluss/predicate/EndsWith.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/EndsWith.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/EndsWith.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/Equal.java b/fluss-common/src/main/java/org/apache/fluss/predicate/Equal.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/Equal.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/Equal.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/FieldRef.java b/fluss-common/src/main/java/org/apache/fluss/predicate/FieldRef.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/FieldRef.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/FieldRef.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/FunctionVisitor.java b/fluss-common/src/main/java/org/apache/fluss/predicate/FunctionVisitor.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/FunctionVisitor.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/FunctionVisitor.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/GreaterOrEqual.java b/fluss-common/src/main/java/org/apache/fluss/predicate/GreaterOrEqual.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/GreaterOrEqual.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/GreaterOrEqual.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/GreaterThan.java b/fluss-common/src/main/java/org/apache/fluss/predicate/GreaterThan.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/GreaterThan.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/GreaterThan.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/In.java b/fluss-common/src/main/java/org/apache/fluss/predicate/In.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/In.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/In.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/IsNotNull.java b/fluss-common/src/main/java/org/apache/fluss/predicate/IsNotNull.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/IsNotNull.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/IsNotNull.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/IsNull.java b/fluss-common/src/main/java/org/apache/fluss/predicate/IsNull.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/IsNull.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/IsNull.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/LeafFunction.java b/fluss-common/src/main/java/org/apache/fluss/predicate/LeafFunction.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/LeafFunction.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/LeafFunction.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/LeafPredicate.java b/fluss-common/src/main/java/org/apache/fluss/predicate/LeafPredicate.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/LeafPredicate.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/LeafPredicate.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/LeafUnaryFunction.java b/fluss-common/src/main/java/org/apache/fluss/predicate/LeafUnaryFunction.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/LeafUnaryFunction.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/LeafUnaryFunction.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/LessOrEqual.java b/fluss-common/src/main/java/org/apache/fluss/predicate/LessOrEqual.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/LessOrEqual.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/LessOrEqual.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/LessThan.java b/fluss-common/src/main/java/org/apache/fluss/predicate/LessThan.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/LessThan.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/LessThan.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/NotEqual.java b/fluss-common/src/main/java/org/apache/fluss/predicate/NotEqual.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/NotEqual.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/NotEqual.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/NotIn.java b/fluss-common/src/main/java/org/apache/fluss/predicate/NotIn.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/NotIn.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/NotIn.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/NullFalseLeafBinaryFunction.java b/fluss-common/src/main/java/org/apache/fluss/predicate/NullFalseLeafBinaryFunction.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/NullFalseLeafBinaryFunction.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/NullFalseLeafBinaryFunction.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/Or.java b/fluss-common/src/main/java/org/apache/fluss/predicate/Or.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/Or.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/Or.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/PartitionPredicateVisitor.java b/fluss-common/src/main/java/org/apache/fluss/predicate/PartitionPredicateVisitor.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/PartitionPredicateVisitor.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/PartitionPredicateVisitor.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/Predicate.java b/fluss-common/src/main/java/org/apache/fluss/predicate/Predicate.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/Predicate.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/Predicate.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/PredicateBuilder.java b/fluss-common/src/main/java/org/apache/fluss/predicate/PredicateBuilder.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/PredicateBuilder.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/PredicateBuilder.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/PredicateVisitor.java b/fluss-common/src/main/java/org/apache/fluss/predicate/PredicateVisitor.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/PredicateVisitor.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/PredicateVisitor.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/StartsWith.java b/fluss-common/src/main/java/org/apache/fluss/predicate/StartsWith.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/StartsWith.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/StartsWith.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java b/fluss-common/src/main/java/org/apache/fluss/predicate/UnsupportedExpression.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java rename to fluss-common/src/main/java/org/apache/fluss/predicate/UnsupportedExpression.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/row/encode/iceberg/IcebergBinaryRowWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/encode/iceberg/IcebergBinaryRowWriter.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/row/encode/iceberg/IcebergBinaryRowWriter.java rename to fluss-common/src/main/java/org/apache/fluss/row/encode/iceberg/IcebergBinaryRowWriter.java diff --git a/fluss-common/src/main/java/com/alibaba/fluss/row/encode/iceberg/IcebergKeyEncoder.java b/fluss-common/src/main/java/org/apache/fluss/row/encode/iceberg/IcebergKeyEncoder.java similarity index 100% rename from fluss-common/src/main/java/com/alibaba/fluss/row/encode/iceberg/IcebergKeyEncoder.java rename to fluss-common/src/main/java/org/apache/fluss/row/encode/iceberg/IcebergKeyEncoder.java diff --git a/fluss-common/src/test/java/com/alibaba/fluss/bucketing/IcebergBucketingFunctionTest.java b/fluss-common/src/test/java/org/apache/fluss/bucketing/IcebergBucketingFunctionTest.java similarity index 100% rename from fluss-common/src/test/java/com/alibaba/fluss/bucketing/IcebergBucketingFunctionTest.java rename to fluss-common/src/test/java/org/apache/fluss/bucketing/IcebergBucketingFunctionTest.java diff --git a/fluss-common/src/test/java/com/alibaba/fluss/predicate/PredicateBuilderTest.java b/fluss-common/src/test/java/org/apache/fluss/predicate/PredicateBuilderTest.java similarity index 100% rename from fluss-common/src/test/java/com/alibaba/fluss/predicate/PredicateBuilderTest.java rename to fluss-common/src/test/java/org/apache/fluss/predicate/PredicateBuilderTest.java diff --git a/fluss-common/src/test/java/com/alibaba/fluss/predicate/PredicateTest.java b/fluss-common/src/test/java/org/apache/fluss/predicate/PredicateTest.java similarity index 100% rename from fluss-common/src/test/java/com/alibaba/fluss/predicate/PredicateTest.java rename to fluss-common/src/test/java/org/apache/fluss/predicate/PredicateTest.java diff --git a/fluss-common/src/test/java/com/alibaba/fluss/row/encode/iceberg/IcebergBinaryRowWriterTest.java b/fluss-common/src/test/java/org/apache/fluss/row/encode/iceberg/IcebergBinaryRowWriterTest.java similarity index 100% rename from fluss-common/src/test/java/com/alibaba/fluss/row/encode/iceberg/IcebergBinaryRowWriterTest.java rename to fluss-common/src/test/java/org/apache/fluss/row/encode/iceberg/IcebergBinaryRowWriterTest.java diff --git a/fluss-common/src/test/java/com/alibaba/fluss/row/encode/iceberg/IcebergKeyEncoderTest.java b/fluss-common/src/test/java/org/apache/fluss/row/encode/iceberg/IcebergKeyEncoderTest.java similarity index 100% rename from fluss-common/src/test/java/com/alibaba/fluss/row/encode/iceberg/IcebergKeyEncoderTest.java rename to fluss-common/src/test/java/org/apache/fluss/row/encode/iceberg/IcebergKeyEncoderTest.java diff --git a/fluss-common/src/test/resources/META-INF/services/com.alibaba.fluss.fs.FileSystemPlugin b/fluss-common/src/test/resources/META-INF/services/com.alibaba.fluss.fs.FileSystemPlugin deleted file mode 100644 index f75628c8c..000000000 --- a/fluss-common/src/test/resources/META-INF/services/com.alibaba.fluss.fs.FileSystemPlugin +++ /dev/null @@ -1,17 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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. - -org.apache.fluss.fs.TestFileSystem$TestFileSystemPlugin \ No newline at end of file diff --git a/fluss-filesystems/fluss-fs-gs/src/test/java/org/apache/fluss/fs/gs/AuthServerHandler.java b/fluss-filesystems/fluss-fs-gs/src/test/java/org/apache/fluss/fs/gs/AuthServerHandler.java index 3e814b788..5cc15528b 100644 --- a/fluss-filesystems/fluss-fs-gs/src/test/java/org/apache/fluss/fs/gs/AuthServerHandler.java +++ b/fluss-filesystems/fluss-fs-gs/src/test/java/org/apache/fluss/fs/gs/AuthServerHandler.java @@ -1,17 +1,18 @@ /* - * Copyright (c) 2025 Alibaba Group Holding Ltd. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 * - * 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 * - * 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. + * 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 org.apache.fluss.fs.gs; diff --git a/fluss-filesystems/fluss-fs-hadoop/src/test/java/com/alibaba/fluss/fs/hdfs/HadoopConfigLoadingTest.java b/fluss-filesystems/fluss-fs-hadoop/src/test/java/org/apache/fluss/fs/hdfs/HadoopConfigLoadingTest.java similarity index 100% rename from fluss-filesystems/fluss-fs-hadoop/src/test/java/com/alibaba/fluss/fs/hdfs/HadoopConfigLoadingTest.java rename to fluss-filesystems/fluss-fs-hadoop/src/test/java/org/apache/fluss/fs/hdfs/HadoopConfigLoadingTest.java diff --git a/fluss-filesystems/fluss-fs-hadoop/src/test/java/com/alibaba/fluss/fs/hdfs/HadoopDataInputStreamTest.java b/fluss-filesystems/fluss-fs-hadoop/src/test/java/org/apache/fluss/fs/hdfs/HadoopDataInputStreamTest.java similarity index 100% rename from fluss-filesystems/fluss-fs-hadoop/src/test/java/com/alibaba/fluss/fs/hdfs/HadoopDataInputStreamTest.java rename to fluss-filesystems/fluss-fs-hadoop/src/test/java/org/apache/fluss/fs/hdfs/HadoopDataInputStreamTest.java diff --git a/fluss-filesystems/fluss-fs-hadoop/src/test/java/com/alibaba/fluss/fs/hdfs/HadoopFreeFsPluginTest.java b/fluss-filesystems/fluss-fs-hadoop/src/test/java/org/apache/fluss/fs/hdfs/HadoopFreeFsPluginTest.java similarity index 100% rename from fluss-filesystems/fluss-fs-hadoop/src/test/java/com/alibaba/fluss/fs/hdfs/HadoopFreeFsPluginTest.java rename to fluss-filesystems/fluss-fs-hadoop/src/test/java/org/apache/fluss/fs/hdfs/HadoopFreeFsPluginTest.java diff --git a/fluss-filesystems/fluss-fs-hadoop/src/test/java/com/alibaba/fluss/fs/hdfs/HadoopFreeTests.java b/fluss-filesystems/fluss-fs-hadoop/src/test/java/org/apache/fluss/fs/hdfs/HadoopFreeTests.java similarity index 100% rename from fluss-filesystems/fluss-fs-hadoop/src/test/java/com/alibaba/fluss/fs/hdfs/HadoopFreeTests.java rename to fluss-filesystems/fluss-fs-hadoop/src/test/java/org/apache/fluss/fs/hdfs/HadoopFreeTests.java diff --git a/fluss-filesystems/fluss-fs-hadoop/src/test/java/com/alibaba/fluss/fs/hdfs/HadoopFsPluginTest.java b/fluss-filesystems/fluss-fs-hadoop/src/test/java/org/apache/fluss/fs/hdfs/HadoopFsPluginTest.java similarity index 100% rename from fluss-filesystems/fluss-fs-hadoop/src/test/java/com/alibaba/fluss/fs/hdfs/HadoopFsPluginTest.java rename to fluss-filesystems/fluss-fs-hadoop/src/test/java/org/apache/fluss/fs/hdfs/HadoopFsPluginTest.java diff --git a/fluss-filesystems/fluss-fs-hadoop/src/test/java/com/alibaba/fluss/fs/hdfs/HadoopLocalFileSystemBehaviorTest.java b/fluss-filesystems/fluss-fs-hadoop/src/test/java/org/apache/fluss/fs/hdfs/HadoopLocalFileSystemBehaviorTest.java similarity index 100% rename from fluss-filesystems/fluss-fs-hadoop/src/test/java/com/alibaba/fluss/fs/hdfs/HadoopLocalFileSystemBehaviorTest.java rename to fluss-filesystems/fluss-fs-hadoop/src/test/java/org/apache/fluss/fs/hdfs/HadoopLocalFileSystemBehaviorTest.java diff --git a/fluss-filesystems/fluss-fs-hadoop/src/test/java/com/alibaba/fluss/fs/hdfs/HdfsBehaviorTest.java b/fluss-filesystems/fluss-fs-hadoop/src/test/java/org/apache/fluss/fs/hdfs/HdfsBehaviorTest.java similarity index 100% rename from fluss-filesystems/fluss-fs-hadoop/src/test/java/com/alibaba/fluss/fs/hdfs/HdfsBehaviorTest.java rename to fluss-filesystems/fluss-fs-hadoop/src/test/java/org/apache/fluss/fs/hdfs/HdfsBehaviorTest.java diff --git a/fluss-filesystems/fluss-fs-hadoop/src/test/java/com/alibaba/fluss/fs/hdfs/utils/HadoopUtilsTest.java b/fluss-filesystems/fluss-fs-hadoop/src/test/java/org/apache/fluss/fs/hdfs/utils/HadoopUtilsTest.java similarity index 100% rename from fluss-filesystems/fluss-fs-hadoop/src/test/java/com/alibaba/fluss/fs/hdfs/utils/HadoopUtilsTest.java rename to fluss-filesystems/fluss-fs-hadoop/src/test/java/org/apache/fluss/fs/hdfs/utils/HadoopUtilsTest.java diff --git a/fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/token/OBSSecurityTokenReceiver.java b/fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/token/OBSSecurityTokenReceiver.java index 92423b41e..08ae3af4e 100644 --- a/fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/token/OBSSecurityTokenReceiver.java +++ b/fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/token/OBSSecurityTokenReceiver.java @@ -1,17 +1,18 @@ /* - * Copyright (c) 2025 Alibaba Group Holding Ltd. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 * - * 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 * - * 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. + * 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 org.apache.fluss.fs.obs.token; diff --git a/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/metrics/Flink21MetricsITCase.java b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/metrics/Flink21MetricsITCase.java index ca6b52f2f..961c69d2f 100644 --- a/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/metrics/Flink21MetricsITCase.java +++ b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/metrics/Flink21MetricsITCase.java @@ -1,17 +1,18 @@ /* - * Copyright (c) 2025 Alibaba Group Holding Ltd. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 * - * 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 * - * 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. + * 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 org.apache.fluss.flink.metrics; diff --git a/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/procedure/Flink21ProcedureITCase.java b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/procedure/Flink21ProcedureITCase.java index 2090c7895..c95c47f0f 100644 --- a/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/procedure/Flink21ProcedureITCase.java +++ b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/procedure/Flink21ProcedureITCase.java @@ -1,17 +1,18 @@ /* - * Copyright (c) 2025 Alibaba Group Holding Ltd. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 * - * 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 * - * 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. + * 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 org.apache.fluss.flink.procedure; diff --git a/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/security/acl/Flink21AuthorizationITCase.java b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/security/acl/Flink21AuthorizationITCase.java index 11e7b7bee..66aefab8e 100644 --- a/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/security/acl/Flink21AuthorizationITCase.java +++ b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/security/acl/Flink21AuthorizationITCase.java @@ -1,17 +1,18 @@ /* - * Copyright (c) 2025 Alibaba Group Holding Ltd. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 * - * 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 * - * 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. + * 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 org.apache.fluss.flink.security.acl; diff --git a/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/sink/Flink21TableSinkITCase.java b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/sink/Flink21TableSinkITCase.java index c50b4c8fd..b040476f4 100644 --- a/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/sink/Flink21TableSinkITCase.java +++ b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/sink/Flink21TableSinkITCase.java @@ -1,17 +1,18 @@ /* - * Copyright (c) 2025 Alibaba Group Holding Ltd. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 * - * 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 * - * 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. + * 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 org.apache.fluss.flink.sink; diff --git a/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceBatchITCase.java b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceBatchITCase.java index a7839b0ab..a881b6b31 100644 --- a/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceBatchITCase.java +++ b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceBatchITCase.java @@ -1,17 +1,18 @@ /* - * Copyright (c) 2025 Alibaba Group Holding Ltd. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 * - * 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 * - * 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. + * 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 org.apache.fluss.flink.source; diff --git a/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceFailOverITCase.java b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceFailOverITCase.java index 0a27d6d98..630470f28 100644 --- a/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceFailOverITCase.java +++ b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceFailOverITCase.java @@ -1,17 +1,18 @@ /* - * Copyright (c) 2025 Alibaba Group Holding Ltd. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 * - * 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 * - * 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. + * 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 org.apache.fluss.flink.source; diff --git a/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceITCase.java b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceITCase.java index e9301889f..b337cab46 100644 --- a/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceITCase.java +++ b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceITCase.java @@ -1,17 +1,18 @@ /* - * Copyright (c) 2025 Alibaba Group Holding Ltd. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 * - * 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 * - * 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. + * 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 org.apache.fluss.flink.source; diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeCatalog.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeCatalog.java index 0df4c544b..447616106 100644 --- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeCatalog.java +++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeCatalog.java @@ -1,17 +1,18 @@ /* - * Copyright (c) 2025 Alibaba Group Holding Ltd. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 * - * 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 * - * 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. + * 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 org.apache.fluss.flink.lake; diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeRecordRecordEmitter.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeRecordRecordEmitter.java index 3114f10ef..58a14b207 100644 --- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeRecordRecordEmitter.java +++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeRecordRecordEmitter.java @@ -1,17 +1,18 @@ /* - * Copyright (c) 2025 Alibaba Group Holding Ltd. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 * - * 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 * - * 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. + * 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 org.apache.fluss.flink.lake; diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeTableFactory.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeTableFactory.java index f772848b6..975d49e95 100644 --- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeTableFactory.java +++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeTableFactory.java @@ -1,20 +1,23 @@ /* - * Copyright (c) 2025 Alibaba Group Holding Ltd. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 * - * 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 * - * 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. + * 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 org.apache.fluss.flink.lake;import org.apache.flink.table.catalog.ObjectIdentifier; +package org.apache.fluss.flink.lake; + +import org.apache.flink.table.catalog.ObjectIdentifier; import org.apache.flink.table.connector.source.DynamicTableSource; import org.apache.flink.table.factories.DynamicTableFactory; import org.apache.flink.table.factories.FactoryUtil; diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/reader/SortMergeReader.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/reader/SortMergeReader.java index 8e4e9b669..6e490108f 100644 --- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/reader/SortMergeReader.java +++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/reader/SortMergeReader.java @@ -1,20 +1,23 @@ /* - * Copyright (c) 2025 Alibaba Group Holding Ltd. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 * - * 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 * - * 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. + * 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 org.apache.fluss.flink.lake.reader;import org.apache.fluss.record.LogRecord; +package org.apache.fluss.flink.lake.reader; + +import org.apache.fluss.record.LogRecord; import org.apache.fluss.row.InternalRow; import org.apache.fluss.row.ProjectedRow; import org.apache.fluss.utils.CloseableIterator; @@ -61,16 +64,8 @@ class SortMergeReader { } @Nullable -<<<<<<<< HEAD:fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/SortMergeReader.java public CloseableIterator<InternalRow> readBatch() { if (!lakeRecordIterator.hasNext()) { -======== - public org.apache.fluss.utils.CloseableIterator<org.apache.fluss.row.InternalRow> readBatch() - throws IOException { - RecordReader.RecordIterator<InternalRow> nextBatch = paimonReader.readBatch(); - // no any snapshot record, now, read log - if (nextBatch == null) { ->>>>>>>> c4d07399 ([INFRA] The project package name updated to org.apache.fluss.):fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lakehouse/paimon/reader/SortMergeReader.java return changeLogIterator.hasNext() ? changeLogIteratorWrapper.replace(changeLogIterator) : null; @@ -82,21 +77,11 @@ class SortMergeReader { } } -<<<<<<<< HEAD:fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/SortMergeReader.java /** A concat record iterator to concat multiple record iterator. */ private static class ConcatRecordIterator implements CloseableIterator<LogRecord> { private final PriorityQueue<SingleElementHeadIterator<LogRecord>> priorityQueue; private final ProjectedRow snapshotProjectedPkRow1; private final ProjectedRow snapshotProjectedPkRow2; -======== - /** - * The IteratorWrapper to wrap Paimon's RecordReader.RecordIterator which emit the merged rows - * with paimon snapshot and fluss change log. - */ - private class SnapshotMergedRowIteratorWrapper - implements CloseableIterator<org.apache.fluss.row.InternalRow> { - private RecordReader.RecordIterator<SortMergeRows> currentBatch; ->>>>>>>> c4d07399 ([INFRA] The project package name updated to org.apache.fluss.):fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lakehouse/paimon/reader/SortMergeReader.java public ConcatRecordIterator( List<CloseableIterator<LogRecord>> iteratorList, @@ -155,29 +140,14 @@ class SortMergeReader { } @Override -<<<<<<<< HEAD:fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/SortMergeReader.java public LogRecord next() { if (!hasNext()) { throw new NoSuchElementException(); -======== - public org.apache.fluss.row.InternalRow next() { - InternalRow returnedRow = - projectedRow == null - ? this.returnedRow - : projectedRow.replaceRow(this.returnedRow); - // now, we can set the internalRow to null, - // if no any row remain in current merged row, set the currentMergedRows to null - // to enable fetch next merged rows - this.returnedRow = null; - if (currentMergedRows != null && !currentMergedRows.hasNext()) { - currentMergedRows = null; ->>>>>>>> c4d07399 ([INFRA] The project package name updated to org.apache.fluss.):fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lakehouse/paimon/reader/SortMergeReader.java } return priorityQueue.peek().next(); } } -<<<<<<<< HEAD:fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/SortMergeReader.java private SortMergeRows sortMergeWithChangeLog(InternalRow lakeSnapshotRow) { // no log record, we return the snapshot record if (!changeLogIterator.hasNext()) { @@ -311,10 +281,6 @@ class SortMergeReader { } private static class ChangeLogIteratorWrapper implements CloseableIterator<InternalRow> { -======== - private class ChangeLogIteratorWrapper - implements CloseableIterator<org.apache.fluss.row.InternalRow> { ->>>>>>>> c4d07399 ([INFRA] The project package name updated to org.apache.fluss.):fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lakehouse/paimon/reader/SortMergeReader.java private CloseableIterator<KeyValueRow> changeLogRecordIterator; public ChangeLogIteratorWrapper() {} @@ -338,17 +304,8 @@ class SortMergeReader { } @Override -<<<<<<<< HEAD:fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/SortMergeReader.java public InternalRow next() { return changeLogRecordIterator.next().valueRow(); -======== - public org.apache.fluss.row.InternalRow next() { - InternalRow returnedRow = changeLogRecordIterator.next().valueRow(); - if (projectedRow != null) { - returnedRow = projectedRow.replaceRow(returnedRow); - } - return new PaimonRowWrapper(returnedRow); ->>>>>>>> c4d07399 ([INFRA] The project package name updated to org.apache.fluss.):fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lakehouse/paimon/reader/SortMergeReader.java } } diff --git a/fluss-jmh/src/test/java/com/alibaba/fluss/jmh/ArrowReadableChannelBenchmark.java b/fluss-jmh/src/test/java/org/apache/fluss/jmh/ArrowReadableChannelBenchmark.java similarity index 99% rename from fluss-jmh/src/test/java/com/alibaba/fluss/jmh/ArrowReadableChannelBenchmark.java rename to fluss-jmh/src/test/java/org/apache/fluss/jmh/ArrowReadableChannelBenchmark.java index 5dfe2b1aa..793fbeb04 100644 --- a/fluss-jmh/src/test/java/com/alibaba/fluss/jmh/ArrowReadableChannelBenchmark.java +++ b/fluss-jmh/src/test/java/org/apache/fluss/jmh/ArrowReadableChannelBenchmark.java @@ -15,6 +15,8 @@ * limitations under the License. */ +package org.apache.fluss.jmh; + import org.apache.commons.lang3.RandomUtils; import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator; import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.RootAllocator; diff --git a/fluss-jmh/src/test/java/com/alibaba/fluss/jmh/ArrowWritableChannelBenchmark.java b/fluss-jmh/src/test/java/org/apache/fluss/jmh/ArrowWritableChannelBenchmark.java similarity index 99% rename from fluss-jmh/src/test/java/com/alibaba/fluss/jmh/ArrowWritableChannelBenchmark.java rename to fluss-jmh/src/test/java/org/apache/fluss/jmh/ArrowWritableChannelBenchmark.java index ec709c5a5..5d7ac7a4f 100644 --- a/fluss-jmh/src/test/java/com/alibaba/fluss/jmh/ArrowWritableChannelBenchmark.java +++ b/fluss-jmh/src/test/java/org/apache/fluss/jmh/ArrowWritableChannelBenchmark.java @@ -15,6 +15,8 @@ * limitations under the License. */ +package org.apache.fluss.jmh; + import org.apache.commons.lang3.RandomUtils; import org.apache.fluss.memory.MemorySegment; import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator; diff --git a/fluss-jmh/src/test/java/com/alibaba/fluss/jmh/LogScannerBenchmark.java b/fluss-jmh/src/test/java/org/apache/fluss/jmh/LogScannerBenchmark.java similarity index 99% rename from fluss-jmh/src/test/java/com/alibaba/fluss/jmh/LogScannerBenchmark.java rename to fluss-jmh/src/test/java/org/apache/fluss/jmh/LogScannerBenchmark.java index 84da0cc03..372b11a28 100644 --- a/fluss-jmh/src/test/java/com/alibaba/fluss/jmh/LogScannerBenchmark.java +++ b/fluss-jmh/src/test/java/org/apache/fluss/jmh/LogScannerBenchmark.java @@ -15,6 +15,8 @@ * limitations under the License. */ +package org.apache.fluss.jmh; + import org.apache.fluss.client.Connection; import org.apache.fluss.client.ConnectionFactory; import org.apache.fluss.client.admin.Admin; diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalog.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalog.java index a2be5fa39..a3a2e9eef 100644 --- a/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalog.java +++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalog.java @@ -1,17 +1,18 @@ /* - * Copyright (c) 2025 Alibaba Group Holding Ltd. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 * - * 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 * - * 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. + * 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 org.apache.fluss.lake.iceberg; diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/conf/HadoopUtils.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/conf/HadoopUtils.java index 79e0e8aea..8b6145d2c 100644 --- a/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/conf/HadoopUtils.java +++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/conf/HadoopUtils.java @@ -1,17 +1,18 @@ /* - * Copyright (c) 2025 Alibaba Group Holding Ltd. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 * - * 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 * - * 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. + * 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 org.apache.fluss.lake.iceberg.conf; diff --git a/fluss-lake/fluss-lake-iceberg/src/test/java/org/apache/fluss/lake/iceberg/tiering/IcebergTieringTest.java b/fluss-lake/fluss-lake-iceberg/src/test/java/org/apache/fluss/lake/iceberg/tiering/IcebergTieringTest.java index 946406d25..d0227ca1d 100644 --- a/fluss-lake/fluss-lake-iceberg/src/test/java/org/apache/fluss/lake/iceberg/tiering/IcebergTieringTest.java +++ b/fluss-lake/fluss-lake-iceberg/src/test/java/org/apache/fluss/lake/iceberg/tiering/IcebergTieringTest.java @@ -1,17 +1,18 @@ /* - * Copyright (c) 2025 Alibaba Group Holding Ltd. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 * - * 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 * - * 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. + * 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 org.apache.fluss.lake.iceberg.tiering; diff --git a/fluss-lake/fluss-lake-lance/src/main/java/com/alibaba/fluss/lake/lance/LanceConfig.java b/fluss-lake/fluss-lake-lance/src/main/java/org/apache/fluss/lake/lance/LanceConfig.java similarity index 100% rename from fluss-lake/fluss-lake-lance/src/main/java/com/alibaba/fluss/lake/lance/LanceConfig.java rename to fluss-lake/fluss-lake-lance/src/main/java/org/apache/fluss/lake/lance/LanceConfig.java diff --git a/fluss-lake/fluss-lake-lance/src/main/java/com/alibaba/fluss/lake/lance/LanceLakeCatalog.java b/fluss-lake/fluss-lake-lance/src/main/java/org/apache/fluss/lake/lance/LanceLakeCatalog.java similarity index 100% rename from fluss-lake/fluss-lake-lance/src/main/java/com/alibaba/fluss/lake/lance/LanceLakeCatalog.java rename to fluss-lake/fluss-lake-lance/src/main/java/org/apache/fluss/lake/lance/LanceLakeCatalog.java diff --git a/fluss-lake/fluss-lake-lance/src/main/java/com/alibaba/fluss/lake/lance/LanceLakeStorage.java b/fluss-lake/fluss-lake-lance/src/main/java/org/apache/fluss/lake/lance/LanceLakeStorage.java similarity index 100% rename from fluss-lake/fluss-lake-lance/src/main/java/com/alibaba/fluss/lake/lance/LanceLakeStorage.java rename to fluss-lake/fluss-lake-lance/src/main/java/org/apache/fluss/lake/lance/LanceLakeStorage.java diff --git a/fluss-lake/fluss-lake-lance/src/main/java/com/alibaba/fluss/lake/lance/LanceLakeStoragePlugin.java b/fluss-lake/fluss-lake-lance/src/main/java/org/apache/fluss/lake/lance/LanceLakeStoragePlugin.java similarity index 100% rename from fluss-lake/fluss-lake-lance/src/main/java/com/alibaba/fluss/lake/lance/LanceLakeStoragePlugin.java rename to fluss-lake/fluss-lake-lance/src/main/java/org/apache/fluss/lake/lance/LanceLakeStoragePlugin.java diff --git a/fluss-lake/fluss-lake-lance/src/main/java/com/alibaba/fluss/lake/lance/tiering/LanceCommittable.java b/fluss-lake/fluss-lake-lance/src/main/java/org/apache/fluss/lake/lance/tiering/LanceCommittable.java similarity index 100% rename from fluss-lake/fluss-lake-lance/src/main/java/com/alibaba/fluss/lake/lance/tiering/LanceCommittable.java rename to fluss-lake/fluss-lake-lance/src/main/java/org/apache/fluss/lake/lance/tiering/LanceCommittable.java diff --git a/fluss-lake/fluss-lake-lance/src/main/java/com/alibaba/fluss/lake/lance/tiering/LanceWriteResult.java b/fluss-lake/fluss-lake-lance/src/main/java/org/apache/fluss/lake/lance/tiering/LanceWriteResult.java similarity index 96% rename from fluss-lake/fluss-lake-lance/src/main/java/com/alibaba/fluss/lake/lance/tiering/LanceWriteResult.java rename to fluss-lake/fluss-lake-lance/src/main/java/org/apache/fluss/lake/lance/tiering/LanceWriteResult.java index b64e3e3f9..f2732bea0 100644 --- a/fluss-lake/fluss-lake-lance/src/main/java/com/alibaba/fluss/lake/lance/tiering/LanceWriteResult.java +++ b/fluss-lake/fluss-lake-lance/src/main/java/org/apache/fluss/lake/lance/tiering/LanceWriteResult.java @@ -15,6 +15,8 @@ * limitations under the License. */ +package org.apache.fluss.lake.lance.tiering; + import com.lancedb.lance.FragmentMetadata; import java.io.Serializable; diff --git a/fluss-lake/fluss-lake-lance/src/main/java/com/alibaba/fluss/lake/lance/utils/LanceArrowUtils.java b/fluss-lake/fluss-lake-lance/src/main/java/org/apache/fluss/lake/lance/utils/LanceArrowUtils.java similarity index 100% rename from fluss-lake/fluss-lake-lance/src/main/java/com/alibaba/fluss/lake/lance/utils/LanceArrowUtils.java rename to fluss-lake/fluss-lake-lance/src/main/java/org/apache/fluss/lake/lance/utils/LanceArrowUtils.java diff --git a/fluss-lake/fluss-lake-lance/src/main/java/com/alibaba/fluss/lake/lance/utils/LanceDatasetAdapter.java b/fluss-lake/fluss-lake-lance/src/main/java/org/apache/fluss/lake/lance/utils/LanceDatasetAdapter.java similarity index 100% rename from fluss-lake/fluss-lake-lance/src/main/java/com/alibaba/fluss/lake/lance/utils/LanceDatasetAdapter.java rename to fluss-lake/fluss-lake-lance/src/main/java/org/apache/fluss/lake/lance/utils/LanceDatasetAdapter.java diff --git a/fluss-lake/fluss-lake-lance/src/test/java/com/alibaba/fluss/lake/lance/LakeEnabledTableCreateITCase.java b/fluss-lake/fluss-lake-lance/src/test/java/org/apache/fluss/lake/lance/LakeEnabledTableCreateITCase.java similarity index 100% rename from fluss-lake/fluss-lake-lance/src/test/java/com/alibaba/fluss/lake/lance/LakeEnabledTableCreateITCase.java rename to fluss-lake/fluss-lake-lance/src/test/java/org/apache/fluss/lake/lance/LakeEnabledTableCreateITCase.java diff --git a/fluss-lake/fluss-lake-paimon/src/main/java/com/alibaba/fluss/lake/paimon/source/FlussRowAsPaimonRow.java b/fluss-lake/fluss-lake-paimon/src/main/java/org/apache/fluss/lake/paimon/source/FlussRowAsPaimonRow.java similarity index 82% rename from fluss-lake/fluss-lake-paimon/src/main/java/com/alibaba/fluss/lake/paimon/source/FlussRowAsPaimonRow.java rename to fluss-lake/fluss-lake-paimon/src/main/java/org/apache/fluss/lake/paimon/source/FlussRowAsPaimonRow.java index ae600ebfb..6260fd9aa 100644 --- a/fluss-lake/fluss-lake-paimon/src/main/java/com/alibaba/fluss/lake/paimon/source/FlussRowAsPaimonRow.java +++ b/fluss-lake/fluss-lake-paimon/src/main/java/org/apache/fluss/lake/paimon/source/FlussRowAsPaimonRow.java @@ -1,13 +1,12 @@ /* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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 + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * 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, @@ -16,7 +15,8 @@ * limitations under the License. */ -import org.apache.fluss.record.ChangeType; +package org.apache.fluss.lake.paimon.source; + import org.apache.fluss.row.TimestampLtz; import org.apache.fluss.row.TimestampNtz; import org.apache.paimon.data.BinaryString; @@ -33,21 +33,14 @@ import org.apache.paimon.types.RowType; /** Adapter class for converting Fluss row to Paimon row. */ public class FlussRowAsPaimonRow implements InternalRow { -<<<<<<<< HEAD:fluss-lake/fluss-lake-paimon/src/main/java/com/alibaba/fluss/lake/paimon/source/FlussRowAsPaimonRow.java protected org.apache.fluss.row.InternalRow internalRow; protected final RowType tableRowType; -======== - private final ChangeType changeType; - private final org.apache.fluss.row.InternalRow flussRow; - private final RowType rowType; ->>>>>>>> c4d07399 ([INFRA] The project package name updated to org.apache.fluss.):fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lakehouse/paimon/reader/ScanRecordWrapper.java public FlussRowAsPaimonRow(RowType tableTowType) { this.tableRowType = tableTowType; } - public FlussRowAsPaimonRow( - org.apache.fluss.row.InternalRow internalRow, RowType tableTowType) { + public FlussRowAsPaimonRow(org.apache.fluss.row.InternalRow internalRow, RowType tableTowType) { this.internalRow = internalRow; this.tableRowType = tableTowType; } diff --git a/fluss-lake/fluss-lake-paimon/src/main/java/com/alibaba/fluss/lake/paimon/source/PaimonLakeSource.java b/fluss-lake/fluss-lake-paimon/src/main/java/org/apache/fluss/lake/paimon/source/PaimonLakeSource.java similarity index 100% rename from fluss-lake/fluss-lake-paimon/src/main/java/com/alibaba/fluss/lake/paimon/source/PaimonLakeSource.java rename to fluss-lake/fluss-lake-paimon/src/main/java/org/apache/fluss/lake/paimon/source/PaimonLakeSource.java diff --git a/fluss-lake/fluss-lake-paimon/src/main/java/com/alibaba/fluss/lake/paimon/source/PaimonRecordReader.java b/fluss-lake/fluss-lake-paimon/src/main/java/org/apache/fluss/lake/paimon/source/PaimonRecordReader.java similarity index 100% rename from fluss-lake/fluss-lake-paimon/src/main/java/com/alibaba/fluss/lake/paimon/source/PaimonRecordReader.java rename to fluss-lake/fluss-lake-paimon/src/main/java/org/apache/fluss/lake/paimon/source/PaimonRecordReader.java diff --git a/fluss-lake/fluss-lake-paimon/src/main/java/com/alibaba/fluss/lake/paimon/source/PaimonSortedRecordReader.java b/fluss-lake/fluss-lake-paimon/src/main/java/org/apache/fluss/lake/paimon/source/PaimonSortedRecordReader.java similarity index 100% rename from fluss-lake/fluss-lake-paimon/src/main/java/com/alibaba/fluss/lake/paimon/source/PaimonSortedRecordReader.java rename to fluss-lake/fluss-lake-paimon/src/main/java/org/apache/fluss/lake/paimon/source/PaimonSortedRecordReader.java diff --git a/fluss-lake/fluss-lake-paimon/src/main/java/com/alibaba/fluss/lake/paimon/source/PaimonSplit.java b/fluss-lake/fluss-lake-paimon/src/main/java/org/apache/fluss/lake/paimon/source/PaimonSplit.java similarity index 100% rename from fluss-lake/fluss-lake-paimon/src/main/java/com/alibaba/fluss/lake/paimon/source/PaimonSplit.java rename to fluss-lake/fluss-lake-paimon/src/main/java/org/apache/fluss/lake/paimon/source/PaimonSplit.java diff --git a/fluss-lake/fluss-lake-paimon/src/main/java/com/alibaba/fluss/lake/paimon/source/PaimonSplitPlanner.java b/fluss-lake/fluss-lake-paimon/src/main/java/org/apache/fluss/lake/paimon/source/PaimonSplitPlanner.java similarity index 100% rename from fluss-lake/fluss-lake-paimon/src/main/java/com/alibaba/fluss/lake/paimon/source/PaimonSplitPlanner.java rename to fluss-lake/fluss-lake-paimon/src/main/java/org/apache/fluss/lake/paimon/source/PaimonSplitPlanner.java diff --git a/fluss-lake/fluss-lake-paimon/src/main/java/com/alibaba/fluss/lake/paimon/source/PaimonSplitSerializer.java b/fluss-lake/fluss-lake-paimon/src/main/java/org/apache/fluss/lake/paimon/source/PaimonSplitSerializer.java similarity index 100% rename from fluss-lake/fluss-lake-paimon/src/main/java/com/alibaba/fluss/lake/paimon/source/PaimonSplitSerializer.java rename to fluss-lake/fluss-lake-paimon/src/main/java/org/apache/fluss/lake/paimon/source/PaimonSplitSerializer.java diff --git a/fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/source/FlussRowAsPaimonRowTest.java b/fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/source/FlussRowAsPaimonRowTest.java similarity index 100% rename from fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/source/FlussRowAsPaimonRowTest.java rename to fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/source/FlussRowAsPaimonRowTest.java diff --git a/fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/source/PaimonLakeSourceTest.java b/fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/source/PaimonLakeSourceTest.java similarity index 100% rename from fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/source/PaimonLakeSourceTest.java rename to fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/source/PaimonLakeSourceTest.java diff --git a/fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/source/PaimonRecordReaderTest.java b/fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/source/PaimonRecordReaderTest.java similarity index 100% rename from fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/source/PaimonRecordReaderTest.java rename to fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/source/PaimonRecordReaderTest.java diff --git a/fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/source/PaimonSortedRecordReaderTest.java b/fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/source/PaimonSortedRecordReaderTest.java similarity index 100% rename from fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/source/PaimonSortedRecordReaderTest.java rename to fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/source/PaimonSortedRecordReaderTest.java diff --git a/fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/source/PaimonSourceTestBase.java b/fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/source/PaimonSourceTestBase.java similarity index 100% rename from fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/source/PaimonSourceTestBase.java rename to fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/source/PaimonSourceTestBase.java diff --git a/fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/source/PaimonSplitPlannerTest.java b/fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/source/PaimonSplitPlannerTest.java similarity index 100% rename from fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/source/PaimonSplitPlannerTest.java rename to fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/source/PaimonSplitPlannerTest.java diff --git a/fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/source/PaimonSplitSerializerTest.java b/fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/source/PaimonSplitSerializerTest.java similarity index 100% rename from fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/source/PaimonSplitSerializerTest.java rename to fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/source/PaimonSplitSerializerTest.java diff --git a/fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/source/PaimonSplitTest.java b/fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/source/PaimonSplitTest.java similarity index 100% rename from fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/source/PaimonSplitTest.java rename to fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/source/PaimonSplitTest.java diff --git a/fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/utils/FlussToPaimonPredicateConverterTest.java b/fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/utils/FlussToPaimonPredicateConverterTest.java similarity index 100% rename from fluss-lake/fluss-lake-paimon/src/test/java/com/alibaba/fluss/lake/paimon/utils/FlussToPaimonPredicateConverterTest.java rename to fluss-lake/fluss-lake-paimon/src/test/java/org/apache/fluss/lake/paimon/utils/FlussToPaimonPredicateConverterTest.java diff --git a/fluss-rpc/src/main/java/org/apache/fluss/rpc/netty/client/NettyClientHandler.java b/fluss-rpc/src/main/java/org/apache/fluss/rpc/netty/client/NettyClientHandler.java index 5eb9284ef..83dccae27 100644 --- a/fluss-rpc/src/main/java/org/apache/fluss/rpc/netty/client/NettyClientHandler.java +++ b/fluss-rpc/src/main/java/org/apache/fluss/rpc/netty/client/NettyClientHandler.java @@ -97,7 +97,7 @@ public final class NettyClientHandler extends ChannelInboundHandlerAdapter { // processing the response. // TODO for the FetchLogResponse returned by the FetchLogRequest sent by the // Fluss client, We also aim to avoid this memory copy operation, traced by - // https://github.com/alibaba/fluss/issues/1184 + // https://github.com/apache/fluss/issues/1184 response.parseFrom(buffer, messageSize); } else { // copy the buffer into a heap buffer, this can avoid the network buffer diff --git a/fluss-rpc/src/main/java/org/apache/fluss/rpc/netty/server/NettyServerHandler.java b/fluss-rpc/src/main/java/org/apache/fluss/rpc/netty/server/NettyServerHandler.java index a3a658eff..2da1b46af 100644 --- a/fluss-rpc/src/main/java/org/apache/fluss/rpc/netty/server/NettyServerHandler.java +++ b/fluss-rpc/src/main/java/org/apache/fluss/rpc/netty/server/NettyServerHandler.java @@ -293,7 +293,7 @@ public final class NettyServerHandler extends ChannelInboundHandlerAdapter { @VisibleForTesting Deque<FlussRequest> inflightResponses(short apiKey) { // TODO: implement this if we introduce inflight response in - // https://github.com/alibaba/fluss/issues/771 + // https://github.com/apache/fluss/issues/771 return new ArrayDeque<>(); } diff --git a/fluss-rpc/src/test/java/org/apache/fluss/rpc/netty/server/NettyServerHandlerTest.java b/fluss-rpc/src/test/java/org/apache/fluss/rpc/netty/server/NettyServerHandlerTest.java index 0a7e901a2..c52a5119f 100644 --- a/fluss-rpc/src/test/java/org/apache/fluss/rpc/netty/server/NettyServerHandlerTest.java +++ b/fluss-rpc/src/test/java/org/apache/fluss/rpc/netty/server/NettyServerHandlerTest.java @@ -77,7 +77,7 @@ final class NettyServerHandlerTest { } @Test - @Disabled("TODO: add back in https://github.com/alibaba/fluss/issues/771") + @Disabled("TODO: add back in https://github.com/apache/fluss/issues/771") void testResponseReturnInOrder() throws Exception { // first write 10 requests to serverHandler. for (int i = 0; i < 10; i++) { @@ -148,7 +148,7 @@ final class NettyServerHandlerTest { } @Test - @Disabled("TODO: add back in https://github.com/alibaba/fluss/issues/771") + @Disabled("TODO: add back in https://github.com/apache/fluss/issues/771") void testDifferentResponseTypeReturnInSeparateOrder() throws Exception { // 1. first write 5 requests with api as ApiKeys.API_VERSIONS to serverHandler. for (int i = 0; i < 5; i++) { diff --git a/fluss-server/src/main/java/org/apache/fluss/server/replica/fetcher/ReplicaFetcherThread.java b/fluss-server/src/main/java/org/apache/fluss/server/replica/fetcher/ReplicaFetcherThread.java index 4ba16240c..5127639cd 100644 --- a/fluss-server/src/main/java/org/apache/fluss/server/replica/fetcher/ReplicaFetcherThread.java +++ b/fluss-server/src/main/java/org/apache/fluss/server/replica/fetcher/ReplicaFetcherThread.java @@ -551,7 +551,7 @@ final class ReplicaFetcherThread extends ShutdownableThread { // https://cwiki.apache.org/confluence/display/KAFKA/KIP-101+-+Alter+Replication+Protocol+to+use+Leader+Epoch+rather+than+High+Watermark+for+Truncation // for more details. However, this is just a temporary solution, if we want to have a strong // consistency guarantee, we should do as KIP-101 do, trace by: - // https://github.com/alibaba/fluss/issues/673 + // https://github.com/apache/fluss/issues/673 logTablet.updateHighWatermark(logTablet.localLogEndOffset()); LOG.trace( "Follower received high watermark {} from the leader for replica {}", @@ -571,7 +571,7 @@ final class ReplicaFetcherThread extends ShutdownableThread { RemoteLogManager rlm = replicaManager.getRemoteLogManager(); // TODO after introduce leader epoch cache, we need to rebuild the local leader epoch - // cache. Trace by https://github.com/alibaba/fluss/issues/673 + // cache. Trace by https://github.com/apache/fluss/issues/673 // update next fetch offset and writer id snapshot in local. RemoteLogSegment remoteLogSegmentWithMaxStartOffset = diff --git a/fluss-test-coverage/pom.xml b/fluss-test-coverage/pom.xml index 5907d73e8..b9c26aca3 100644 --- a/fluss-test-coverage/pom.xml +++ b/fluss-test-coverage/pom.xml @@ -165,7 +165,7 @@ <exclude>fluss-test-coverage/**</exclude> <exclude>fluss-test-utils/**</exclude> <!-- exclude adapter classes to avoid Jacoco error: "Can't add different class with same name" --> - <exclude>fluss-flink/**/target/classes/com/alibaba/fluss/flink/adapter/**</exclude> + <exclude>fluss-flink/**/target/classes/org/apache/fluss/flink/adapter/**</exclude> </excludes> </resource> </resources> @@ -207,7 +207,7 @@ <exclude>fluss-test-coverage/**</exclude> <exclude>fluss-test-utils/**</exclude> <!-- exclude adapter classes to avoid Jacoco error: "Can't add different class with same name" --> - <exclude>fluss-flink/**/target/classes/com/alibaba/fluss/flink/adapter/**</exclude> + <exclude>fluss-flink/**/target/classes/org/apache/fluss/flink/adapter/**</exclude> </excludes> </resource> </resources> diff --git a/website/blog/2024-11-29-fluss-open-source.md b/website/blog/2024-11-29-fluss-open-source.md index a210774bd..ec8d307a0 100644 --- a/website/blog/2024-11-29-fluss-open-source.md +++ b/website/blog/2024-11-29-fluss-open-source.md @@ -29,7 +29,7 @@ Fluss is designed to support a wide range of use cases, from powering dashboards By serving as the real-time data layer on the Lakehouse, Fluss supports both **streaming-first** architectures and **unified batch and stream processing**. This flexibility should be appealing for organizations looking to modernize their analytics stack while keeping costs low and performance high. ### What’s Next for Fluss? -Open-sourcing Fluss is just the beginning and it will be donated to the Apache Software Foundation (ASF). We’re committed to working closely with the community to expand its capabilities and adoption. You can find more information about the project’s roadmap [here](https://alibaba.github.io/fluss-docs/roadmap/). +Open-sourcing Fluss is just the beginning and it will be donated to the Apache Software Foundation (ASF). We’re committed to working closely with the community to expand its capabilities and adoption. You can find more information about the project’s roadmap [here](https://fluss.apache.org/roadmap/).  @@ -40,7 +40,7 @@ Make sure to keep an eye on the project, give it a try and if you like it, don ### Getting Started - Visit the [GitHub repository](https://github.com/apache/fluss). -- Check out the [quickstart guide](https://alibaba.github.io/fluss-docs/docs/quickstart/flink/). +- Check out the [quickstart guide](/docs/quickstart/flink.md). ### Additional Resources - Announcement Blog Post: [Introducing Fluss: Unified Streaming Storage For Next-Generation Data Analytics](https://www.ververica.com/blog/introducing-fluss) diff --git a/website/blog/2025-06-01-partial-updates.md b/website/blog/2025-06-01-partial-updates.md index a774c313a..08de6d53c 100644 --- a/website/blog/2025-06-01-partial-updates.md +++ b/website/blog/2025-06-01-partial-updates.md @@ -297,7 +297,7 @@ Flink SQL> SELECT * FROM user_rec_wide; ### Conclusion Partial updates in Fluss enable an alternative approach in how we design streaming data pipelines for enriching or joining data. -When all your sources share a primary key - otherwise you can mix & match [streaming lookup joins](https://alibaba.github.io/fluss-docs/docs/engine-flink/lookups/#lookup) - you can turn the problem on its head: update a unified table incrementally, rather than joining streams on the fly. +When all your sources share a primary key - otherwise you can mix & match [streaming lookup joins](/docs/engine-flink/lookups.md#lookup) - you can turn the problem on its head: update a unified table incrementally, rather than joining streams on the fly. The result is a more scalable, maintainable, and efficient pipeline. Engineers can spend less time wrestling with Flink’s state, checkpoints and join mechanics, and more time delivering fresh, integrated data to power real-time analytics and applications. diff --git a/website/blog/2025-07-07-fluss-java-client.md b/website/blog/2025-07-07-fluss-java-client.md index 71e9cc49f..c332fbc65 100644 --- a/website/blog/2025-07-07-fluss-java-client.md +++ b/website/blog/2025-07-07-fluss-java-client.md @@ -382,4 +382,4 @@ This IoT sensor scenario is just one example of Fluss in action and also highlig Fluss's ability to handle high-throughput append streams and fast key-based lookups makes it well-suited for real-time analytics use cases like this and many others. With this foundation, you can explore more advanced features of Fluss to build robust real-time data applications. Happy streaming! 🌊 -And before you go 😊 don’t forget to give Fluss 🌊 some ❤️ via ⭐ on [GitHub](https://github.com/alibaba/fluss) +And before you go 😊 don’t forget to give Fluss 🌊 some ❤️ via ⭐ on [GitHub](https://github.com/apache/fluss) diff --git a/website/blog/releases/0.7.md b/website/blog/releases/0.7.md index f66302337..ce57ed808 100644 --- a/website/blog/releases/0.7.md +++ b/website/blog/releases/0.7.md @@ -155,7 +155,7 @@ DataStreamSource<Order> stream = env.fromSource( ); ``` -For usage examples and configuration parameters, see the [DataStream Connector documentation](https://alibaba.github.io/fluss-docs/docs/engine-flink/datastream/). +For usage examples and configuration parameters, see the [DataStream Connector documentation](/docs/engine-flink/datastream.md). ## Fluss Java Client @@ -164,7 +164,7 @@ In this version, we officially release the Fluss Java Client, a client library d * **Table API:** For table-based data operations, supporting streaming reads/writes, updates, deletions, and point queries. * **Admin API:** For metadata management, including cluster management, table lifecycle, and access control. -The client supports forward and backward compatibility, ensuring smooth upgrades across Fluss versions. With the Fluss Java Client, developers can build online applications and data ingestion services based on Fluss, as well as enterprise-level components such as Fluss management platforms and operations monitoring systems. For detailed usage instructions, please refer to the official documentation: [Fluss Java Client User Guide](https://alibaba.github.io/fluss-docs/docs/apis/java-client/). +The client supports forward and backward compatibility, ensuring smooth upgrades across Fluss versions. With the Fluss Java Client, developers can build online applications and data ingestion services based on Fluss, as well as enterprise-level components such as Fluss management platforms and operations monitoring systems. For detailed usage instructions, please refer to the official documentation: [Fluss Java Client User Guide](/docs/apis/java-client.md). Fluss uses Apache Arrow as its underlying storage format, enabling efficient cross-language extensions. A **Fluss Python Client** is planned for future releases, leveraging the rich ecosystem of **PyArrow** to integrate with popular data analysis tools such as **Pandas** and **DuckDB**. This will further lower the barrier for real-time data exploration and analytics. diff --git a/website/community/welcome.mdx b/website/community/welcome.mdx index 5aa33bce7..1652bcabd 100644 --- a/website/community/welcome.mdx +++ b/website/community/welcome.mdx @@ -12,7 +12,7 @@ If you are not sure what to work on, look at an issue tagged with [good first is ## Discussions -The development discussions and user questions happen primarily on [GitHub Discussions](https://github.com/alibaba/fluss/discussions). +The development discussions and user questions happen primarily on [GitHub Discussions](https://github.com/apache/fluss/discussions). ## Mailing Lists Fluss has two mailing lists: diff --git a/website/src/pages/roadmap.md b/website/src/pages/roadmap.md index fd6ab72f6..aaece102c 100644 --- a/website/src/pages/roadmap.md +++ b/website/src/pages/roadmap.md @@ -6,18 +6,18 @@ Fluss will support the Kafka network protocol to enable users to use Fluss as a Fluss will provide deep integration with Apache Flink, enabling users a single engine experience for building real-time analytics applications. The integration will include: - Upgrade Flink version to 2.x - Support new Delta Join to address the pain-points of Stream-Stream Join. -- More pushdown optimizations: Filter Pushdown ([#197](https://github.com/alibaba/fluss/issues/197)), Aggregation Pushdown, etc. +- More pushdown optimizations: Filter Pushdown ([#197](https://github.com/apache/fluss/issues/197)), Aggregation Pushdown, etc. - Upgrade the Rule-Based Optimization into Cost-Based Optimization in Flink SQL streaming planner with leveraging statistics in Fluss tables. ## Streaming Lakehouse -- Support for Iceberg ([#452](https://github.com/alibaba/fluss/issues/452)) as Lakehouse Storage. And DeltaLake, Hudi as well. +- Support for Iceberg ([#452](https://github.com/apache/fluss/issues/452)) as Lakehouse Storage. And DeltaLake, Hudi as well. - Support Union Read for Spark, Trino, StarRocks. -- Support for Lance ([#1155](https://github.com/alibaba/fluss/issues/1155)) as Lakehouse Storage to enable integration with AI/ML workflows for multi-modal data processing. +- Support for Lance ([#1155](https://github.com/apache/fluss/issues/1155)) as Lakehouse Storage to enable integration with AI/ML workflows for multi-modal data processing. ## Spark Integration -- Support for Spark connector ([#155](https://github.com/alibaba/fluss/issues/155)) to enable seamless data processing and analytics workflows. +- Support for Spark connector ([#155](https://github.com/apache/fluss/issues/155)) to enable seamless data processing and analytics workflows. ## Python Client - Support Python SDK to connect with Python ecosystems, including PyArrow, Pandas, Lance, and DuckDB. ## Storage Engine -- Support for complex data types: Array ([#168](https://github.com/alibaba/fluss/issues/168)), Map ([#169](https://github.com/alibaba/fluss/issues/169)), Struct ([#170](https://github.com/alibaba/fluss/issues/170)), Variant/JSON. +- Support for complex data types: Array ([#168](https://github.com/apache/fluss/issues/168)), Map ([#169](https://github.com/apache/fluss/issues/169)), Struct ([#170](https://github.com/apache/fluss/issues/170)), Variant/JSON. - Support for schema evolution. ## ZooKeeper Removal Fluss currently utilizes ZooKeeper for cluster coordination, metadata storage, and cluster configuration management. In upcoming releases, ZooKeeper will be replaced by KvStore for metadata storage and Raft for cluster coordination and ensuring consistency. This transition aims to streamline operations and enhance system reliability.
