You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fluss.apache.org by ja...@apache.org on 2025/08/25 11:26:05 UTC

(fluss) 02/02: [infra] Update groupId and spotless for org.apache.fluss

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 7244a5c0daca3507252799b234f67b081a737c17
Author: Jark Wu <ja...@apache.org>
AuthorDate: Mon Aug 25 13:55:20 2025 +0800

    [infra] Update groupId and spotless for org.apache.fluss
---
 LICENSE                                            | 356 ++++++++++-----------
 .../org/apache/fluss/client/admin/FlussAdmin.java  | 132 ++++----
 .../apache/fluss/client/lookup/LookupSender.java   |  38 +--
 .../fluss/client/lookup/PrefixKeyLookuper.java     |  32 +-
 .../fluss/client/lookup/PrimaryKeyLookuper.java    |  34 +-
 .../fluss/client/metadata/MetadataUpdater.java     |  50 +--
 .../client/table/scanner/RemoteFileDownloader.java |  20 +-
 .../table/scanner/batch/LimitBatchScanner.java     |  50 +--
 .../fluss/client/table/scanner/log/LogFetcher.java |  74 ++---
 .../client/table/scanner/log/LogScannerImpl.java   |  28 +-
 .../table/scanner/log/RemoteLogDownloader.java     |  38 +--
 .../fluss/client/write/RecordAccumulator.java      |  52 +--
 .../java/org/apache/fluss/client/write/Sender.java |  58 ++--
 .../security/acl/FlussAuthorizationITCase.java     | 104 +++---
 .../table/scanner/log/RemoteLogDownloaderTest.java |  44 +--
 .../fluss/client/write/ArrowLogWriteBatchTest.java |  50 +--
 ...rg.apache.fluss.fs.token.SecurityTokenReceiver} |   0
 .../fluss/bucketing/IcebergBucketingFunction.java  |   2 +-
 .../fluss/classloading/ComponentClassLoader.java   |   7 +-
 .../java/org/apache/fluss/cluster/Cluster.java     |   4 +-
 .../fluss/compression/ArrowCompressionFactory.java |   5 +-
 .../fluss/compression/ArrowCompressionInfo.java    |   7 +-
 .../compression/Lz4ArrowCompressionCodec.java      |   7 +-
 .../compression/ZstdArrowCompressionCodec.java     |   5 +-
 .../main/java/org/apache/fluss/fs/FileSystem.java  |  28 +-
 .../fluss/fs/token/CredentialsJsonSerde.java       |   9 +-
 .../apache/fluss/lake/committer/BucketOffset.java  |   2 +-
 .../apache/fluss/lake/lakestorage/LakeStorage.java |  10 +-
 .../lake/lakestorage/LakeStoragePluginSetUp.java   |   5 +-
 .../lake/lakestorage/PluginLakeStorageWrapper.java |  20 +-
 .../apache}/fluss/lake/source/LakeSource.java      |   8 +-
 .../apache}/fluss/lake/source/LakeSplit.java       |   4 +-
 .../apache}/fluss/lake/source/Planner.java         |   4 +-
 .../apache}/fluss/lake/source/RecordReader.java    |   8 +-
 .../fluss/lake/source/SortedRecordReader.java      |   6 +-
 .../org/apache/fluss/memory/MemorySegmentPool.java |   8 +-
 .../fluss/metrics/reporter/ReporterSetup.java      |  12 +-
 .../apache/fluss/plugin/DefaultPluginManager.java  |   8 +-
 .../apache}/fluss/predicate/And.java               |   4 +-
 .../apache}/fluss/predicate/CompareUtils.java      |   4 +-
 .../apache}/fluss/predicate/CompoundPredicate.java |   4 +-
 .../apache}/fluss/predicate/Contains.java          |   4 +-
 .../apache}/fluss/predicate/EndsWith.java          |   4 +-
 .../apache}/fluss/predicate/Equal.java             |   6 +-
 .../apache}/fluss/predicate/FieldRef.java          |   4 +-
 .../apache}/fluss/predicate/FunctionVisitor.java   |   2 +-
 .../apache}/fluss/predicate/GreaterOrEqual.java    |   6 +-
 .../apache}/fluss/predicate/GreaterThan.java       |   6 +-
 .../alibaba => org/apache}/fluss/predicate/In.java |   6 +-
 .../apache}/fluss/predicate/IsNotNull.java         |   4 +-
 .../apache}/fluss/predicate/IsNull.java            |   4 +-
 .../apache}/fluss/predicate/LeafFunction.java      |   4 +-
 .../apache}/fluss/predicate/LeafPredicate.java     |  12 +-
 .../apache}/fluss/predicate/LeafUnaryFunction.java |   4 +-
 .../apache}/fluss/predicate/LessOrEqual.java       |   6 +-
 .../apache}/fluss/predicate/LessThan.java          |   6 +-
 .../apache}/fluss/predicate/NotEqual.java          |   6 +-
 .../apache}/fluss/predicate/NotIn.java             |   6 +-
 .../predicate/NullFalseLeafBinaryFunction.java     |   4 +-
 .../alibaba => org/apache}/fluss/predicate/Or.java |   4 +-
 .../fluss/predicate/PartitionPredicateVisitor.java |   2 +-
 .../apache}/fluss/predicate/Predicate.java         |  14 +-
 .../apache}/fluss/predicate/PredicateBuilder.java  |  26 +-
 .../apache}/fluss/predicate/PredicateVisitor.java  |   4 +-
 .../apache}/fluss/predicate/StartsWith.java        |   4 +-
 .../fluss/predicate/UnsupportedExpression.java     |   2 +-
 .../apache/fluss/record/BytesViewLogRecords.java   |  13 +-
 .../apache/fluss/record/DefaultLogRecordBatch.java |  29 +-
 .../fluss/record/DefaultValueRecordBatch.java      |   4 +-
 .../org/apache/fluss/record/FileLogProjection.java |  37 ++-
 .../org/apache/fluss/record/LogRecordBatch.java    |  11 +-
 .../apache/fluss/record/LogRecordReadContext.java  |  25 +-
 .../apache/fluss/record/bytesview/BytesView.java   |   5 +-
 .../record/bytesview/FileRegionBytesView.java      |   5 +-
 .../record/bytesview/MemorySegmentBytesView.java   |   5 +-
 .../fluss/record/bytesview/MultiBytesView.java     |   9 +-
 .../fluss/record/send/ByteBufWritableOutput.java   |   7 +-
 .../fluss/record/send/SendWritableOutput.java      |  15 +-
 .../apache/fluss/record/send/WritableOutput.java   |   7 +-
 .../org/apache/fluss/remote/RemoteLogSegment.java  |   8 +-
 .../org/apache/fluss/row/arrow/ArrowReader.java    |  15 +-
 .../org/apache/fluss/row/arrow/ArrowWriter.java    |  29 +-
 .../apache/fluss/row/arrow/ArrowWriterPool.java    |  17 +-
 .../row/arrow/vectors/ArrowBigIntColumnVector.java |   9 +-
 .../row/arrow/vectors/ArrowBinaryColumnVector.java |   9 +-
 .../arrow/vectors/ArrowBooleanColumnVector.java    |   9 +-
 .../row/arrow/vectors/ArrowDateColumnVector.java   |   9 +-
 .../arrow/vectors/ArrowDecimalColumnVector.java    |  11 +-
 .../row/arrow/vectors/ArrowDoubleColumnVector.java |   9 +-
 .../row/arrow/vectors/ArrowFloatColumnVector.java  |   9 +-
 .../row/arrow/vectors/ArrowIntColumnVector.java    |   9 +-
 .../arrow/vectors/ArrowSmallIntColumnVector.java   |   9 +-
 .../row/arrow/vectors/ArrowTimeColumnVector.java   |  11 +-
 .../vectors/ArrowTimestampLtzColumnVector.java     |  13 +-
 .../vectors/ArrowTimestampNtzColumnVector.java     |  13 +-
 .../arrow/vectors/ArrowTinyIntColumnVector.java    |   9 +-
 .../arrow/vectors/ArrowVarBinaryColumnVector.java  |   9 +-
 .../arrow/vectors/ArrowVarCharColumnVector.java    |   9 +-
 .../fluss/row/arrow/writers/ArrowBigIntWriter.java |   7 +-
 .../fluss/row/arrow/writers/ArrowBinaryWriter.java |   7 +-
 .../row/arrow/writers/ArrowBooleanWriter.java      |   7 +-
 .../fluss/row/arrow/writers/ArrowDateWriter.java   |   7 +-
 .../row/arrow/writers/ArrowDecimalWriter.java      |   9 +-
 .../fluss/row/arrow/writers/ArrowDoubleWriter.java |   7 +-
 .../fluss/row/arrow/writers/ArrowFieldWriter.java  |   7 +-
 .../fluss/row/arrow/writers/ArrowFloatWriter.java  |   7 +-
 .../fluss/row/arrow/writers/ArrowIntWriter.java    |   7 +-
 .../row/arrow/writers/ArrowSmallIntWriter.java     |   7 +-
 .../fluss/row/arrow/writers/ArrowTimeWriter.java   |   9 +-
 .../row/arrow/writers/ArrowTimestampLtzWriter.java |  11 +-
 .../row/arrow/writers/ArrowTimestampNtzWriter.java |  11 +-
 .../row/arrow/writers/ArrowTinyIntWriter.java      |   7 +-
 .../row/arrow/writers/ArrowVarBinaryWriter.java    |   7 +-
 .../row/arrow/writers/ArrowVarCharWriter.java      |   9 +-
 .../org/apache/fluss/row/encode/KeyEncoder.java    |  12 +-
 .../row/encode/iceberg/IcebergBinaryRowWriter.java |  16 +-
 .../row/encode/iceberg/IcebergKeyEncoder.java      |  12 +-
 .../org/apache/fluss/rpc/messages/ApiMessage.java  |   7 +-
 .../security/auth/sasl/jaas/DefaultLogin.java      |   2 +-
 .../java/org/apache/fluss/utils/ArrowUtils.java    | 121 ++++---
 .../org/apache/fluss/utils/BinaryStringUtils.java  |   8 +-
 .../java/org/apache/fluss/utils/DateTimeUtils.java |   6 +-
 .../main/java/org/apache/fluss/utils/NetUtils.java |  13 +-
 .../fluss/utils/json/BucketOffsetJsonSerde.java    |   5 +-
 .../apache/fluss/utils/json/ColumnJsonSerde.java   |   9 +-
 .../apache/fluss/utils/json/DataTypeJsonSerde.java |  31 +-
 .../utils/json/DatabaseDescriptorJsonSerde.java    |   5 +-
 .../apache/fluss/utils/json/JsonSerdeUtils.java    |   5 +-
 .../apache/fluss/utils/json/SchemaJsonSerde.java   |   7 +-
 .../fluss/utils/json/TableDescriptorJsonSerde.java |   9 +-
 .../fluss/utils/json/TablePartitionJsonSerde.java  |   7 +-
 .../java/org/apache/fluss/utils/types/Either.java  |   8 +-
 .../bucketing/IcebergBucketingFunctionTest.java    |  20 +-
 .../java/org/apache/fluss/cluster/ClusterTest.java |  28 +-
 .../compression/ArrowCompressionCodecTest.java     |   3 +-
 .../fluss/lake/lakestorage/LakeStorageTest.java    |  18 +-
 .../fluss/plugin/DefaultPluginManagerTest.java     |   8 +-
 .../fluss/predicate/PredicateBuilderTest.java      |   8 +-
 .../apache}/fluss/predicate/PredicateTest.java     |  16 +-
 .../apache/fluss/record/FileLogRecordsTest.java    |  16 +-
 .../record/MemoryLogRecordsArrowBuilderTest.java   |  46 +--
 .../fluss/record/send/SendWritableOutputTest.java  |  20 +-
 .../fluss/row/arrow/ArrowReaderWriterTest.java     |  50 +--
 .../fluss/row/arrow/ArrowWriterPoolTest.java       |   9 +-
 .../encode/iceberg/IcebergBinaryRowWriterTest.java |   6 +-
 .../row/encode/iceberg/IcebergKeyEncoderTest.java  |  18 +-
 .../security/auth/AuthenticationFactoryTest.java   |  24 +-
 .../org/apache/fluss/testutils/ByteBufChannel.java |   5 +-
 .../org/apache/fluss/testutils/DataTestUtils.java  | 121 ++++---
 .../org/apache/fluss/utils/ArrowUtilsTest.java     |  18 +-
 .../utils/ParentResourceBlockingClassLoader.java   |   4 +-
 .../apache/fluss/utils/ProtoCodecUtilsTest.java    |   9 +-
 .../utils/json/BucketOffsetJsonSerdeTest.java      |   4 +-
 .../apache/fluss/utils/json/JsonSerdeTestBase.java |   3 +-
 .../services/com.alibaba.fluss.fs.FileSystemPlugin |  17 -
 fluss-dist/pom.xml                                 |   6 +-
 fluss-filesystems/fluss-fs-gs/pom.xml              |   2 +-
 .../apache}/fluss/fs/gs/AuthServerHandler.java     |   5 +-
 .../fluss/fs/gs/GSFileSystemBehaviorITCase.java    |   3 +-
 .../apache}/fluss/fs/gs/MockAuthServer.java        |   0
 fluss-filesystems/fluss-fs-hadoop/pom.xml          |   2 +-
 .../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
 fluss-filesystems/fluss-fs-obs/pom.xml             |  16 +-
 .../apache}/fluss/fs/obs/OBSFileSystem.java        |   8 +-
 .../apache}/fluss/fs/obs/OBSFileSystemPlugin.java  |  16 +-
 .../DynamicTemporaryOBSCredentialsProvider.java    |   4 +-
 .../fs/obs/token/OBSSecurityTokenProvider.java     |  10 +-
 .../fs/obs/token/OBSSecurityTokenReceiver.java     |  14 +-
 ...Plugin => org.apache.fluss.fs.FileSystemPlugin} |   2 +-
 ...rg.apache.fluss.fs.token.SecurityTokenReceiver} |   2 +-
 .../fluss/fs/obs/OBSFileSystemBehaviorITCase.java  |  10 +-
 .../apache}/fluss/fs/obs/OBSTestCredentials.java   |   2 +-
 ...redentialsProviderFileSystemBehaviorITCase.java |  12 +-
 .../OBSWithTokenFileSystemBehaviorBaseITCase.java  |   8 +-
 .../obs/OBSWithTokenFileSystemBehaviorITCase.java  |  12 +-
 .../org.junit.jupiter.api.extension.Extension      |   2 +-
 fluss-filesystems/fluss-fs-oss/pom.xml             |   4 +-
 fluss-filesystems/fluss-fs-s3/pom.xml              |   2 +-
 .../s3/model/transform/XmlResponsesSaxParser.java  |  20 +-
 .../services/org.apache.fluss.fs.FileSystemPlugin  |   4 +-
 ...org.apache.fluss.fs.token.SecurityTokenReceiver |   4 +-
 .../fluss/flink/adapter/CatalogTableAdapter.java   |   2 +-
 .../adapter/SingleThreadFetcherManagerAdapter.java |   2 +-
 ...ngleThreadMultiplexSourceReaderBaseAdapter.java |   2 +-
 .../fluss/flink/adapter/CatalogTableAdapter.java   |   2 +-
 fluss-flink/fluss-flink-2.1/pom.xml                |  22 +-
 .../org/apache/flink/api/connector/sink2/Sink.java |   4 +-
 .../org.apache.flink.table.factories.Factory       |  14 +-
 .../fluss/flink/metrics/Flink21MetricsITCase.java  |  20 --
 .../flink/procedure/Flink21ProcedureITCase.java    |  20 --
 .../security/acl/Flink21AuthorizationITCase.java   |  20 --
 .../fluss/flink/sink/Flink21TableSinkITCase.java   |  20 --
 .../source/Flink21TableSourceBatchITCase.java      |  20 --
 .../source/Flink21TableSourceFailOverITCase.java   |  20 --
 .../flink/source/Flink21TableSourceITCase.java     |  20 --
 .../fluss/flink/catalog/Flink21CatalogITCase.java  |   6 +-
 .../fluss/flink/metrics/Flink21MetricsITCase.java  |  17 +-
 .../flink/procedure/Flink21ProcedureITCase.java    |  17 +-
 .../security/acl/Flink21AuthorizationITCase.java   |  17 +-
 .../fluss/flink/sink/Flink21TableSinkITCase.java   |  17 +-
 .../source/Flink21TableSourceBatchITCase.java      |  17 +-
 .../source/Flink21TableSourceFailOverITCase.java   |  17 +-
 .../flink/source/Flink21TableSourceITCase.java     |  17 +-
 .../fluss/flink/adapter/CatalogTableAdapter.java   |   2 +-
 .../adapter/SingleThreadFetcherManagerAdapter.java |   2 +-
 ...ngleThreadMultiplexSourceReaderBaseAdapter.java |   2 +-
 .../apache/fluss/flink/catalog/FlinkCatalog.java   |  60 ++--
 .../fluss/flink/catalog/FlinkTableFactory.java     |  34 +-
 .../apache}/fluss/flink/lake/LakeCatalog.java      |   6 +-
 .../fluss/flink/lake/LakeRecordRecordEmitter.java  |  16 +-
 .../fluss/flink/lake/LakeSplitGenerator.java       |  33 +-
 .../fluss/flink/lake/LakeSplitReaderGenerator.java |  20 +-
 .../fluss/flink/lake/LakeSplitSerializer.java      |  20 +-
 .../flink/lake/LakeSplitStateInitializer.java      |  21 +-
 .../apache}/fluss/flink/lake/LakeTableFactory.java |   6 +-
 .../fluss/flink/lake/reader/KeyValueRow.java       |   6 +-
 .../reader/LakeSnapshotAndLogSplitScanner.java     |  34 +-
 .../flink/lake/reader/LakeSnapshotScanner.java     |  18 +-
 .../fluss/flink/lake/reader/SortMergeReader.java   |  75 +----
 .../lake/split/LakeSnapshotAndFlussLogSplit.java   |   8 +-
 .../fluss/flink/lake/split/LakeSnapshotSplit.java  |   8 +-
 .../state/LakeSnapshotAndFlussLogSplitState.java   |   8 +-
 .../flink/lake/state/LakeSnapshotSplitState.java   |  12 +-
 .../org/apache/fluss/flink/source/FlinkSource.java |  42 +--
 .../fluss/flink/source/FlinkTableSource.java       |  50 +--
 .../JsonStringDeserializationSchema.java           |  18 +-
 .../flink/source/emitter/FlinkRecordEmitter.java   |  16 +-
 .../source/enumerator/FlinkSourceEnumerator.java   |  62 ++--
 .../flink/source/reader/FlinkSourceReader.java     |  36 +--
 .../source/reader/FlinkSourceSplitReader.java      |  54 ++--
 .../reader/fetcher/FlinkSourceFetcherManager.java  |  12 +-
 .../flink/source/split/SourceSplitSerializer.java  |  12 +-
 .../tiering/committer/FlussTableLakeSnapshot.java  |   6 +-
 .../committer/FlussTableLakeSnapshotCommitter.java |  34 +-
 .../tiering/committer/TieringCommitOperator.java   |  54 ++--
 .../fluss/flink/tiering/source/TieringSource.java  |  26 +-
 .../apache/fluss/flink/utils/FlinkConversions.java |  44 +--
 .../flink/utils/FlussRowToJsonConverters.java      |  33 +-
 .../apache/fluss/flink/utils/LakeSourceUtils.java  |  20 +-
 .../fluss/flink/lake/LakeSplitSerializerTest.java  |  18 +-
 .../flink/lake/reader/SortMergeReaderTest.java     |  41 ++-
 .../security/acl/FlinkAuthorizationITCase.java     |  54 ++--
 .../fluss/flink/source/FlinkTableSourceITCase.java |  46 +--
 .../FlussTableLakeSnapshotCommitterTest.java       |  18 +-
 .../committer/TieringCommitOperatorTest.java       |  32 +-
 .../fluss/jmh/ArrowReadableChannelBenchmark.java   |  32 +-
 .../fluss/jmh/ArrowWritableChannelBenchmark.java   |  30 +-
 .../apache}/fluss/jmh/LogScannerBenchmark.java     |   6 +-
 fluss-kafka/pom.xml                                |   8 +-
 .../fluss/kafka/KafkaChannelInitializer.java       |   7 +-
 .../apache/fluss/kafka/KafkaCommandDecoder.java    |   8 +-
 .../apache/fluss/kafka/KafkaProtocolPlugin.java    |  17 +-
 .../java/org/apache/fluss/kafka/KafkaRequest.java  |   8 +-
 .../fluss/kafka/KafkaRequestHandlerTest.java       |   6 +-
 fluss-lake/fluss-lake-iceberg/pom.xml              |  18 +-
 .../iceberg/FlussDataTypeToIcebergDataType.java    |  44 +--
 .../fluss/lake/iceberg/IcebergLakeCatalog.java     |  26 +-
 .../fluss/lake/iceberg/IcebergLakeStorage.java     |  16 +-
 .../lake/iceberg/IcebergLakeStoragePlugin.java     |   8 +-
 .../fluss/lake/iceberg/conf/HadoopConfSerde.java   |   2 +-
 .../fluss/lake/iceberg/conf/HadoopUtils.java       |   6 +-
 .../lake/iceberg/conf/IcebergConfiguration.java    |   6 +-
 .../tiering/FlussRecordAsIcebergRecord.java        |  63 ++--
 .../iceberg/tiering/IcebergCatalogProvider.java    |   8 +-
 .../lake/iceberg/tiering/IcebergCommittable.java   |   2 +-
 .../tiering/IcebergCommittableSerializer.java      |   6 +-
 .../lake/iceberg/tiering/IcebergLakeCommitter.java |  22 +-
 .../iceberg/tiering/IcebergLakeTieringFactory.java |  18 +-
 .../lake/iceberg/tiering/IcebergLakeWriter.java    |  16 +-
 .../lake/iceberg/tiering/IcebergWriteResult.java   |   2 +-
 .../tiering/IcebergWriteResultSerializer.java      |   6 +-
 .../fluss/lake/iceberg/tiering/RecordWriter.java   |   8 +-
 .../tiering/writer/AppendOnlyTaskWriter.java       |   8 +-
 .../iceberg/tiering/writer/DeltaTaskWriter.java    |   8 +-
 .../writer/GenericRecordAppendOnlyWriter.java      |   6 +-
 .../tiering/writer/GenericRecordDeltaWriter.java   |   6 +-
 .../lake/iceberg/utils/IcebergConversions.java     |   6 +-
 ...libaba.fluss.lake.lakestorage.LakeStoragePlugin |  19 --
 ...apache.fluss.lake.lakestorage.LakeStoragePlugin |   2 +-
 .../fluss/lake/iceberg/IcebergLakeCatalogTest.java |  18 +-
 .../iceberg/conf/IcebergConfigurationTest.java     |   2 +-
 .../testutils/FlinkIcebergTieringTestBase.java     |  77 +++--
 .../lake/iceberg/tiering/IcebergTieringITCase.java |  51 ++-
 .../lake/iceberg/tiering/IcebergTieringTest.java   |  67 ++--
 .../lake/iceberg/utils/IcebergConversionsTest.java |  13 +-
 .../org.junit.jupiter.api.extension.Extension      |   2 +-
 fluss-lake/fluss-lake-lance/pom.xml                |  18 +-
 .../apache}/fluss/lake/lance/LanceConfig.java      |   2 +-
 .../apache}/fluss/lake/lance/LanceLakeCatalog.java |  16 +-
 .../apache}/fluss/lake/lance/LanceLakeStorage.java |  18 +-
 .../fluss/lake/lance/LanceLakeStoragePlugin.java   |   8 +-
 .../fluss/lake/lance/tiering/ArrowWriter.java      |  10 +-
 .../fluss/lake/lance/tiering/LanceArrowWriter.java |  10 +-
 .../fluss/lake/lance/tiering/LanceCommittable.java |   2 +-
 .../lance/tiering/LanceCommittableSerializer.java  |   4 +-
 .../lake/lance/tiering/LanceLakeCommitter.java     |  30 +-
 .../lance/tiering/LanceLakeTieringFactory.java     |  18 +-
 .../fluss/lake/lance/tiering/LanceLakeWriter.java  |  14 +-
 .../fluss/lake/lance/tiering/LanceWriteResult.java |   6 +-
 .../lance/tiering/LanceWriteResultSerializer.java  |   4 +-
 .../fluss/lake/lance/utils/LanceArrowUtils.java    |  74 ++---
 .../lake/lance/utils/LanceDatasetAdapter.java      |   8 +-
 .../lake/lance/writers/ArrowBigIntWriter.java      |   4 +-
 .../lake/lance/writers/ArrowBinaryWriter.java      |   4 +-
 .../lake/lance/writers/ArrowBooleanWriter.java     |   4 +-
 .../fluss/lake/lance/writers/ArrowDateWriter.java  |   4 +-
 .../lake/lance/writers/ArrowDecimalWriter.java     |   6 +-
 .../lake/lance/writers/ArrowDoubleWriter.java      |   4 +-
 .../fluss/lake/lance/writers/ArrowFieldWriter.java |   4 +-
 .../fluss/lake/lance/writers/ArrowFloatWriter.java |   4 +-
 .../fluss/lake/lance/writers/ArrowIntWriter.java   |   4 +-
 .../lake/lance/writers/ArrowSmallIntWriter.java    |   4 +-
 .../fluss/lake/lance/writers/ArrowTimeWriter.java  |   6 +-
 .../lance/writers/ArrowTimestampLtzWriter.java     |   8 +-
 .../lance/writers/ArrowTimestampNtzWriter.java     |   8 +-
 .../lake/lance/writers/ArrowTinyIntWriter.java     |   4 +-
 .../lake/lance/writers/ArrowVarBinaryWriter.java   |   4 +-
 .../lake/lance/writers/ArrowVarCharWriter.java     |   6 +-
 ...pache.fluss.lake.lakestorage.LakeStoragePlugin} |   2 +-
 .../lance/testutils/FlinkLanceTieringTestBase.java |  50 +--
 .../lake/lance/tiering/LanceTieringITCase.java     |  20 +-
 .../fluss/lake/lance/tiering/LanceTieringTest.java |  44 +--
 .../lake/lance/LakeEnabledTableCreateITCase.java   |  32 +-
 .../org.junit.jupiter.api.extension.Extension      |   2 +-
 .../fluss/lake/paimon/PaimonLakeStorage.java       |  24 +-
 .../lake/paimon/source/FlussRowAsPaimonRow.java    |  39 +--
 .../fluss/lake/paimon/source/PaimonLakeSource.java |  22 +-
 .../lake/paimon/source/PaimonRecordReader.java     |  22 +-
 .../paimon/source/PaimonSortedRecordReader.java    |  25 +-
 .../fluss/lake/paimon/source/PaimonSplit.java      |   4 +-
 .../lake/paimon/source/PaimonSplitPlanner.java     |  10 +-
 .../lake/paimon/source/PaimonSplitSerializer.java  |   4 +-
 .../paimon/tiering/FlussRecordAsPaimonRow.java     |  10 +-
 .../lake/paimon/tiering/PaimonLakeCommitter.java   |  22 +-
 .../utils/FlussToPaimonPredicateConverter.java     |  24 +-
 .../fluss/lake/paimon/utils/PaimonConversions.java |  14 +-
 .../lake/paimon/utils/PaimonRowAsFlussRow.java     |  21 +-
 .../paimon/source/FlussRowAsPaimonRowTest.java     |  26 +-
 .../lake/paimon/source/PaimonLakeSourceTest.java   |  42 +--
 .../lake/paimon/source/PaimonRecordReaderTest.java |  62 ++--
 .../source/PaimonSortedRecordReaderTest.java       |  38 ++-
 .../lake/paimon/source/PaimonSourceTestBase.java   |  18 +-
 .../lake/paimon/source/PaimonSplitPlannerTest.java |   6 +-
 .../paimon/source/PaimonSplitSerializerTest.java   |   6 +-
 .../fluss/lake/paimon/source/PaimonSplitTest.java  |   6 +-
 .../testutils/FlinkPaimonTieringTestBase.java      |  58 ++--
 .../lake/paimon/tiering/PaimonTieringITCase.java   |  28 +-
 .../lake/paimon/tiering/PaimonTieringTest.java     |  56 ++--
 .../utils/FlussToPaimonPredicateConverterTest.java |  14 +-
 fluss-lake/pom.xml                                 |   2 +-
 .../metrics/prometheus/PrometheusReporterTest.java |  26 +-
 .../generator/generator/ProtoCodeGenerator.java    |   7 +-
 .../protogen/generator/generator/ProtoGenUtil.java |  23 +-
 .../generator/generator/ProtobufNumberField.java   |   5 +-
 .../fluss/protogen/benchmark/ProtoBenchmark.java   |  12 +-
 .../fluss/protogen/benchmark/SimpleBenchmark.java  |  12 +-
 .../benchmark/StringEncodingBenchmark.java         |   3 +-
 .../fluss/protogen/tests/AddressBookTest.java      |   5 +-
 .../org/apache/fluss/protogen/tests/BytesTest.java |  22 +-
 .../org/apache/fluss/protogen/tests/EnumsTest.java |   5 +-
 .../apache/fluss/protogen/tests/MessagesTest.java  |  10 +-
 .../apache/fluss/protogen/tests/NumbersTest.java   |   5 +-
 .../fluss/protogen/tests/RepeatedNumbersTest.java  |   5 +-
 .../apache/fluss/protogen/tests/RequiredTest.java  |   5 +-
 .../apache/fluss/protogen/tests/StringsTest.java   |   8 +-
 .../main/java/org/apache/fluss/rpc/RpcGateway.java |  21 +-
 .../org/apache/fluss/rpc/netty/NettyLogger.java    |   3 +-
 .../org/apache/fluss/rpc/netty/NettyMetrics.java   |  11 +-
 .../org/apache/fluss/rpc/netty/NettyUtils.java     |   4 +-
 .../rpc/netty/client/ClientChannelInitializer.java |   5 +-
 .../apache/fluss/rpc/netty/client/NettyClient.java |  36 +--
 .../fluss/rpc/netty/client/NettyClientHandler.java |  26 +-
 .../fluss/rpc/netty/client/ServerConnection.java   |  46 +--
 .../rpc/netty/server/FlussProtocolPlugin.java      |  21 +-
 .../fluss/rpc/netty/server/FlussRequest.java       |  14 +-
 .../apache/fluss/rpc/netty/server/NettyServer.java |  36 +--
 .../fluss/rpc/netty/server/NettyServerHandler.java |  48 +--
 .../rpc/netty/server/ServerChannelInitializer.java |  12 +-
 .../org/apache/fluss/rpc/protocol/ApiManager.java  |  18 +-
 .../org/apache/fluss/rpc/protocol/ApiMethod.java   |   9 +-
 .../apache/fluss/rpc/protocol/MessageCodec.java    |  11 +-
 .../fluss/rpc/protocol/NetworkProtocolPlugin.java  |  13 +-
 .../fluss/rpc/util/CommonRpcMessageUtils.java      |  59 ++--
 .../rpc/netty/server/NettyServerHandlerTest.java   |  42 +--
 .../fluss/rpc/protocol/MessageCodecTest.java       |  38 +--
 .../fluss/rpc/protocol/RequestChannelTest.java     |  14 +-
 .../java/org/apache/fluss/server/ServerBase.java   |  40 +--
 .../fluss/server/authorizer/DefaultAuthorizer.java |  52 +--
 .../ZkNodeChangeNotificationWatcher.java           |   8 +-
 .../coordinator/CoordinatorEventProcessor.java     | 150 ++++-----
 .../server/coordinator/CoordinatorServer.java      |  72 ++---
 .../fluss/server/coordinator/MetadataManager.java  |  70 ++--
 .../coordinator/event/CoordinatorEventManager.java |  28 +-
 .../event/watcher/TableChangeWatcher.java          |  42 +--
 .../event/watcher/TabletServerChangeWatcher.java   |  24 +-
 .../statemachine/TableBucketStateMachine.java      |  22 +-
 .../java/org/apache/fluss/server/kv/KvManager.java |  54 ++--
 .../java/org/apache/fluss/server/kv/KvTablet.java  | 102 +++---
 .../kv/snapshot/CompletedSnapshotJsonSerde.java    |  13 +-
 .../org/apache/fluss/server/log/AbstractIndex.java |  16 +-
 .../org/apache/fluss/server/log/LogSegment.java    |  44 +--
 .../org/apache/fluss/server/log/LogSegments.java   |  16 +-
 .../org/apache/fluss/server/log/OffsetIndex.java   |  12 +-
 .../org/apache/fluss/server/log/TimeIndex.java     |  10 +-
 .../apache/fluss/server/log/WriterAppendInfo.java  |   2 +-
 .../fluss/server/log/WriterStateManager.java       |  24 +-
 .../log/remote/RemoteLogManifestJsonSerde.java     |  15 +-
 .../replica/fetcher/ReplicaFetcherThread.java      |  68 ++--
 .../apache/fluss/server/tablet/TabletServer.java   |  78 ++---
 .../fluss/server/zk/ZkSequenceIDCounter.java       |   5 +-
 .../apache/fluss/server/zk/ZooKeeperClient.java    | 106 +++---
 .../org/apache/fluss/server/zk/ZooKeeperUtils.java |  18 +-
 .../server/zk/data/BucketSnapshotJsonSerde.java    |   9 +-
 .../zk/data/CoordinatorAddressJsonSerde.java       |  11 +-
 .../zk/data/DatabaseRegistrationJsonSerde.java     |   7 +-
 .../server/zk/data/LakeTableSnapshotJsonSerde.java |   9 +-
 .../server/zk/data/LeaderAndIsrJsonSerde.java      |   9 +-
 .../zk/data/PartitionAssignmentJsonSerde.java      |   9 +-
 .../zk/data/RemoteLogManifestHandleJsonSerde.java  |  11 +-
 .../fluss/server/zk/data/ResourceAclJsonSerde.java |  15 +-
 .../server/zk/data/TableAssignmentJsonSerde.java   |   9 +-
 .../server/zk/data/TableRegistrationJsonSerde.java |  11 +-
 .../zk/data/TabletServerRegistrationJsonSerde.java |  13 +-
 .../org/apache/fluss/server/ServerTestBase.java    |  30 +-
 .../coordinator/CoordinatorEventProcessorTest.java | 132 ++++----
 .../statemachine/TableBucketStateMachineTest.java  |  68 ++--
 .../org/apache/fluss/server/kv/KvTabletTest.java   |  98 +++---
 .../fluss/server/kv/wal/ArrowWalBuilderTest.java   |  42 +--
 .../lakehouse/TestingPaimonStoragePlugin.java      |  22 +-
 .../apache/fluss/server/log/AbstractIndexTest.java |   2 +-
 .../fluss/server/log/WriterStateManagerTest.java   |  20 +-
 .../log/remote/DefaultRemoteLogStorageTest.java    |  22 +-
 .../server/replica/KvReplicaRestoreITCase.java     |  56 ++--
 .../server/testutils/FlussClusterExtension.java    | 118 +++----
 .../fluss/server/zk/ZooKeeperClientTest.java       |  52 +--
 .../apache/fluss/server/zk/ZooKeeperExtension.java |  12 +-
 .../zk/data/CoordinatorAddressJsonSerdeTest.java   |  10 +-
 .../zk/data/DatabaseRegistrationJsonSerdeTest.java |   5 +-
 .../zk/data/TableRegistrationJsonSerdeTest.java    |  14 +-
 .../TabletServerRegistrationJsonSerdeTest.java     |   8 +-
 fluss-test-coverage/pom.xml                        | 170 +++++-----
 .../fluss/testutils/common/FlussAssertions.java    |   4 +-
 pom.xml                                            |   5 +-
 .../tools/ci/licensecheck/NoticeFileChecker.java   |   3 +-
 .../fluss/tools/ci/utils/deploy/DeployParser.java  |   3 +-
 website/blog/2024-11-29-fluss-open-source.md       |   4 +-
 website/blog/2025-06-01-partial-updates.md         |   4 +-
 website/blog/2025-07-07-fluss-java-client.md       |   2 +-
 website/blog/releases/0.7.md                       |   4 +-
 website/community/welcome.mdx                      |   2 +-
 website/docs/maintenance/configuration.md          |   2 +-
 website/docs/security/authentication.md            |   6 +-
 website/docs/security/authorization.md             |   2 +-
 website/src/pages/roadmap.md                       |  10 +-
 461 files changed, 4203 insertions(+), 4691 deletions(-)

diff --git a/LICENSE b/LICENSE
index 5c274b510..da868f307 100644
--- a/LICENSE
+++ b/LICENSE
@@ -210,191 +210,191 @@ Apache License 2.0
 --------------------------------------
 
 Apache Arrow-java
-./fluss-common/src/main/java/com/alibaba/fluss/compression/ArrowCompressionFactory.java
-./fluss-common/src/main/java/com/alibaba/fluss/compression/Lz4ArrowCompressionCodec.java
-./fluss-common/src/main/java/com/alibaba/fluss/compression/ZstdArrowCompressionCodec.java
+./fluss-common/src/main/java/org/apache/fluss/compression/ArrowCompressionFactory.java
+./fluss-common/src/main/java/org/apache/fluss/compression/Lz4ArrowCompressionCodec.java
+./fluss-common/src/main/java/org/apache/fluss/compression/ZstdArrowCompressionCodec.java
 
 Apache Flink
-./fluss-client/src/main/java/com/alibaba/fluss/client/token/DefaultSecurityTokenManager.java
-./fluss-common/src/main/java/com/alibaba/fluss/classloading/ComponentClassLoader.java
-./fluss-common/src/main/java/com/alibaba/fluss/config/ConfigOption.java
-./fluss-common/src/main/java/com/alibaba/fluss/config/Configuration.java
-./fluss-common/src/main/java/com/alibaba/fluss/config/ConfigurationUtils.java
-./fluss-common/src/main/java/com/alibaba/fluss/config/GlobalConfiguration.java
-./fluss-common/src/main/java/com/alibaba/fluss/config/MemorySize.java
-./fluss-common/src/main/java/com/alibaba/fluss/fs/FSDataOutputStream.java
-./fluss-common/src/main/java/com/alibaba/fluss/fs/FileSystem.java
-./fluss-common/src/main/java/com/alibaba/fluss/fs/FileSystemSafetyNet.java
-./fluss-common/src/main/java/com/alibaba/fluss/fs/FsPath.java
-./fluss-common/src/main/java/com/alibaba/fluss/fs/SafetyNetCloseableRegistry.java
-./fluss-common/src/main/java/com/alibaba/fluss/fs/SafetyNetWrapperFileSystem.java
-./fluss-common/src/main/java/com/alibaba/fluss/fs/local/LocalFileSystem.java
-./fluss-common/src/main/java/com/alibaba/fluss/memory/AbstractPagedOutputView.java
-./fluss-common/src/main/java/com/alibaba/fluss/memory/MemorySegment.java
-./fluss-common/src/main/java/com/alibaba/fluss/memory/MemoryUtils.java
-./fluss-common/src/main/java/com/alibaba/fluss/metrics/MeterView.java
-./fluss-common/src/main/java/com/alibaba/fluss/metrics/groups/AbstractMetricGroup.java
-./fluss-common/src/main/java/com/alibaba/fluss/metrics/groups/MetricGroup.java
-./fluss-common/src/main/java/com/alibaba/fluss/metrics/registry/MetricRegistryImpl.java
-./fluss-common/src/main/java/com/alibaba/fluss/plugin/DefaultPluginManager.java
-./fluss-common/src/main/java/com/alibaba/fluss/plugin/DirectoryBasedPluginFinder.java
-./fluss-common/src/main/java/com/alibaba/fluss/plugin/PluginLoader.java
-./fluss-common/src/main/java/com/alibaba/fluss/row/BinarySegmentUtils.java
-./fluss-common/src/main/java/com/alibaba/fluss/row/BinaryString.java
-./fluss-common/src/main/java/com/alibaba/fluss/row/Decimal.java
-./fluss-common/src/main/java/com/alibaba/fluss/types/DataType.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/AbstractAutoCloseableRegistry.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/DateTimeUtils.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/DecimalUtils.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/ExceptionUtils.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/ExecutorUtils.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/FatalExitExceptionHandler.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/FileUtils.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/IOUtils.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/InstantiationUtils.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/MurmurHashUtils.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/NetUtils.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/OperatingSystem.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/SerializedValue.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/TimeUtils.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/UnsafeUtils.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/concurrent/ExecutorThreadFactory.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/concurrent/FutureUtils.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/types/Either.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/types/Tuple.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/types/Tuple2.java
-./fluss-filesystems/fluss-fs-hadoop/src/main/java/com/alibaba/fluss/fs/hdfs/HadoopDataInputStream.java
-./fluss-filesystems/fluss-fs-hadoop/src/main/java/com/alibaba/fluss/fs/hdfs/HadoopDataOutputStream.java
-./fluss-filesystems/fluss-fs-hadoop/src/main/java/com/alibaba/fluss/fs/hdfs/HadoopFileSystem.java
-./fluss-filesystems/fluss-fs-hadoop/src/main/java/com/alibaba/fluss/fs/hdfs/HadoopFsPlugin.java
-./fluss-filesystems/fluss-fs-hadoop/src/main/java/com/alibaba/fluss/fs/hdfs/utils/HadoopUtils.java
-./fluss-filesystems/fluss-fs-oss/src/main/java/com/alibaba/fluss/fs/oss/OSSFileSystem.java
-./fluss-filesystems/fluss-fs-oss/src/main/java/com/alibaba/fluss/fs/oss/OSSFileSystemPlugin.java
-./fluss-filesystems/fluss-fs-s3/src/main/java/com/alibaba/fluss/fs/s3/token/S3DelegationTokenReceiver.java
-./fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/utils/CatalogPropertiesUtils.java
-./fluss-metrics/fluss-metrics-jmx/src/main/java/com/alibaba/fluss/metrics/jmx/JMXService.java
-./fluss-metrics/fluss-metrics-prometheus/src/main/java/com/alibaba/fluss/metrics/prometheus/PrometheusReporter.java
-./fluss-metrics/fluss-metrics-prometheus/src/main/java/com/alibaba/fluss/metrics/prometheus/PrometheusReporterPlugin.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/kv/rocksdb/RocksDBKvBuilder.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/kv/rocksdb/RocksDBResourceContainer.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/kv/rocksdb/RocksDBWriteBatchWrapper.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/kv/snapshot/AsyncSnapshotCallable.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/kv/snapshot/CompletedSnapshot.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/kv/snapshot/CompletedSnapshotHandle.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/kv/snapshot/CompletedSnapshotStore.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/kv/snapshot/PeriodicSnapshotManager.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/kv/snapshot/RocksIncrementalSnapshot.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/kv/snapshot/SharedKvFileRegistry.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/metrics/ServerMetricUtils.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/utils/ResourceGuard.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/utils/ShutdownHookUtil.java
-./fluss-test-utils/src/main/java/com/alibaba/fluss/testutils/common/TestLoggerExtension.java
+./fluss-client/src/main/java/org/apache/fluss/client/token/DefaultSecurityTokenManager.java
+./fluss-common/src/main/java/org/apache/fluss/classloading/ComponentClassLoader.java
+./fluss-common/src/main/java/org/apache/fluss/config/ConfigOption.java
+./fluss-common/src/main/java/org/apache/fluss/config/Configuration.java
+./fluss-common/src/main/java/org/apache/fluss/config/ConfigurationUtils.java
+./fluss-common/src/main/java/org/apache/fluss/config/GlobalConfiguration.java
+./fluss-common/src/main/java/org/apache/fluss/config/MemorySize.java
+./fluss-common/src/main/java/org/apache/fluss/fs/FSDataOutputStream.java
+./fluss-common/src/main/java/org/apache/fluss/fs/FileSystem.java
+./fluss-common/src/main/java/org/apache/fluss/fs/FileSystemSafetyNet.java
+./fluss-common/src/main/java/org/apache/fluss/fs/FsPath.java
+./fluss-common/src/main/java/org/apache/fluss/fs/SafetyNetCloseableRegistry.java
+./fluss-common/src/main/java/org/apache/fluss/fs/SafetyNetWrapperFileSystem.java
+./fluss-common/src/main/java/org/apache/fluss/fs/local/LocalFileSystem.java
+./fluss-common/src/main/java/org/apache/fluss/memory/AbstractPagedOutputView.java
+./fluss-common/src/main/java/org/apache/fluss/memory/MemorySegment.java
+./fluss-common/src/main/java/org/apache/fluss/memory/MemoryUtils.java
+./fluss-common/src/main/java/org/apache/fluss/metrics/MeterView.java
+./fluss-common/src/main/java/org/apache/fluss/metrics/groups/AbstractMetricGroup.java
+./fluss-common/src/main/java/org/apache/fluss/metrics/groups/MetricGroup.java
+./fluss-common/src/main/java/org/apache/fluss/metrics/registry/MetricRegistryImpl.java
+./fluss-common/src/main/java/org/apache/fluss/plugin/DefaultPluginManager.java
+./fluss-common/src/main/java/org/apache/fluss/plugin/DirectoryBasedPluginFinder.java
+./fluss-common/src/main/java/org/apache/fluss/plugin/PluginLoader.java
+./fluss-common/src/main/java/org/apache/fluss/row/BinarySegmentUtils.java
+./fluss-common/src/main/java/org/apache/fluss/row/BinaryString.java
+./fluss-common/src/main/java/org/apache/fluss/row/Decimal.java
+./fluss-common/src/main/java/org/apache/fluss/types/DataType.java
+./fluss-common/src/main/java/org/apache/fluss/utils/AbstractAutoCloseableRegistry.java
+./fluss-common/src/main/java/org/apache/fluss/utils/DateTimeUtils.java
+./fluss-common/src/main/java/org/apache/fluss/utils/DecimalUtils.java
+./fluss-common/src/main/java/org/apache/fluss/utils/ExceptionUtils.java
+./fluss-common/src/main/java/org/apache/fluss/utils/ExecutorUtils.java
+./fluss-common/src/main/java/org/apache/fluss/utils/FatalExitExceptionHandler.java
+./fluss-common/src/main/java/org/apache/fluss/utils/FileUtils.java
+./fluss-common/src/main/java/org/apache/fluss/utils/IOUtils.java
+./fluss-common/src/main/java/org/apache/fluss/utils/InstantiationUtils.java
+./fluss-common/src/main/java/org/apache/fluss/utils/MurmurHashUtils.java
+./fluss-common/src/main/java/org/apache/fluss/utils/NetUtils.java
+./fluss-common/src/main/java/org/apache/fluss/utils/OperatingSystem.java
+./fluss-common/src/main/java/org/apache/fluss/utils/SerializedValue.java
+./fluss-common/src/main/java/org/apache/fluss/utils/TimeUtils.java
+./fluss-common/src/main/java/org/apache/fluss/utils/UnsafeUtils.java
+./fluss-common/src/main/java/org/apache/fluss/utils/concurrent/ExecutorThreadFactory.java
+./fluss-common/src/main/java/org/apache/fluss/utils/concurrent/FutureUtils.java
+./fluss-common/src/main/java/org/apache/fluss/utils/types/Either.java
+./fluss-common/src/main/java/org/apache/fluss/utils/types/Tuple.java
+./fluss-common/src/main/java/org/apache/fluss/utils/types/Tuple2.java
+./fluss-filesystems/fluss-fs-hadoop/src/main/java/org/apache/fluss/fs/hdfs/HadoopDataInputStream.java
+./fluss-filesystems/fluss-fs-hadoop/src/main/java/org/apache/fluss/fs/hdfs/HadoopDataOutputStream.java
+./fluss-filesystems/fluss-fs-hadoop/src/main/java/org/apache/fluss/fs/hdfs/HadoopFileSystem.java
+./fluss-filesystems/fluss-fs-hadoop/src/main/java/org/apache/fluss/fs/hdfs/HadoopFsPlugin.java
+./fluss-filesystems/fluss-fs-hadoop/src/main/java/org/apache/fluss/fs/hdfs/utils/HadoopUtils.java
+./fluss-filesystems/fluss-fs-oss/src/main/java/org/apache/fluss/fs/oss/OSSFileSystem.java
+./fluss-filesystems/fluss-fs-oss/src/main/java/org/apache/fluss/fs/oss/OSSFileSystemPlugin.java
+./fluss-filesystems/fluss-fs-s3/src/main/java/org/apache/fluss/fs/s3/token/S3DelegationTokenReceiver.java
+./fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/utils/CatalogPropertiesUtils.java
+./fluss-metrics/fluss-metrics-jmx/src/main/java/org/apache/fluss/metrics/jmx/JMXService.java
+./fluss-metrics/fluss-metrics-prometheus/src/main/java/org/apache/fluss/metrics/prometheus/PrometheusReporter.java
+./fluss-metrics/fluss-metrics-prometheus/src/main/java/org/apache/fluss/metrics/prometheus/PrometheusReporterPlugin.java
+./fluss-server/src/main/java/org/apache/fluss/server/kv/rocksdb/RocksDBKvBuilder.java
+./fluss-server/src/main/java/org/apache/fluss/server/kv/rocksdb/RocksDBResourceContainer.java
+./fluss-server/src/main/java/org/apache/fluss/server/kv/rocksdb/RocksDBWriteBatchWrapper.java
+./fluss-server/src/main/java/org/apache/fluss/server/kv/snapshot/AsyncSnapshotCallable.java
+./fluss-server/src/main/java/org/apache/fluss/server/kv/snapshot/CompletedSnapshot.java
+./fluss-server/src/main/java/org/apache/fluss/server/kv/snapshot/CompletedSnapshotHandle.java
+./fluss-server/src/main/java/org/apache/fluss/server/kv/snapshot/CompletedSnapshotStore.java
+./fluss-server/src/main/java/org/apache/fluss/server/kv/snapshot/PeriodicSnapshotManager.java
+./fluss-server/src/main/java/org/apache/fluss/server/kv/snapshot/RocksIncrementalSnapshot.java
+./fluss-server/src/main/java/org/apache/fluss/server/kv/snapshot/SharedKvFileRegistry.java
+./fluss-server/src/main/java/org/apache/fluss/server/metrics/ServerMetricUtils.java
+./fluss-server/src/main/java/org/apache/fluss/server/utils/ResourceGuard.java
+./fluss-server/src/main/java/org/apache/fluss/server/utils/ShutdownHookUtil.java
+./fluss-test-utils/src/main/java/org/apache/fluss/testutils/common/TestLoggerExtension.java
 
 Apache Kafka
-./fluss-client/src/main/java/com/alibaba/fluss/client/table/scanner/log/LogFetchBuffer.java
-./fluss-client/src/main/java/com/alibaba/fluss/client/table/scanner/log/LogFetchCollector.java
-./fluss-client/src/main/java/com/alibaba/fluss/client/table/scanner/log/LogFetcher.java
-./fluss-client/src/main/java/com/alibaba/fluss/client/write/IdempotenceManager.java
-./fluss-client/src/main/java/com/alibaba/fluss/client/write/RecordAccumulator.java
-./fluss-client/src/main/java/com/alibaba/fluss/client/write/Sender.java
-./fluss-common/src/main/java/com/alibaba/fluss/compression/FlussLZ4BlockInputStream.java
-./fluss-common/src/main/java/com/alibaba/fluss/compression/FlussLZ4BlockOutputStream.java
-./fluss-common/src/main/java/com/alibaba/fluss/record/DefaultLogRecordBatch.java
-./fluss-common/src/main/java/com/alibaba/fluss/record/FileLogInputStream.java
-./fluss-common/src/main/java/com/alibaba/fluss/record/FileLogRecords.java
-./fluss-common/src/main/java/com/alibaba/fluss/record/IndexedLogRecord.java
-./fluss-common/src/main/java/com/alibaba/fluss/record/MemoryLogRecords.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/concurrent/FlussScheduler.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/crc/Checksums.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/crc/Crc32C.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/crc/Java.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/crc/PureJavaCrc32C.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/log/ByteBufferUnmapper.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/log/FairBucketStatusMap.java
-./fluss-common/src/main/java/com/alibaba/fluss/utils/ExponentialBackoff.java
-./fluss-common/src/main/java/com/alibaba/fluss/security/auth/sasl/jaas/AuthenticateCallbackHandler.java
-./fluss-common/src/main/java/com/alibaba/fluss/security/auth/sasl/jaas/DefaultLogin.java
-./fluss-common/src/main/java/com/alibaba/fluss/security/auth/sasl/jaas/JaasConfig.java
-./fluss-common/src/main/java/com/alibaba/fluss/security/auth/sasl/jaas/JaasContext.java
-./fluss-common/src/main/java/com/alibaba/fluss/security/auth/sasl/jaas/Login.java
-./fluss-common/src/main/java/com/alibaba/fluss/security/auth/sasl/jaas/LoginManager.java
-./fluss-common/src/main/java/com/alibaba/fluss/security/auth/sasl/jaas/SaslClientCallbackHandler.java
-./fluss-common/src/main/java/com/alibaba/fluss/security/auth/sasl/jaas/SaslServerFactory.java
-./fluss-common/src/main/java/com/alibaba/fluss/security/auth/sasl/plain/PlainAuthenticateCallback.java
-./fluss-common/src/main/java/com/alibaba/fluss/security/auth/sasl/plain/PlainLoginModule.java
-./fluss-common/src/main/java/com/alibaba/fluss/security/auth/sasl/plain/PlainSaslServer.java
-./fluss-common/src/main/java/com/alibaba/fluss/security/auth/sasl/plain/PlainSaslServerProvider.java
-./fluss-common/src/main/java/com/alibaba/fluss/security/auth/sasl/plain/PlainServerCallbackHandler.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/coordinator/statemachine/ReplicaStateMachine.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/coordinator/statemachine/TableBucketStateMachine.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/log/AbstractIndex.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/log/LazyIndex.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/log/LocalLog.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/log/LogLoader.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/log/LogManager.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/log/LogOffsetMetadata.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/log/LogOffsetSnapshot.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/log/LogSegment.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/log/LogSegments.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/log/LogTablet.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/log/OffsetIndex.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/log/TimeIndex.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/log/WriterStateManager.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/log/checkpoint/CheckpointFile.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/log/checkpoint/OffsetCheckpointFile.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/replica/AdjustIsrManager.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/replica/FollowerReplica.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/replica/IsrState.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/replica/delay/DelayedFetchLog.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/replica/delay/DelayedOperation.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/replica/delay/DelayedOperationManager.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/replica/delay/DelayedWrite.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/replica/fetcher/ReplicaFetcherManager.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/replica/fetcher/ReplicaFetcherThread.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/utils/timer/DefaultTimer.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/utils/timer/Timer.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/utils/timer/TimerTask.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/utils/timer/TimerTaskEntry.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/utils/timer/TimerTaskList.java
-./fluss-server/src/main/java/com/alibaba/fluss/server/utils/timer/TimingWheel.java
+./fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/LogFetchBuffer.java
+./fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/LogFetchCollector.java
+./fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/LogFetcher.java
+./fluss-client/src/main/java/org/apache/fluss/client/write/IdempotenceManager.java
+./fluss-client/src/main/java/org/apache/fluss/client/write/RecordAccumulator.java
+./fluss-client/src/main/java/org/apache/fluss/client/write/Sender.java
+./fluss-common/src/main/java/org/apache/fluss/compression/FlussLZ4BlockInputStream.java
+./fluss-common/src/main/java/org/apache/fluss/compression/FlussLZ4BlockOutputStream.java
+./fluss-common/src/main/java/org/apache/fluss/record/DefaultLogRecordBatch.java
+./fluss-common/src/main/java/org/apache/fluss/record/FileLogInputStream.java
+./fluss-common/src/main/java/org/apache/fluss/record/FileLogRecords.java
+./fluss-common/src/main/java/org/apache/fluss/record/IndexedLogRecord.java
+./fluss-common/src/main/java/org/apache/fluss/record/MemoryLogRecords.java
+./fluss-common/src/main/java/org/apache/fluss/utils/concurrent/FlussScheduler.java
+./fluss-common/src/main/java/org/apache/fluss/utils/crc/Checksums.java
+./fluss-common/src/main/java/org/apache/fluss/utils/crc/Crc32C.java
+./fluss-common/src/main/java/org/apache/fluss/utils/crc/Java.java
+./fluss-common/src/main/java/org/apache/fluss/utils/crc/PureJavaCrc32C.java
+./fluss-common/src/main/java/org/apache/fluss/utils/log/ByteBufferUnmapper.java
+./fluss-common/src/main/java/org/apache/fluss/utils/log/FairBucketStatusMap.java
+./fluss-common/src/main/java/org/apache/fluss/utils/ExponentialBackoff.java
+./fluss-common/src/main/java/org/apache/fluss/security/auth/sasl/jaas/AuthenticateCallbackHandler.java
+./fluss-common/src/main/java/org/apache/fluss/security/auth/sasl/jaas/DefaultLogin.java
+./fluss-common/src/main/java/org/apache/fluss/security/auth/sasl/jaas/JaasConfig.java
+./fluss-common/src/main/java/org/apache/fluss/security/auth/sasl/jaas/JaasContext.java
+./fluss-common/src/main/java/org/apache/fluss/security/auth/sasl/jaas/Login.java
+./fluss-common/src/main/java/org/apache/fluss/security/auth/sasl/jaas/LoginManager.java
+./fluss-common/src/main/java/org/apache/fluss/security/auth/sasl/jaas/SaslClientCallbackHandler.java
+./fluss-common/src/main/java/org/apache/fluss/security/auth/sasl/jaas/SaslServerFactory.java
+./fluss-common/src/main/java/org/apache/fluss/security/auth/sasl/plain/PlainAuthenticateCallback.java
+./fluss-common/src/main/java/org/apache/fluss/security/auth/sasl/plain/PlainLoginModule.java
+./fluss-common/src/main/java/org/apache/fluss/security/auth/sasl/plain/PlainSaslServer.java
+./fluss-common/src/main/java/org/apache/fluss/security/auth/sasl/plain/PlainSaslServerProvider.java
+./fluss-common/src/main/java/org/apache/fluss/security/auth/sasl/plain/PlainServerCallbackHandler.java
+./fluss-server/src/main/java/org/apache/fluss/server/coordinator/statemachine/ReplicaStateMachine.java
+./fluss-server/src/main/java/org/apache/fluss/server/coordinator/statemachine/TableBucketStateMachine.java
+./fluss-server/src/main/java/org/apache/fluss/server/log/AbstractIndex.java
+./fluss-server/src/main/java/org/apache/fluss/server/log/LazyIndex.java
+./fluss-server/src/main/java/org/apache/fluss/server/log/LocalLog.java
+./fluss-server/src/main/java/org/apache/fluss/server/log/LogLoader.java
+./fluss-server/src/main/java/org/apache/fluss/server/log/LogManager.java
+./fluss-server/src/main/java/org/apache/fluss/server/log/LogOffsetMetadata.java
+./fluss-server/src/main/java/org/apache/fluss/server/log/LogOffsetSnapshot.java
+./fluss-server/src/main/java/org/apache/fluss/server/log/LogSegment.java
+./fluss-server/src/main/java/org/apache/fluss/server/log/LogSegments.java
+./fluss-server/src/main/java/org/apache/fluss/server/log/LogTablet.java
+./fluss-server/src/main/java/org/apache/fluss/server/log/OffsetIndex.java
+./fluss-server/src/main/java/org/apache/fluss/server/log/TimeIndex.java
+./fluss-server/src/main/java/org/apache/fluss/server/log/WriterStateManager.java
+./fluss-server/src/main/java/org/apache/fluss/server/log/checkpoint/CheckpointFile.java
+./fluss-server/src/main/java/org/apache/fluss/server/log/checkpoint/OffsetCheckpointFile.java
+./fluss-server/src/main/java/org/apache/fluss/server/replica/AdjustIsrManager.java
+./fluss-server/src/main/java/org/apache/fluss/server/replica/FollowerReplica.java
+./fluss-server/src/main/java/org/apache/fluss/server/replica/IsrState.java
+./fluss-server/src/main/java/org/apache/fluss/server/replica/delay/DelayedFetchLog.java
+./fluss-server/src/main/java/org/apache/fluss/server/replica/delay/DelayedOperation.java
+./fluss-server/src/main/java/org/apache/fluss/server/replica/delay/DelayedOperationManager.java
+./fluss-server/src/main/java/org/apache/fluss/server/replica/delay/DelayedWrite.java
+./fluss-server/src/main/java/org/apache/fluss/server/replica/fetcher/ReplicaFetcherManager.java
+./fluss-server/src/main/java/org/apache/fluss/server/replica/fetcher/ReplicaFetcherThread.java
+./fluss-server/src/main/java/org/apache/fluss/server/utils/timer/DefaultTimer.java
+./fluss-server/src/main/java/org/apache/fluss/server/utils/timer/Timer.java
+./fluss-server/src/main/java/org/apache/fluss/server/utils/timer/TimerTask.java
+./fluss-server/src/main/java/org/apache/fluss/server/utils/timer/TimerTaskEntry.java
+./fluss-server/src/main/java/org/apache/fluss/server/utils/timer/TimerTaskList.java
+./fluss-server/src/main/java/org/apache/fluss/server/utils/timer/TimingWheel.java
 
 Apache Paimon
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/And.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/CompareUtils.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/CompoundPredicate.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/Contains.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/EndsWith.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/Equal.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/FieldRef.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/FunctionVisitor.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/GreaterOrEqual.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/GreaterThan.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/In.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/IsNotNull.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/IsNull.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/LeafFunction.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/LeafPredicate.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/LeafUnaryFunction.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/LessOrEqual.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/LessThan.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/NotEqual.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/NotIn.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/NullFalseLeafBinaryFunction.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/Or.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/PartitionPredicateVisitor.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/Predicate.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/PredicateBuilder.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/PredicateVisitor.java
-./fluss-common/src/main/java/com/alibaba/fluss/predicate/StartsWith.java
-./fluss-common/src/main/java/com/alibaba/fluss/row/encode/paimon/PaimonBinaryRowWriter.java
-./fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lakehouse/paimon/reader/PaimonSnapshotScanner.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/And.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/CompareUtils.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/CompoundPredicate.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/Contains.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/EndsWith.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/Equal.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/FieldRef.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/FunctionVisitor.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/GreaterOrEqual.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/GreaterThan.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/In.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/IsNotNull.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/IsNull.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/LeafFunction.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/LeafPredicate.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/LeafUnaryFunction.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/LessOrEqual.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/LessThan.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/NotEqual.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/NotIn.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/NullFalseLeafBinaryFunction.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/Or.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/PartitionPredicateVisitor.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/Predicate.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/PredicateBuilder.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/PredicateVisitor.java
+./fluss-common/src/main/java/org/apache/fluss/predicate/StartsWith.java
+./fluss-common/src/main/java/org/apache/fluss/row/encode/paimon/PaimonBinaryRowWriter.java
+./fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lakehouse/paimon/reader/PaimonSnapshotScanner.java
 
 Apache Spark
-./fluss-rpc/src/main/java/com/alibaba/fluss/rpc/netty/NettyLogger.java
+./fluss-rpc/src/main/java/org/apache/fluss/rpc/netty/NettyLogger.java
 
 LightProto
-./fluss-common/src/main/java/com/alibaba/fluss/utils/ProtoCodecUtils.java
-./fluss-protogen/fluss-protogen-generator/src/main/java/com/alibaba/fluss/protogen/generator/generator/ProtoGen.java
-./fluss-protogen/fluss-protogen-generator/src/main/java/com/alibaba/fluss/protogen/generator/generator/ProtobufMessage.java
-./fluss-protogen/fluss-protogen-generator/src/main/java/com/alibaba/fluss/protogen/generator/generator/ProtobufNumberField.java
-./fluss-protogen/fluss-protogen-maven-plugin/src/main/java/com/alibaba/fluss/protogen/maven/plugin/ProtoGenMojo.java
+./fluss-common/src/main/java/org/apache/fluss/utils/ProtoCodecUtils.java
+./fluss-protogen/fluss-protogen-generator/src/main/java/org/apache/fluss/protogen/generator/generator/ProtoGen.java
+./fluss-protogen/fluss-protogen-generator/src/main/java/org/apache/fluss/protogen/generator/generator/ProtobufMessage.java
+./fluss-protogen/fluss-protogen-generator/src/main/java/org/apache/fluss/protogen/generator/generator/ProtobufNumberField.java
+./fluss-protogen/fluss-protogen-maven-plugin/src/main/java/org/apache/fluss/protogen/maven/plugin/ProtoGenMojo.java
diff --git a/fluss-client/src/main/java/org/apache/fluss/client/admin/FlussAdmin.java b/fluss-client/src/main/java/org/apache/fluss/client/admin/FlussAdmin.java
index f47802eec..0f9c007aa 100644
--- a/fluss-client/src/main/java/org/apache/fluss/client/admin/FlussAdmin.java
+++ b/fluss-client/src/main/java/org/apache/fluss/client/admin/FlussAdmin.java
@@ -15,62 +15,62 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.client.admin;
-
-import com.alibaba.fluss.client.metadata.KvSnapshotMetadata;
-import com.alibaba.fluss.client.metadata.KvSnapshots;
-import com.alibaba.fluss.client.metadata.LakeSnapshot;
-import com.alibaba.fluss.client.metadata.MetadataUpdater;
-import com.alibaba.fluss.client.utils.ClientRpcMessageUtils;
-import com.alibaba.fluss.cluster.Cluster;
-import com.alibaba.fluss.cluster.ServerNode;
-import com.alibaba.fluss.exception.LeaderNotAvailableException;
-import com.alibaba.fluss.metadata.DatabaseDescriptor;
-import com.alibaba.fluss.metadata.DatabaseInfo;
-import com.alibaba.fluss.metadata.PartitionInfo;
-import com.alibaba.fluss.metadata.PartitionSpec;
-import com.alibaba.fluss.metadata.PhysicalTablePath;
-import com.alibaba.fluss.metadata.Schema;
-import com.alibaba.fluss.metadata.SchemaInfo;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metadata.TableDescriptor;
-import com.alibaba.fluss.metadata.TableInfo;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.rpc.GatewayClientProxy;
-import com.alibaba.fluss.rpc.RpcClient;
-import com.alibaba.fluss.rpc.gateway.AdminGateway;
-import com.alibaba.fluss.rpc.gateway.AdminReadOnlyGateway;
-import com.alibaba.fluss.rpc.gateway.TabletServerGateway;
-import com.alibaba.fluss.rpc.messages.CreateAclsRequest;
-import com.alibaba.fluss.rpc.messages.CreateDatabaseRequest;
-import com.alibaba.fluss.rpc.messages.CreateTableRequest;
-import com.alibaba.fluss.rpc.messages.DatabaseExistsRequest;
-import com.alibaba.fluss.rpc.messages.DatabaseExistsResponse;
-import com.alibaba.fluss.rpc.messages.DropAclsRequest;
-import com.alibaba.fluss.rpc.messages.DropDatabaseRequest;
-import com.alibaba.fluss.rpc.messages.DropTableRequest;
-import com.alibaba.fluss.rpc.messages.GetDatabaseInfoRequest;
-import com.alibaba.fluss.rpc.messages.GetKvSnapshotMetadataRequest;
-import com.alibaba.fluss.rpc.messages.GetLatestKvSnapshotsRequest;
-import com.alibaba.fluss.rpc.messages.GetLatestLakeSnapshotRequest;
-import com.alibaba.fluss.rpc.messages.GetTableInfoRequest;
-import com.alibaba.fluss.rpc.messages.GetTableSchemaRequest;
-import com.alibaba.fluss.rpc.messages.ListAclsRequest;
-import com.alibaba.fluss.rpc.messages.ListDatabasesRequest;
-import com.alibaba.fluss.rpc.messages.ListDatabasesResponse;
-import com.alibaba.fluss.rpc.messages.ListOffsetsRequest;
-import com.alibaba.fluss.rpc.messages.ListPartitionInfosRequest;
-import com.alibaba.fluss.rpc.messages.ListTablesRequest;
-import com.alibaba.fluss.rpc.messages.ListTablesResponse;
-import com.alibaba.fluss.rpc.messages.PbListOffsetsRespForBucket;
-import com.alibaba.fluss.rpc.messages.PbPartitionSpec;
-import com.alibaba.fluss.rpc.messages.PbTablePath;
-import com.alibaba.fluss.rpc.messages.TableExistsRequest;
-import com.alibaba.fluss.rpc.messages.TableExistsResponse;
-import com.alibaba.fluss.rpc.protocol.ApiError;
-import com.alibaba.fluss.security.acl.AclBinding;
-import com.alibaba.fluss.security.acl.AclBindingFilter;
-import com.alibaba.fluss.utils.MapUtils;
+package org.apache.fluss.client.admin;
+
+import org.apache.fluss.client.metadata.KvSnapshotMetadata;
+import org.apache.fluss.client.metadata.KvSnapshots;
+import org.apache.fluss.client.metadata.LakeSnapshot;
+import org.apache.fluss.client.metadata.MetadataUpdater;
+import org.apache.fluss.client.utils.ClientRpcMessageUtils;
+import org.apache.fluss.cluster.Cluster;
+import org.apache.fluss.cluster.ServerNode;
+import org.apache.fluss.exception.LeaderNotAvailableException;
+import org.apache.fluss.metadata.DatabaseDescriptor;
+import org.apache.fluss.metadata.DatabaseInfo;
+import org.apache.fluss.metadata.PartitionInfo;
+import org.apache.fluss.metadata.PartitionSpec;
+import org.apache.fluss.metadata.PhysicalTablePath;
+import org.apache.fluss.metadata.Schema;
+import org.apache.fluss.metadata.SchemaInfo;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.metadata.TableDescriptor;
+import org.apache.fluss.metadata.TableInfo;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.rpc.GatewayClientProxy;
+import org.apache.fluss.rpc.RpcClient;
+import org.apache.fluss.rpc.gateway.AdminGateway;
+import org.apache.fluss.rpc.gateway.AdminReadOnlyGateway;
+import org.apache.fluss.rpc.gateway.TabletServerGateway;
+import org.apache.fluss.rpc.messages.CreateAclsRequest;
+import org.apache.fluss.rpc.messages.CreateDatabaseRequest;
+import org.apache.fluss.rpc.messages.CreateTableRequest;
+import org.apache.fluss.rpc.messages.DatabaseExistsRequest;
+import org.apache.fluss.rpc.messages.DatabaseExistsResponse;
+import org.apache.fluss.rpc.messages.DropAclsRequest;
+import org.apache.fluss.rpc.messages.DropDatabaseRequest;
+import org.apache.fluss.rpc.messages.DropTableRequest;
+import org.apache.fluss.rpc.messages.GetDatabaseInfoRequest;
+import org.apache.fluss.rpc.messages.GetKvSnapshotMetadataRequest;
+import org.apache.fluss.rpc.messages.GetLatestKvSnapshotsRequest;
+import org.apache.fluss.rpc.messages.GetLatestLakeSnapshotRequest;
+import org.apache.fluss.rpc.messages.GetTableInfoRequest;
+import org.apache.fluss.rpc.messages.GetTableSchemaRequest;
+import org.apache.fluss.rpc.messages.ListAclsRequest;
+import org.apache.fluss.rpc.messages.ListDatabasesRequest;
+import org.apache.fluss.rpc.messages.ListDatabasesResponse;
+import org.apache.fluss.rpc.messages.ListOffsetsRequest;
+import org.apache.fluss.rpc.messages.ListPartitionInfosRequest;
+import org.apache.fluss.rpc.messages.ListTablesRequest;
+import org.apache.fluss.rpc.messages.ListTablesResponse;
+import org.apache.fluss.rpc.messages.PbListOffsetsRespForBucket;
+import org.apache.fluss.rpc.messages.PbPartitionSpec;
+import org.apache.fluss.rpc.messages.PbTablePath;
+import org.apache.fluss.rpc.messages.TableExistsRequest;
+import org.apache.fluss.rpc.messages.TableExistsResponse;
+import org.apache.fluss.rpc.protocol.ApiError;
+import org.apache.fluss.security.acl.AclBinding;
+import org.apache.fluss.security.acl.AclBindingFilter;
+import org.apache.fluss.utils.MapUtils;
 
 import javax.annotation.Nullable;
 
@@ -82,16 +82,16 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CompletableFuture;
 
-import static com.alibaba.fluss.client.utils.ClientRpcMessageUtils.makeCreatePartitionRequest;
-import static com.alibaba.fluss.client.utils.ClientRpcMessageUtils.makeDropPartitionRequest;
-import static com.alibaba.fluss.client.utils.ClientRpcMessageUtils.makeListOffsetsRequest;
-import static com.alibaba.fluss.client.utils.ClientRpcMessageUtils.makePbPartitionSpec;
-import static com.alibaba.fluss.client.utils.MetadataUtils.sendMetadataRequestAndRebuildCluster;
-import static com.alibaba.fluss.rpc.util.CommonRpcMessageUtils.toAclBindings;
-import static com.alibaba.fluss.rpc.util.CommonRpcMessageUtils.toPbAclBindingFilters;
-import static com.alibaba.fluss.rpc.util.CommonRpcMessageUtils.toPbAclFilter;
-import static com.alibaba.fluss.rpc.util.CommonRpcMessageUtils.toPbAclInfos;
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.client.utils.ClientRpcMessageUtils.makeCreatePartitionRequest;
+import static org.apache.fluss.client.utils.ClientRpcMessageUtils.makeDropPartitionRequest;
+import static org.apache.fluss.client.utils.ClientRpcMessageUtils.makeListOffsetsRequest;
+import static org.apache.fluss.client.utils.ClientRpcMessageUtils.makePbPartitionSpec;
+import static org.apache.fluss.client.utils.MetadataUtils.sendMetadataRequestAndRebuildCluster;
+import static org.apache.fluss.rpc.util.CommonRpcMessageUtils.toAclBindings;
+import static org.apache.fluss.rpc.util.CommonRpcMessageUtils.toPbAclBindingFilters;
+import static org.apache.fluss.rpc.util.CommonRpcMessageUtils.toPbAclFilter;
+import static org.apache.fluss.rpc.util.CommonRpcMessageUtils.toPbAclInfos;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /**
  * The default implementation of {@link Admin}.
diff --git a/fluss-client/src/main/java/org/apache/fluss/client/lookup/LookupSender.java b/fluss-client/src/main/java/org/apache/fluss/client/lookup/LookupSender.java
index db150e2e2..87fa0dff1 100644
--- a/fluss-client/src/main/java/org/apache/fluss/client/lookup/LookupSender.java
+++ b/fluss-client/src/main/java/org/apache/fluss/client/lookup/LookupSender.java
@@ -15,23 +15,23 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.client.lookup;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.client.metadata.MetadataUpdater;
-import com.alibaba.fluss.exception.FlussRuntimeException;
-import com.alibaba.fluss.exception.LeaderNotAvailableException;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.rpc.gateway.TabletServerGateway;
-import com.alibaba.fluss.rpc.messages.LookupRequest;
-import com.alibaba.fluss.rpc.messages.LookupResponse;
-import com.alibaba.fluss.rpc.messages.PbLookupRespForBucket;
-import com.alibaba.fluss.rpc.messages.PbPrefixLookupRespForBucket;
-import com.alibaba.fluss.rpc.messages.PbValueList;
-import com.alibaba.fluss.rpc.messages.PrefixLookupRequest;
-import com.alibaba.fluss.rpc.messages.PrefixLookupResponse;
-import com.alibaba.fluss.rpc.protocol.ApiError;
-import com.alibaba.fluss.utils.types.Tuple2;
+package org.apache.fluss.client.lookup;
+
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.client.metadata.MetadataUpdater;
+import org.apache.fluss.exception.FlussRuntimeException;
+import org.apache.fluss.exception.LeaderNotAvailableException;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.rpc.gateway.TabletServerGateway;
+import org.apache.fluss.rpc.messages.LookupRequest;
+import org.apache.fluss.rpc.messages.LookupResponse;
+import org.apache.fluss.rpc.messages.PbLookupRespForBucket;
+import org.apache.fluss.rpc.messages.PbPrefixLookupRespForBucket;
+import org.apache.fluss.rpc.messages.PbValueList;
+import org.apache.fluss.rpc.messages.PrefixLookupRequest;
+import org.apache.fluss.rpc.messages.PrefixLookupResponse;
+import org.apache.fluss.rpc.protocol.ApiError;
+import org.apache.fluss.utils.types.Tuple2;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -43,8 +43,8 @@ import java.util.Map;
 import java.util.concurrent.Semaphore;
 import java.util.stream.Collectors;
 
-import static com.alibaba.fluss.client.utils.ClientRpcMessageUtils.makeLookupRequest;
-import static com.alibaba.fluss.client.utils.ClientRpcMessageUtils.makePrefixLookupRequest;
+import static org.apache.fluss.client.utils.ClientRpcMessageUtils.makeLookupRequest;
+import static org.apache.fluss.client.utils.ClientRpcMessageUtils.makePrefixLookupRequest;
 
 /**
  * This background thread pool lookup operations from {@link #lookupQueue}, and send lookup requests
diff --git a/fluss-client/src/main/java/org/apache/fluss/client/lookup/PrefixKeyLookuper.java b/fluss-client/src/main/java/org/apache/fluss/client/lookup/PrefixKeyLookuper.java
index 59cb25d39..258d9b1c2 100644
--- a/fluss-client/src/main/java/org/apache/fluss/client/lookup/PrefixKeyLookuper.java
+++ b/fluss-client/src/main/java/org/apache/fluss/client/lookup/PrefixKeyLookuper.java
@@ -15,21 +15,21 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.client.lookup;
-
-import com.alibaba.fluss.bucketing.BucketingFunction;
-import com.alibaba.fluss.client.metadata.MetadataUpdater;
-import com.alibaba.fluss.client.table.getter.PartitionGetter;
-import com.alibaba.fluss.exception.PartitionNotExistException;
-import com.alibaba.fluss.metadata.DataLakeFormat;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metadata.TableInfo;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.decode.RowDecoder;
-import com.alibaba.fluss.row.encode.KeyEncoder;
-import com.alibaba.fluss.row.encode.ValueDecoder;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.RowType;
+package org.apache.fluss.client.lookup;
+
+import org.apache.fluss.bucketing.BucketingFunction;
+import org.apache.fluss.client.metadata.MetadataUpdater;
+import org.apache.fluss.client.table.getter.PartitionGetter;
+import org.apache.fluss.exception.PartitionNotExistException;
+import org.apache.fluss.metadata.DataLakeFormat;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.metadata.TableInfo;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.row.decode.RowDecoder;
+import org.apache.fluss.row.encode.KeyEncoder;
+import org.apache.fluss.row.encode.ValueDecoder;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.RowType;
 
 import javax.annotation.Nullable;
 
@@ -40,7 +40,7 @@ import java.util.List;
 import java.util.Set;
 import java.util.concurrent.CompletableFuture;
 
-import static com.alibaba.fluss.client.utils.ClientUtils.getPartitionId;
+import static org.apache.fluss.client.utils.ClientUtils.getPartitionId;
 
 /**
  * An implementation of {@link Lookuper} that lookups by prefix key. A prefix key is a prefix subset
diff --git a/fluss-client/src/main/java/org/apache/fluss/client/lookup/PrimaryKeyLookuper.java b/fluss-client/src/main/java/org/apache/fluss/client/lookup/PrimaryKeyLookuper.java
index 2dfaf436b..2a6233e46 100644
--- a/fluss-client/src/main/java/org/apache/fluss/client/lookup/PrimaryKeyLookuper.java
+++ b/fluss-client/src/main/java/org/apache/fluss/client/lookup/PrimaryKeyLookuper.java
@@ -15,29 +15,29 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.client.lookup;
-
-import com.alibaba.fluss.bucketing.BucketingFunction;
-import com.alibaba.fluss.client.metadata.MetadataUpdater;
-import com.alibaba.fluss.client.table.getter.PartitionGetter;
-import com.alibaba.fluss.exception.PartitionNotExistException;
-import com.alibaba.fluss.metadata.DataLakeFormat;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metadata.TableInfo;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.decode.RowDecoder;
-import com.alibaba.fluss.row.encode.KeyEncoder;
-import com.alibaba.fluss.row.encode.ValueDecoder;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.RowType;
+package org.apache.fluss.client.lookup;
+
+import org.apache.fluss.bucketing.BucketingFunction;
+import org.apache.fluss.client.metadata.MetadataUpdater;
+import org.apache.fluss.client.table.getter.PartitionGetter;
+import org.apache.fluss.exception.PartitionNotExistException;
+import org.apache.fluss.metadata.DataLakeFormat;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.metadata.TableInfo;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.row.decode.RowDecoder;
+import org.apache.fluss.row.encode.KeyEncoder;
+import org.apache.fluss.row.encode.ValueDecoder;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.RowType;
 
 import javax.annotation.Nullable;
 
 import java.util.Collections;
 import java.util.concurrent.CompletableFuture;
 
-import static com.alibaba.fluss.client.utils.ClientUtils.getPartitionId;
-import static com.alibaba.fluss.utils.Preconditions.checkArgument;
+import static org.apache.fluss.client.utils.ClientUtils.getPartitionId;
+import static org.apache.fluss.utils.Preconditions.checkArgument;
 
 /** An implementation of {@link Lookuper} that lookups by primary key. */
 class PrimaryKeyLookuper implements Lookuper {
diff --git a/fluss-client/src/main/java/org/apache/fluss/client/metadata/MetadataUpdater.java b/fluss-client/src/main/java/org/apache/fluss/client/metadata/MetadataUpdater.java
index b7e07d09b..1730235f4 100644
--- a/fluss-client/src/main/java/org/apache/fluss/client/metadata/MetadataUpdater.java
+++ b/fluss-client/src/main/java/org/apache/fluss/client/metadata/MetadataUpdater.java
@@ -15,30 +15,30 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.client.metadata;
-
-import com.alibaba.fluss.annotation.VisibleForTesting;
-import com.alibaba.fluss.client.utils.ClientUtils;
-import com.alibaba.fluss.cluster.BucketLocation;
-import com.alibaba.fluss.cluster.Cluster;
-import com.alibaba.fluss.cluster.ServerNode;
-import com.alibaba.fluss.cluster.ServerType;
-import com.alibaba.fluss.config.ConfigOptions;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.exception.FlussRuntimeException;
-import com.alibaba.fluss.exception.PartitionNotExistException;
-import com.alibaba.fluss.exception.RetriableException;
-import com.alibaba.fluss.metadata.PhysicalTablePath;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metadata.TableInfo;
-import com.alibaba.fluss.metadata.TablePartition;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.rpc.GatewayClientProxy;
-import com.alibaba.fluss.rpc.RpcClient;
-import com.alibaba.fluss.rpc.gateway.AdminReadOnlyGateway;
-import com.alibaba.fluss.rpc.gateway.CoordinatorGateway;
-import com.alibaba.fluss.rpc.gateway.TabletServerGateway;
-import com.alibaba.fluss.utils.ExceptionUtils;
+package org.apache.fluss.client.metadata;
+
+import org.apache.fluss.annotation.VisibleForTesting;
+import org.apache.fluss.client.utils.ClientUtils;
+import org.apache.fluss.cluster.BucketLocation;
+import org.apache.fluss.cluster.Cluster;
+import org.apache.fluss.cluster.ServerNode;
+import org.apache.fluss.cluster.ServerType;
+import org.apache.fluss.config.ConfigOptions;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.exception.FlussRuntimeException;
+import org.apache.fluss.exception.PartitionNotExistException;
+import org.apache.fluss.exception.RetriableException;
+import org.apache.fluss.metadata.PhysicalTablePath;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.metadata.TableInfo;
+import org.apache.fluss.metadata.TablePartition;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.rpc.GatewayClientProxy;
+import org.apache.fluss.rpc.RpcClient;
+import org.apache.fluss.rpc.gateway.AdminReadOnlyGateway;
+import org.apache.fluss.rpc.gateway.CoordinatorGateway;
+import org.apache.fluss.rpc.gateway.TabletServerGateway;
+import org.apache.fluss.utils.ExceptionUtils;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -55,7 +55,7 @@ import java.util.Set;
 import java.util.concurrent.TimeoutException;
 import java.util.stream.Collectors;
 
-import static com.alibaba.fluss.client.utils.MetadataUtils.sendMetadataRequestAndRebuildCluster;
+import static org.apache.fluss.client.utils.MetadataUtils.sendMetadataRequestAndRebuildCluster;
 
 /** The updater to initialize and update client metadata. */
 public class MetadataUpdater {
diff --git a/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/RemoteFileDownloader.java b/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/RemoteFileDownloader.java
index bcde64769..9034da551 100644
--- a/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/RemoteFileDownloader.java
+++ b/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/RemoteFileDownloader.java
@@ -15,17 +15,17 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.client.table.scanner;
+package org.apache.fluss.client.table.scanner;
 
-import com.alibaba.fluss.fs.FSDataInputStream;
-import com.alibaba.fluss.fs.FileSystem;
-import com.alibaba.fluss.fs.FsPath;
-import com.alibaba.fluss.fs.FsPathAndFileName;
-import com.alibaba.fluss.fs.utils.FileDownloadSpec;
-import com.alibaba.fluss.fs.utils.FileDownloadUtils;
-import com.alibaba.fluss.utils.CloseableRegistry;
-import com.alibaba.fluss.utils.IOUtils;
-import com.alibaba.fluss.utils.concurrent.ExecutorThreadFactory;
+import org.apache.fluss.fs.FSDataInputStream;
+import org.apache.fluss.fs.FileSystem;
+import org.apache.fluss.fs.FsPath;
+import org.apache.fluss.fs.FsPathAndFileName;
+import org.apache.fluss.fs.utils.FileDownloadSpec;
+import org.apache.fluss.fs.utils.FileDownloadUtils;
+import org.apache.fluss.utils.CloseableRegistry;
+import org.apache.fluss.utils.IOUtils;
+import org.apache.fluss.utils.concurrent.ExecutorThreadFactory;
 
 import java.io.Closeable;
 import java.io.IOException;
diff --git a/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/batch/LimitBatchScanner.java b/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/batch/LimitBatchScanner.java
index cf4d5be98..4915ab918 100644
--- a/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/batch/LimitBatchScanner.java
+++ b/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/batch/LimitBatchScanner.java
@@ -15,31 +15,31 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.client.table.scanner.batch;
-
-import com.alibaba.fluss.client.metadata.MetadataUpdater;
-import com.alibaba.fluss.exception.LeaderNotAvailableException;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metadata.TableInfo;
-import com.alibaba.fluss.record.DefaultValueRecordBatch;
-import com.alibaba.fluss.record.LogRecord;
-import com.alibaba.fluss.record.LogRecordBatch;
-import com.alibaba.fluss.record.LogRecordReadContext;
-import com.alibaba.fluss.record.LogRecords;
-import com.alibaba.fluss.record.MemoryLogRecords;
-import com.alibaba.fluss.record.ValueRecord;
-import com.alibaba.fluss.record.ValueRecordReadContext;
-import com.alibaba.fluss.row.GenericRow;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.ProjectedRow;
-import com.alibaba.fluss.row.decode.RowDecoder;
-import com.alibaba.fluss.row.encode.ValueDecoder;
-import com.alibaba.fluss.rpc.gateway.TabletServerGateway;
-import com.alibaba.fluss.rpc.messages.LimitScanRequest;
-import com.alibaba.fluss.rpc.messages.LimitScanResponse;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.utils.CloseableIterator;
+package org.apache.fluss.client.table.scanner.batch;
+
+import org.apache.fluss.client.metadata.MetadataUpdater;
+import org.apache.fluss.exception.LeaderNotAvailableException;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.metadata.TableInfo;
+import org.apache.fluss.record.DefaultValueRecordBatch;
+import org.apache.fluss.record.LogRecord;
+import org.apache.fluss.record.LogRecordBatch;
+import org.apache.fluss.record.LogRecordReadContext;
+import org.apache.fluss.record.LogRecords;
+import org.apache.fluss.record.MemoryLogRecords;
+import org.apache.fluss.record.ValueRecord;
+import org.apache.fluss.record.ValueRecordReadContext;
+import org.apache.fluss.row.GenericRow;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.row.ProjectedRow;
+import org.apache.fluss.row.decode.RowDecoder;
+import org.apache.fluss.row.encode.ValueDecoder;
+import org.apache.fluss.rpc.gateway.TabletServerGateway;
+import org.apache.fluss.rpc.messages.LimitScanRequest;
+import org.apache.fluss.rpc.messages.LimitScanResponse;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.utils.CloseableIterator;
 
 import javax.annotation.Nullable;
 
diff --git a/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/LogFetcher.java b/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/LogFetcher.java
index a11a71ca6..d195dc6f0 100644
--- a/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/LogFetcher.java
+++ b/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/LogFetcher.java
@@ -15,41 +15,41 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.client.table.scanner.log;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.annotation.VisibleForTesting;
-import com.alibaba.fluss.client.metadata.MetadataUpdater;
-import com.alibaba.fluss.client.metrics.ScannerMetricGroup;
-import com.alibaba.fluss.client.table.scanner.RemoteFileDownloader;
-import com.alibaba.fluss.client.table.scanner.ScanRecord;
-import com.alibaba.fluss.cluster.BucketLocation;
-import com.alibaba.fluss.config.ConfigOptions;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.exception.InvalidMetadataException;
-import com.alibaba.fluss.exception.LeaderNotAvailableException;
-import com.alibaba.fluss.fs.FsPath;
-import com.alibaba.fluss.metadata.PhysicalTablePath;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metadata.TableInfo;
-import com.alibaba.fluss.metadata.TablePartition;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.record.LogRecordReadContext;
-import com.alibaba.fluss.record.LogRecords;
-import com.alibaba.fluss.record.MemoryLogRecords;
-import com.alibaba.fluss.remote.RemoteLogFetchInfo;
-import com.alibaba.fluss.remote.RemoteLogSegment;
-import com.alibaba.fluss.rpc.entity.FetchLogResultForBucket;
-import com.alibaba.fluss.rpc.gateway.TabletServerGateway;
-import com.alibaba.fluss.rpc.messages.FetchLogRequest;
-import com.alibaba.fluss.rpc.messages.FetchLogResponse;
-import com.alibaba.fluss.rpc.messages.PbFetchLogReqForBucket;
-import com.alibaba.fluss.rpc.messages.PbFetchLogReqForTable;
-import com.alibaba.fluss.rpc.messages.PbFetchLogRespForBucket;
-import com.alibaba.fluss.rpc.messages.PbFetchLogRespForTable;
-import com.alibaba.fluss.rpc.protocol.Errors;
-import com.alibaba.fluss.utils.IOUtils;
-import com.alibaba.fluss.utils.Projection;
+package org.apache.fluss.client.table.scanner.log;
+
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.annotation.VisibleForTesting;
+import org.apache.fluss.client.metadata.MetadataUpdater;
+import org.apache.fluss.client.metrics.ScannerMetricGroup;
+import org.apache.fluss.client.table.scanner.RemoteFileDownloader;
+import org.apache.fluss.client.table.scanner.ScanRecord;
+import org.apache.fluss.cluster.BucketLocation;
+import org.apache.fluss.config.ConfigOptions;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.exception.InvalidMetadataException;
+import org.apache.fluss.exception.LeaderNotAvailableException;
+import org.apache.fluss.fs.FsPath;
+import org.apache.fluss.metadata.PhysicalTablePath;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.metadata.TableInfo;
+import org.apache.fluss.metadata.TablePartition;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.record.LogRecordReadContext;
+import org.apache.fluss.record.LogRecords;
+import org.apache.fluss.record.MemoryLogRecords;
+import org.apache.fluss.remote.RemoteLogFetchInfo;
+import org.apache.fluss.remote.RemoteLogSegment;
+import org.apache.fluss.rpc.entity.FetchLogResultForBucket;
+import org.apache.fluss.rpc.gateway.TabletServerGateway;
+import org.apache.fluss.rpc.messages.FetchLogRequest;
+import org.apache.fluss.rpc.messages.FetchLogResponse;
+import org.apache.fluss.rpc.messages.PbFetchLogReqForBucket;
+import org.apache.fluss.rpc.messages.PbFetchLogReqForTable;
+import org.apache.fluss.rpc.messages.PbFetchLogRespForBucket;
+import org.apache.fluss.rpc.messages.PbFetchLogRespForTable;
+import org.apache.fluss.rpc.protocol.Errors;
+import org.apache.fluss.utils.IOUtils;
+import org.apache.fluss.utils.Projection;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -68,8 +68,8 @@ import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import static com.alibaba.fluss.rpc.util.CommonRpcMessageUtils.getFetchLogResultForBucket;
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.rpc.util.CommonRpcMessageUtils.getFetchLogResultForBucket;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /* This file is based on source code of Apache Kafka Project (https://kafka.apache.org/), licensed by the Apache
  * Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with this work for
diff --git a/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/LogScannerImpl.java b/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/LogScannerImpl.java
index b6ac89a32..cef05808f 100644
--- a/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/LogScannerImpl.java
+++ b/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/LogScannerImpl.java
@@ -15,21 +15,21 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.client.table.scanner.log;
+package org.apache.fluss.client.table.scanner.log;
 
-import com.alibaba.fluss.annotation.PublicEvolving;
-import com.alibaba.fluss.client.metadata.MetadataUpdater;
-import com.alibaba.fluss.client.metrics.ScannerMetricGroup;
-import com.alibaba.fluss.client.table.scanner.RemoteFileDownloader;
-import com.alibaba.fluss.client.table.scanner.ScanRecord;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.exception.WakeupException;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metadata.TableInfo;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.rpc.metrics.ClientMetricGroup;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.utils.Projection;
+import org.apache.fluss.annotation.PublicEvolving;
+import org.apache.fluss.client.metadata.MetadataUpdater;
+import org.apache.fluss.client.metrics.ScannerMetricGroup;
+import org.apache.fluss.client.table.scanner.RemoteFileDownloader;
+import org.apache.fluss.client.table.scanner.ScanRecord;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.exception.WakeupException;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.metadata.TableInfo;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.rpc.metrics.ClientMetricGroup;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.utils.Projection;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/RemoteLogDownloader.java b/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/RemoteLogDownloader.java
index c3f357eac..20b5ca5b8 100644
--- a/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/RemoteLogDownloader.java
+++ b/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/RemoteLogDownloader.java
@@ -15,21 +15,21 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.client.table.scanner.log;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.annotation.VisibleForTesting;
-import com.alibaba.fluss.client.metrics.ScannerMetricGroup;
-import com.alibaba.fluss.client.table.scanner.RemoteFileDownloader;
-import com.alibaba.fluss.config.ConfigOptions;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.fs.FsPath;
-import com.alibaba.fluss.fs.FsPathAndFileName;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.remote.RemoteLogSegment;
-import com.alibaba.fluss.utils.ExceptionUtils;
-import com.alibaba.fluss.utils.FlussPaths;
-import com.alibaba.fluss.utils.concurrent.ShutdownableThread;
+package org.apache.fluss.client.table.scanner.log;
+
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.annotation.VisibleForTesting;
+import org.apache.fluss.client.metrics.ScannerMetricGroup;
+import org.apache.fluss.client.table.scanner.RemoteFileDownloader;
+import org.apache.fluss.config.ConfigOptions;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.fs.FsPath;
+import org.apache.fluss.fs.FsPathAndFileName;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.remote.RemoteLogSegment;
+import org.apache.fluss.utils.ExceptionUtils;
+import org.apache.fluss.utils.FlussPaths;
+import org.apache.fluss.utils.concurrent.ShutdownableThread;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -50,10 +50,10 @@ import java.util.concurrent.PriorityBlockingQueue;
 import java.util.concurrent.Semaphore;
 import java.util.concurrent.TimeUnit;
 
-import static com.alibaba.fluss.utils.FileUtils.deleteDirectoryQuietly;
-import static com.alibaba.fluss.utils.FlussPaths.LOG_FILE_SUFFIX;
-import static com.alibaba.fluss.utils.FlussPaths.remoteLogSegmentDir;
-import static com.alibaba.fluss.utils.FlussPaths.remoteLogSegmentFile;
+import static org.apache.fluss.utils.FileUtils.deleteDirectoryQuietly;
+import static org.apache.fluss.utils.FlussPaths.LOG_FILE_SUFFIX;
+import static org.apache.fluss.utils.FlussPaths.remoteLogSegmentDir;
+import static org.apache.fluss.utils.FlussPaths.remoteLogSegmentFile;
 
 /** Downloader to read remote log files to local disk. */
 @ThreadSafe
diff --git a/fluss-client/src/main/java/org/apache/fluss/client/write/RecordAccumulator.java b/fluss-client/src/main/java/org/apache/fluss/client/write/RecordAccumulator.java
index e0146b11f..6164d6ecf 100644
--- a/fluss-client/src/main/java/org/apache/fluss/client/write/RecordAccumulator.java
+++ b/fluss-client/src/main/java/org/apache/fluss/client/write/RecordAccumulator.java
@@ -15,32 +15,32 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.client.write;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.annotation.VisibleForTesting;
-import com.alibaba.fluss.client.metrics.WriterMetricGroup;
-import com.alibaba.fluss.cluster.BucketLocation;
-import com.alibaba.fluss.cluster.Cluster;
-import com.alibaba.fluss.config.ConfigOptions;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.exception.FlussRuntimeException;
-import com.alibaba.fluss.memory.LazyMemorySegmentPool;
-import com.alibaba.fluss.memory.MemorySegment;
-import com.alibaba.fluss.memory.PreAllocatedPagedOutputView;
-import com.alibaba.fluss.metadata.PhysicalTablePath;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metadata.TableInfo;
-import com.alibaba.fluss.metrics.MetricNames;
-import com.alibaba.fluss.record.LogRecordBatch;
-import com.alibaba.fluss.row.arrow.ArrowWriter;
-import com.alibaba.fluss.row.arrow.ArrowWriterPool;
-import com.alibaba.fluss.utils.CopyOnWriteMap;
-import com.alibaba.fluss.utils.MathUtils;
-import com.alibaba.fluss.utils.clock.Clock;
-
+package org.apache.fluss.client.write;
+
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.annotation.VisibleForTesting;
+import org.apache.fluss.client.metrics.WriterMetricGroup;
+import org.apache.fluss.cluster.BucketLocation;
+import org.apache.fluss.cluster.Cluster;
+import org.apache.fluss.config.ConfigOptions;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.exception.FlussRuntimeException;
+import org.apache.fluss.memory.LazyMemorySegmentPool;
+import org.apache.fluss.memory.MemorySegment;
+import org.apache.fluss.memory.PreAllocatedPagedOutputView;
+import org.apache.fluss.metadata.PhysicalTablePath;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.metadata.TableInfo;
+import org.apache.fluss.metrics.MetricNames;
+import org.apache.fluss.record.LogRecordBatch;
+import org.apache.fluss.row.arrow.ArrowWriter;
+import org.apache.fluss.row.arrow.ArrowWriterPool;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.RootAllocator;
+import org.apache.fluss.utils.CopyOnWriteMap;
+import org.apache.fluss.utils.MathUtils;
+import org.apache.fluss.utils.clock.Clock;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -61,8 +61,8 @@ import java.util.Set;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import static com.alibaba.fluss.record.LogRecordBatch.NO_WRITER_ID;
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.record.LogRecordBatch.NO_WRITER_ID;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /* This file is based on source code of Apache Kafka Project (https://kafka.apache.org/), licensed by the Apache
  * Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with this work for
diff --git a/fluss-client/src/main/java/org/apache/fluss/client/write/Sender.java b/fluss-client/src/main/java/org/apache/fluss/client/write/Sender.java
index e37e86b2c..a81c69ee7 100644
--- a/fluss-client/src/main/java/org/apache/fluss/client/write/Sender.java
+++ b/fluss-client/src/main/java/org/apache/fluss/client/write/Sender.java
@@ -15,32 +15,32 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.client.write;
-
-import com.alibaba.fluss.annotation.VisibleForTesting;
-import com.alibaba.fluss.client.metadata.MetadataUpdater;
-import com.alibaba.fluss.client.metrics.WriterMetricGroup;
-import com.alibaba.fluss.client.write.RecordAccumulator.ReadyCheckResult;
-import com.alibaba.fluss.cluster.Cluster;
-import com.alibaba.fluss.exception.InvalidMetadataException;
-import com.alibaba.fluss.exception.LeaderNotAvailableException;
-import com.alibaba.fluss.exception.OutOfOrderSequenceException;
-import com.alibaba.fluss.exception.PartitionNotExistException;
-import com.alibaba.fluss.exception.RetriableException;
-import com.alibaba.fluss.exception.UnknownTableOrBucketException;
-import com.alibaba.fluss.metadata.PhysicalTablePath;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metadata.TableInfo;
-import com.alibaba.fluss.rpc.gateway.TabletServerGateway;
-import com.alibaba.fluss.rpc.messages.PbProduceLogRespForBucket;
-import com.alibaba.fluss.rpc.messages.PbPutKvRespForBucket;
-import com.alibaba.fluss.rpc.messages.ProduceLogRequest;
-import com.alibaba.fluss.rpc.messages.ProduceLogResponse;
-import com.alibaba.fluss.rpc.messages.PutKvRequest;
-import com.alibaba.fluss.rpc.messages.PutKvResponse;
-import com.alibaba.fluss.rpc.protocol.ApiError;
-import com.alibaba.fluss.rpc.protocol.Errors;
-import com.alibaba.fluss.utils.ExceptionUtils;
+package org.apache.fluss.client.write;
+
+import org.apache.fluss.annotation.VisibleForTesting;
+import org.apache.fluss.client.metadata.MetadataUpdater;
+import org.apache.fluss.client.metrics.WriterMetricGroup;
+import org.apache.fluss.client.write.RecordAccumulator.ReadyCheckResult;
+import org.apache.fluss.cluster.Cluster;
+import org.apache.fluss.exception.InvalidMetadataException;
+import org.apache.fluss.exception.LeaderNotAvailableException;
+import org.apache.fluss.exception.OutOfOrderSequenceException;
+import org.apache.fluss.exception.PartitionNotExistException;
+import org.apache.fluss.exception.RetriableException;
+import org.apache.fluss.exception.UnknownTableOrBucketException;
+import org.apache.fluss.metadata.PhysicalTablePath;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.metadata.TableInfo;
+import org.apache.fluss.rpc.gateway.TabletServerGateway;
+import org.apache.fluss.rpc.messages.PbProduceLogRespForBucket;
+import org.apache.fluss.rpc.messages.PbPutKvRespForBucket;
+import org.apache.fluss.rpc.messages.ProduceLogRequest;
+import org.apache.fluss.rpc.messages.ProduceLogResponse;
+import org.apache.fluss.rpc.messages.PutKvRequest;
+import org.apache.fluss.rpc.messages.PutKvResponse;
+import org.apache.fluss.rpc.protocol.ApiError;
+import org.apache.fluss.rpc.protocol.Errors;
+import org.apache.fluss.utils.ExceptionUtils;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -54,9 +54,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import static com.alibaba.fluss.client.utils.ClientRpcMessageUtils.makeProduceLogRequest;
-import static com.alibaba.fluss.client.utils.ClientRpcMessageUtils.makePutKvRequest;
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.client.utils.ClientRpcMessageUtils.makeProduceLogRequest;
+import static org.apache.fluss.client.utils.ClientRpcMessageUtils.makePutKvRequest;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /* This file is based on source code of Apache Kafka Project (https://kafka.apache.org/), licensed by the Apache
  * Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with this work for
diff --git a/fluss-client/src/test/java/org/apache/fluss/client/security/acl/FlussAuthorizationITCase.java b/fluss-client/src/test/java/org/apache/fluss/client/security/acl/FlussAuthorizationITCase.java
index 08d72e272..2bfb6f8dc 100644
--- a/fluss-client/src/test/java/org/apache/fluss/client/security/acl/FlussAuthorizationITCase.java
+++ b/fluss-client/src/test/java/org/apache/fluss/client/security/acl/FlussAuthorizationITCase.java
@@ -15,48 +15,48 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.client.security.acl;
-
-import com.alibaba.fluss.client.Connection;
-import com.alibaba.fluss.client.ConnectionFactory;
-import com.alibaba.fluss.client.FlussConnection;
-import com.alibaba.fluss.client.admin.Admin;
-import com.alibaba.fluss.client.table.Table;
-import com.alibaba.fluss.client.table.scanner.batch.BatchScanner;
-import com.alibaba.fluss.client.table.writer.AppendWriter;
-import com.alibaba.fluss.client.utils.ClientRpcMessageUtils;
-import com.alibaba.fluss.config.ConfigOptions;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.config.MemorySize;
-import com.alibaba.fluss.exception.AuthorizationException;
-import com.alibaba.fluss.metadata.DataLakeFormat;
-import com.alibaba.fluss.metadata.DatabaseDescriptor;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metadata.TableDescriptor;
-import com.alibaba.fluss.metadata.TableInfo;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.rpc.GatewayClientProxy;
-import com.alibaba.fluss.rpc.RpcClient;
-import com.alibaba.fluss.rpc.gateway.AdminGateway;
-import com.alibaba.fluss.rpc.gateway.TabletServerGateway;
-import com.alibaba.fluss.rpc.messages.InitWriterRequest;
-import com.alibaba.fluss.rpc.messages.InitWriterResponse;
-import com.alibaba.fluss.rpc.messages.MetadataRequest;
-import com.alibaba.fluss.rpc.metrics.TestingClientMetricGroup;
-import com.alibaba.fluss.security.acl.AccessControlEntry;
-import com.alibaba.fluss.security.acl.AccessControlEntryFilter;
-import com.alibaba.fluss.security.acl.AclBinding;
-import com.alibaba.fluss.security.acl.AclBindingFilter;
-import com.alibaba.fluss.security.acl.FlussPrincipal;
-import com.alibaba.fluss.security.acl.OperationType;
-import com.alibaba.fluss.security.acl.PermissionType;
-import com.alibaba.fluss.security.acl.Resource;
-import com.alibaba.fluss.security.acl.ResourceFilter;
-import com.alibaba.fluss.server.testutils.FlussClusterExtension;
-import com.alibaba.fluss.utils.CloseableIterator;
-
+package org.apache.fluss.client.security.acl;
+
+import org.apache.fluss.client.Connection;
+import org.apache.fluss.client.ConnectionFactory;
+import org.apache.fluss.client.FlussConnection;
+import org.apache.fluss.client.admin.Admin;
+import org.apache.fluss.client.table.Table;
+import org.apache.fluss.client.table.scanner.batch.BatchScanner;
+import org.apache.fluss.client.table.writer.AppendWriter;
+import org.apache.fluss.client.utils.ClientRpcMessageUtils;
+import org.apache.fluss.config.ConfigOptions;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.config.MemorySize;
+import org.apache.fluss.exception.AuthorizationException;
+import org.apache.fluss.metadata.DataLakeFormat;
+import org.apache.fluss.metadata.DatabaseDescriptor;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.metadata.TableDescriptor;
+import org.apache.fluss.metadata.TableInfo;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.rpc.GatewayClientProxy;
+import org.apache.fluss.rpc.RpcClient;
+import org.apache.fluss.rpc.gateway.AdminGateway;
+import org.apache.fluss.rpc.gateway.TabletServerGateway;
+import org.apache.fluss.rpc.messages.InitWriterRequest;
+import org.apache.fluss.rpc.messages.InitWriterResponse;
+import org.apache.fluss.rpc.messages.MetadataRequest;
+import org.apache.fluss.rpc.metrics.TestingClientMetricGroup;
+import org.apache.fluss.security.acl.AccessControlEntry;
+import org.apache.fluss.security.acl.AccessControlEntryFilter;
+import org.apache.fluss.security.acl.AclBinding;
+import org.apache.fluss.security.acl.AclBindingFilter;
+import org.apache.fluss.security.acl.FlussPrincipal;
+import org.apache.fluss.security.acl.OperationType;
+import org.apache.fluss.security.acl.PermissionType;
+import org.apache.fluss.security.acl.Resource;
+import org.apache.fluss.security.acl.ResourceFilter;
+import org.apache.fluss.server.testutils.FlussClusterExtension;
 import org.apache.fluss.shaded.guava32.com.google.common.collect.Lists;
+import org.apache.fluss.utils.CloseableIterator;
+
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -69,16 +69,16 @@ import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import static com.alibaba.fluss.record.TestData.DATA1_SCHEMA;
-import static com.alibaba.fluss.record.TestData.DATA1_TABLE_DESCRIPTOR;
-import static com.alibaba.fluss.record.TestData.DATA1_TABLE_DESCRIPTOR_PK;
-import static com.alibaba.fluss.record.TestData.DATA1_TABLE_PATH;
-import static com.alibaba.fluss.record.TestData.DATA1_TABLE_PATH_PK;
-import static com.alibaba.fluss.security.acl.AccessControlEntry.WILD_CARD_HOST;
-import static com.alibaba.fluss.security.acl.FlussPrincipal.WILD_CARD_PRINCIPAL;
-import static com.alibaba.fluss.security.acl.OperationType.READ;
-import static com.alibaba.fluss.testutils.DataTestUtils.row;
-import static com.alibaba.fluss.testutils.common.CommonTestUtils.retry;
+import static org.apache.fluss.record.TestData.DATA1_SCHEMA;
+import static org.apache.fluss.record.TestData.DATA1_TABLE_DESCRIPTOR;
+import static org.apache.fluss.record.TestData.DATA1_TABLE_DESCRIPTOR_PK;
+import static org.apache.fluss.record.TestData.DATA1_TABLE_PATH;
+import static org.apache.fluss.record.TestData.DATA1_TABLE_PATH_PK;
+import static org.apache.fluss.security.acl.AccessControlEntry.WILD_CARD_HOST;
+import static org.apache.fluss.security.acl.FlussPrincipal.WILD_CARD_PRINCIPAL;
+import static org.apache.fluss.security.acl.OperationType.READ;
+import static org.apache.fluss.testutils.DataTestUtils.row;
+import static org.apache.fluss.testutils.common.CommonTestUtils.retry;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.assertj.core.api.Assertions.catchThrowable;
@@ -671,7 +671,7 @@ public class FlussAuthorizationITCase {
         conf.setString("security.sasl.enabled.mechanisms", "plain");
         conf.setString(
                 "security.sasl.plain.jaas.config",
-                "com.alibaba.fluss.security.auth.sasl.plain.PlainLoginModule required "
+                "org.apache.fluss.security.auth.sasl.plain.PlainLoginModule required "
                         + "    user_root=\"password\" "
                         + "    user_guest=\"password2\";");
         conf.set(ConfigOptions.SUPER_USERS, "User:root");
diff --git a/fluss-client/src/test/java/org/apache/fluss/client/table/scanner/log/RemoteLogDownloaderTest.java b/fluss-client/src/test/java/org/apache/fluss/client/table/scanner/log/RemoteLogDownloaderTest.java
index 61e649d3f..407756a7e 100644
--- a/fluss-client/src/test/java/org/apache/fluss/client/table/scanner/log/RemoteLogDownloaderTest.java
+++ b/fluss-client/src/test/java/org/apache/fluss/client/table/scanner/log/RemoteLogDownloaderTest.java
@@ -15,20 +15,20 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.client.table.scanner.log;
-
-import com.alibaba.fluss.client.metrics.ScannerMetricGroup;
-import com.alibaba.fluss.client.metrics.TestingScannerMetricGroup;
-import com.alibaba.fluss.client.table.scanner.RemoteFileDownloader;
-import com.alibaba.fluss.client.table.scanner.log.RemoteLogDownloader.RemoteLogDownloadRequest;
-import com.alibaba.fluss.config.ConfigOptions;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.fs.FsPath;
-import com.alibaba.fluss.metadata.PhysicalTablePath;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.remote.RemoteLogSegment;
-import com.alibaba.fluss.utils.FileUtils;
-import com.alibaba.fluss.utils.IOUtils;
+package org.apache.fluss.client.table.scanner.log;
+
+import org.apache.fluss.client.metrics.ScannerMetricGroup;
+import org.apache.fluss.client.metrics.TestingScannerMetricGroup;
+import org.apache.fluss.client.table.scanner.RemoteFileDownloader;
+import org.apache.fluss.client.table.scanner.log.RemoteLogDownloader.RemoteLogDownloadRequest;
+import org.apache.fluss.config.ConfigOptions;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.fs.FsPath;
+import org.apache.fluss.metadata.PhysicalTablePath;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.remote.RemoteLogSegment;
+import org.apache.fluss.utils.FileUtils;
+import org.apache.fluss.utils.IOUtils;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -50,14 +50,14 @@ import java.util.Set;
 import java.util.UUID;
 import java.util.stream.Collectors;
 
-import static com.alibaba.fluss.record.TestData.DATA1_PHYSICAL_TABLE_PATH;
-import static com.alibaba.fluss.record.TestData.DATA1_TABLE_ID;
-import static com.alibaba.fluss.record.TestData.DATA1_TABLE_PATH;
-import static com.alibaba.fluss.testutils.DataTestUtils.genRemoteLogSegmentFile;
-import static com.alibaba.fluss.testutils.common.CommonTestUtils.retry;
-import static com.alibaba.fluss.testutils.common.CommonTestUtils.waitUntil;
-import static com.alibaba.fluss.utils.FlussPaths.remoteLogDir;
-import static com.alibaba.fluss.utils.FlussPaths.remoteLogTabletDir;
+import static org.apache.fluss.record.TestData.DATA1_PHYSICAL_TABLE_PATH;
+import static org.apache.fluss.record.TestData.DATA1_TABLE_ID;
+import static org.apache.fluss.record.TestData.DATA1_TABLE_PATH;
+import static org.apache.fluss.testutils.DataTestUtils.genRemoteLogSegmentFile;
+import static org.apache.fluss.testutils.common.CommonTestUtils.retry;
+import static org.apache.fluss.testutils.common.CommonTestUtils.waitUntil;
+import static org.apache.fluss.utils.FlussPaths.remoteLogDir;
+import static org.apache.fluss.utils.FlussPaths.remoteLogTabletDir;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /** Tests for {@link RemoteLogDownloader}. */
diff --git a/fluss-client/src/test/java/org/apache/fluss/client/write/ArrowLogWriteBatchTest.java b/fluss-client/src/test/java/org/apache/fluss/client/write/ArrowLogWriteBatchTest.java
index a930bceff..04ba2d8b7 100644
--- a/fluss-client/src/test/java/org/apache/fluss/client/write/ArrowLogWriteBatchTest.java
+++ b/fluss-client/src/test/java/org/apache/fluss/client/write/ArrowLogWriteBatchTest.java
@@ -15,26 +15,26 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.client.write;
-
-import com.alibaba.fluss.memory.MemorySegment;
-import com.alibaba.fluss.memory.PreAllocatedPagedOutputView;
-import com.alibaba.fluss.memory.TestingMemorySegmentPool;
-import com.alibaba.fluss.memory.UnmanagedPagedOutputView;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.record.LogRecord;
-import com.alibaba.fluss.record.LogRecordBatch;
-import com.alibaba.fluss.record.LogRecordReadContext;
-import com.alibaba.fluss.record.MemoryLogRecords;
-import com.alibaba.fluss.record.bytesview.BytesView;
-import com.alibaba.fluss.row.GenericRow;
-import com.alibaba.fluss.row.arrow.ArrowWriter;
-import com.alibaba.fluss.row.arrow.ArrowWriterPool;
-import com.alibaba.fluss.utils.CloseableIterator;
-
-import org.apache.commons.lang3.RandomStringUtils;
+package org.apache.fluss.client.write;
+
+import org.apache.fluss.memory.MemorySegment;
+import org.apache.fluss.memory.PreAllocatedPagedOutputView;
+import org.apache.fluss.memory.TestingMemorySegmentPool;
+import org.apache.fluss.memory.UnmanagedPagedOutputView;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.record.LogRecord;
+import org.apache.fluss.record.LogRecordBatch;
+import org.apache.fluss.record.LogRecordReadContext;
+import org.apache.fluss.record.MemoryLogRecords;
+import org.apache.fluss.record.bytesview.BytesView;
+import org.apache.fluss.row.GenericRow;
+import org.apache.fluss.row.arrow.ArrowWriter;
+import org.apache.fluss.row.arrow.ArrowWriterPool;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.RootAllocator;
+import org.apache.fluss.utils.CloseableIterator;
+
+import org.apache.commons.lang3.RandomStringUtils;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -43,13 +43,13 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.CompletableFuture;
 
-import static com.alibaba.fluss.compression.ArrowCompressionInfo.DEFAULT_COMPRESSION;
-import static com.alibaba.fluss.record.LogRecordReadContext.createArrowReadContext;
-import static com.alibaba.fluss.record.TestData.DATA1_PHYSICAL_TABLE_PATH;
-import static com.alibaba.fluss.record.TestData.DATA1_ROW_TYPE;
-import static com.alibaba.fluss.record.TestData.DATA1_TABLE_ID;
-import static com.alibaba.fluss.record.TestData.DATA1_TABLE_INFO;
-import static com.alibaba.fluss.testutils.DataTestUtils.row;
+import static org.apache.fluss.compression.ArrowCompressionInfo.DEFAULT_COMPRESSION;
+import static org.apache.fluss.record.LogRecordReadContext.createArrowReadContext;
+import static org.apache.fluss.record.TestData.DATA1_PHYSICAL_TABLE_PATH;
+import static org.apache.fluss.record.TestData.DATA1_ROW_TYPE;
+import static org.apache.fluss.record.TestData.DATA1_TABLE_ID;
+import static org.apache.fluss.record.TestData.DATA1_TABLE_INFO;
+import static org.apache.fluss.testutils.DataTestUtils.row;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
diff --git a/fluss-client/src/test/resources/META-INF/services/com.alibaba.fluss.fs.token.SecurityTokenReceiver b/fluss-client/src/test/resources/META-INF/services/org.apache.fluss.fs.token.SecurityTokenReceiver
similarity index 100%
rename from fluss-client/src/test/resources/META-INF/services/com.alibaba.fluss.fs.token.SecurityTokenReceiver
rename to fluss-client/src/test/resources/META-INF/services/org.apache.fluss.fs.token.SecurityTokenReceiver
diff --git a/fluss-common/src/main/java/org/apache/fluss/bucketing/IcebergBucketingFunction.java b/fluss-common/src/main/java/org/apache/fluss/bucketing/IcebergBucketingFunction.java
index 547a01dcb..5351e6ebb 100644
--- a/fluss-common/src/main/java/org/apache/fluss/bucketing/IcebergBucketingFunction.java
+++ b/fluss-common/src/main/java/org/apache/fluss/bucketing/IcebergBucketingFunction.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.bucketing;
+package org.apache.fluss.bucketing;
 
 import org.apache.fluss.shaded.guava32.com.google.common.hash.HashFunction;
 import org.apache.fluss.shaded.guava32.com.google.common.hash.Hashing;
diff --git a/fluss-common/src/main/java/org/apache/fluss/classloading/ComponentClassLoader.java b/fluss-common/src/main/java/org/apache/fluss/classloading/ComponentClassLoader.java
index a98fbed0d..4d2147cc7 100644
--- a/fluss-common/src/main/java/org/apache/fluss/classloading/ComponentClassLoader.java
+++ b/fluss-common/src/main/java/org/apache/fluss/classloading/ComponentClassLoader.java
@@ -15,12 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.classloading;
-
-import com.alibaba.fluss.annotation.VisibleForTesting;
-import com.alibaba.fluss.utils.function.FunctionWithException;
+package org.apache.fluss.classloading;
 
+import org.apache.fluss.annotation.VisibleForTesting;
 import org.apache.fluss.shaded.guava32.com.google.common.collect.Iterators;
+import org.apache.fluss.utils.function.FunctionWithException;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/fluss-common/src/main/java/org/apache/fluss/cluster/Cluster.java b/fluss-common/src/main/java/org/apache/fluss/cluster/Cluster.java
index eee883fb2..c5528c8f2 100644
--- a/fluss-common/src/main/java/org/apache/fluss/cluster/Cluster.java
+++ b/fluss-common/src/main/java/org/apache/fluss/cluster/Cluster.java
@@ -147,7 +147,9 @@ public final class Cluster {
         return coordinatorServer;
     }
 
-    /** @return The known set of alive tablet servers. */
+    /**
+     * @return The known set of alive tablet servers.
+     */
     public Map<Integer, ServerNode> getAliveTabletServers() {
         return aliveTabletServersById;
     }
diff --git a/fluss-common/src/main/java/org/apache/fluss/compression/ArrowCompressionFactory.java b/fluss-common/src/main/java/org/apache/fluss/compression/ArrowCompressionFactory.java
index 0910520f0..ab4d3a72c 100644
--- a/fluss-common/src/main/java/org/apache/fluss/compression/ArrowCompressionFactory.java
+++ b/fluss-common/src/main/java/org/apache/fluss/compression/ArrowCompressionFactory.java
@@ -15,10 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.compression;
-
-import com.alibaba.fluss.annotation.Internal;
+package org.apache.fluss.compression;
 
+import org.apache.fluss.annotation.Internal;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.compression.CompressionCodec;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.compression.CompressionUtil;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.compression.NoCompressionCodec;
diff --git a/fluss-common/src/main/java/org/apache/fluss/compression/ArrowCompressionInfo.java b/fluss-common/src/main/java/org/apache/fluss/compression/ArrowCompressionInfo.java
index 4bcd2b3d3..7b6a81c43 100644
--- a/fluss-common/src/main/java/org/apache/fluss/compression/ArrowCompressionInfo.java
+++ b/fluss-common/src/main/java/org/apache/fluss/compression/ArrowCompressionInfo.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.compression;
-
-import com.alibaba.fluss.config.ConfigOptions;
-import com.alibaba.fluss.config.Configuration;
+package org.apache.fluss.compression;
 
+import org.apache.fluss.config.ConfigOptions;
+import org.apache.fluss.config.Configuration;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.compression.CompressionCodec;
 
 /** Compression information for Arrow record batches. */
diff --git a/fluss-common/src/main/java/org/apache/fluss/compression/Lz4ArrowCompressionCodec.java b/fluss-common/src/main/java/org/apache/fluss/compression/Lz4ArrowCompressionCodec.java
index cf12cd347..70333c30d 100644
--- a/fluss-common/src/main/java/org/apache/fluss/compression/Lz4ArrowCompressionCodec.java
+++ b/fluss-common/src/main/java/org/apache/fluss/compression/Lz4ArrowCompressionCodec.java
@@ -15,14 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.compression;
-
-import com.alibaba.fluss.utils.IOUtils;
+package org.apache.fluss.compression;
 
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.ArrowBuf;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.compression.AbstractCompressionCodec;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.compression.CompressionUtil;
+import org.apache.fluss.utils.IOUtils;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
@@ -31,7 +30,7 @@ import java.io.InputStream;
 import java.io.OutputStream;
 import java.nio.ByteBuffer;
 
-import static com.alibaba.fluss.utils.Preconditions.checkArgument;
+import static org.apache.fluss.utils.Preconditions.checkArgument;
 
 /* This file is based on source code of Apache Arrow-java Project (https://github.com/apache/arrow-java), licensed by
  * the Apache Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with
diff --git a/fluss-common/src/main/java/org/apache/fluss/compression/ZstdArrowCompressionCodec.java b/fluss-common/src/main/java/org/apache/fluss/compression/ZstdArrowCompressionCodec.java
index 630a23470..80dadb6d7 100644
--- a/fluss-common/src/main/java/org/apache/fluss/compression/ZstdArrowCompressionCodec.java
+++ b/fluss-common/src/main/java/org/apache/fluss/compression/ZstdArrowCompressionCodec.java
@@ -15,14 +15,15 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.compression;
+package org.apache.fluss.compression;
 
-import com.github.luben.zstd.Zstd;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.ArrowBuf;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.compression.AbstractCompressionCodec;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.compression.CompressionUtil;
 
+import com.github.luben.zstd.Zstd;
+
 import java.nio.ByteBuffer;
 
 /* This file is based on source code of Apache Arrow-java Project (https://github.com/apache/arrow-java), licensed by
diff --git a/fluss-common/src/main/java/org/apache/fluss/fs/FileSystem.java b/fluss-common/src/main/java/org/apache/fluss/fs/FileSystem.java
index ceb70cfba..7410b5409 100644
--- a/fluss-common/src/main/java/org/apache/fluss/fs/FileSystem.java
+++ b/fluss-common/src/main/java/org/apache/fluss/fs/FileSystem.java
@@ -15,21 +15,21 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.fs;
-
-import com.alibaba.fluss.annotation.PublicStable;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.exception.IllegalConfigurationException;
-import com.alibaba.fluss.fs.local.LocalFileSystem;
-import com.alibaba.fluss.fs.local.LocalFileSystemPlugin;
-import com.alibaba.fluss.fs.token.ObtainedSecurityToken;
-import com.alibaba.fluss.plugin.PluginManager;
-import com.alibaba.fluss.utils.ExceptionUtils;
-import com.alibaba.fluss.utils.TemporaryClassLoaderContext;
-
+package org.apache.fluss.fs;
+
+import org.apache.fluss.annotation.PublicStable;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.exception.IllegalConfigurationException;
+import org.apache.fluss.fs.local.LocalFileSystem;
+import org.apache.fluss.fs.local.LocalFileSystemPlugin;
+import org.apache.fluss.fs.token.ObtainedSecurityToken;
+import org.apache.fluss.plugin.PluginManager;
 import org.apache.fluss.shaded.guava32.com.google.common.collect.ImmutableMultimap;
 import org.apache.fluss.shaded.guava32.com.google.common.collect.Iterators;
 import org.apache.fluss.shaded.guava32.com.google.common.collect.Multimap;
+import org.apache.fluss.utils.ExceptionUtils;
+import org.apache.fluss.utils.TemporaryClassLoaderContext;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -50,8 +50,8 @@ import java.util.ServiceLoader;
 import java.util.concurrent.locks.ReentrantLock;
 import java.util.function.Supplier;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
-import static com.alibaba.fluss.utils.concurrent.LockUtils.inLock;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.concurrent.LockUtils.inLock;
 
 /* This file is based on source code of Apache Flink Project (https://flink.apache.org/), licensed by the Apache
  * Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with this work for
diff --git a/fluss-common/src/main/java/org/apache/fluss/fs/token/CredentialsJsonSerde.java b/fluss-common/src/main/java/org/apache/fluss/fs/token/CredentialsJsonSerde.java
index 1cd541902..d28258630 100644
--- a/fluss-common/src/main/java/org/apache/fluss/fs/token/CredentialsJsonSerde.java
+++ b/fluss-common/src/main/java/org/apache/fluss/fs/token/CredentialsJsonSerde.java
@@ -15,14 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.fs.token;
-
-import com.alibaba.fluss.utils.json.JsonDeserializer;
-import com.alibaba.fluss.utils.json.JsonSerdeUtils;
-import com.alibaba.fluss.utils.json.JsonSerializer;
+package org.apache.fluss.fs.token;
 
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.JsonNode;
+import org.apache.fluss.utils.json.JsonDeserializer;
+import org.apache.fluss.utils.json.JsonSerdeUtils;
+import org.apache.fluss.utils.json.JsonSerializer;
 
 import java.io.IOException;
 
diff --git a/fluss-common/src/main/java/org/apache/fluss/lake/committer/BucketOffset.java b/fluss-common/src/main/java/org/apache/fluss/lake/committer/BucketOffset.java
index ae8fdbdb1..1c8faf5d8 100644
--- a/fluss-common/src/main/java/org/apache/fluss/lake/committer/BucketOffset.java
+++ b/fluss-common/src/main/java/org/apache/fluss/lake/committer/BucketOffset.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.committer;
+package org.apache.fluss.lake.committer;
 
 import javax.annotation.Nullable;
 
diff --git a/fluss-common/src/main/java/org/apache/fluss/lake/lakestorage/LakeStorage.java b/fluss-common/src/main/java/org/apache/fluss/lake/lakestorage/LakeStorage.java
index 9d6331d5e..7ea8cce02 100644
--- a/fluss-common/src/main/java/org/apache/fluss/lake/lakestorage/LakeStorage.java
+++ b/fluss-common/src/main/java/org/apache/fluss/lake/lakestorage/LakeStorage.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.lakestorage;
+package org.apache.fluss.lake.lakestorage;
 
-import com.alibaba.fluss.annotation.PublicEvolving;
-import com.alibaba.fluss.lake.source.LakeSource;
-import com.alibaba.fluss.lake.writer.LakeTieringFactory;
-import com.alibaba.fluss.metadata.TablePath;
+import org.apache.fluss.annotation.PublicEvolving;
+import org.apache.fluss.lake.source.LakeSource;
+import org.apache.fluss.lake.writer.LakeTieringFactory;
+import org.apache.fluss.metadata.TablePath;
 
 /**
  * The LakeStorage interface defines how to implement lakehouse storage system such as Paimon and
diff --git a/fluss-common/src/main/java/org/apache/fluss/lake/lakestorage/LakeStoragePluginSetUp.java b/fluss-common/src/main/java/org/apache/fluss/lake/lakestorage/LakeStoragePluginSetUp.java
index 2607a0502..cc5270e1c 100644
--- a/fluss-common/src/main/java/org/apache/fluss/lake/lakestorage/LakeStoragePluginSetUp.java
+++ b/fluss-common/src/main/java/org/apache/fluss/lake/lakestorage/LakeStoragePluginSetUp.java
@@ -15,10 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.lakestorage;
-
-import com.alibaba.fluss.plugin.PluginManager;
+package org.apache.fluss.lake.lakestorage;
 
+import org.apache.fluss.plugin.PluginManager;
 import org.apache.fluss.shaded.guava32.com.google.common.collect.Iterators;
 
 import javax.annotation.Nullable;
diff --git a/fluss-common/src/main/java/org/apache/fluss/lake/lakestorage/PluginLakeStorageWrapper.java b/fluss-common/src/main/java/org/apache/fluss/lake/lakestorage/PluginLakeStorageWrapper.java
index 457f6747d..ce4143d88 100644
--- a/fluss-common/src/main/java/org/apache/fluss/lake/lakestorage/PluginLakeStorageWrapper.java
+++ b/fluss-common/src/main/java/org/apache/fluss/lake/lakestorage/PluginLakeStorageWrapper.java
@@ -15,16 +15,16 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.lakestorage;
-
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.exception.TableAlreadyExistException;
-import com.alibaba.fluss.lake.source.LakeSource;
-import com.alibaba.fluss.lake.writer.LakeTieringFactory;
-import com.alibaba.fluss.metadata.TableDescriptor;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.utils.TemporaryClassLoaderContext;
-import com.alibaba.fluss.utils.WrappingProxy;
+package org.apache.fluss.lake.lakestorage;
+
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.exception.TableAlreadyExistException;
+import org.apache.fluss.lake.source.LakeSource;
+import org.apache.fluss.lake.writer.LakeTieringFactory;
+import org.apache.fluss.metadata.TableDescriptor;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.utils.TemporaryClassLoaderContext;
+import org.apache.fluss.utils.WrappingProxy;
 
 /**
  * A wrapper around {@link LakeStoragePlugin} that ensures the plugin classloader is used for all
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 96%
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
index 08c65cd9e..49a6c248e 100644
--- 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
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.source;
+package org.apache.fluss.lake.source;
 
-import com.alibaba.fluss.annotation.PublicEvolving;
-import com.alibaba.fluss.lake.serializer.SimpleVersionedSerializer;
-import com.alibaba.fluss.predicate.Predicate;
+import org.apache.fluss.annotation.PublicEvolving;
+import org.apache.fluss.lake.serializer.SimpleVersionedSerializer;
+import org.apache.fluss.predicate.Predicate;
 
 import java.io.IOException;
 import java.io.Serializable;
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 96%
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
index 99e375ef9..a70f04428 100644
--- 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
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.source;
+package org.apache.fluss.lake.source;
 
-import com.alibaba.fluss.annotation.PublicEvolving;
+import org.apache.fluss.annotation.PublicEvolving;
 
 import java.util.List;
 
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 94%
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
index 13e1be11a..aaab7d94d 100644
--- 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
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.source;
+package org.apache.fluss.lake.source;
 
-import com.alibaba.fluss.annotation.PublicEvolving;
+import org.apache.fluss.annotation.PublicEvolving;
 
 import java.io.IOException;
 import java.util.List;
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 89%
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
index e6f3d6838..7fc166dbd 100644
--- 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
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.source;
+package org.apache.fluss.lake.source;
 
-import com.alibaba.fluss.annotation.PublicEvolving;
-import com.alibaba.fluss.record.LogRecord;
-import com.alibaba.fluss.utils.CloseableIterator;
+import org.apache.fluss.annotation.PublicEvolving;
+import org.apache.fluss.record.LogRecord;
+import org.apache.fluss.utils.CloseableIterator;
 
 import java.io.IOException;
 
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 93%
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
index f69589683..82dad5497 100644
--- 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
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.source;
+package org.apache.fluss.lake.source;
 
-import com.alibaba.fluss.annotation.PublicEvolving;
-import com.alibaba.fluss.row.InternalRow;
+import org.apache.fluss.annotation.PublicEvolving;
+import org.apache.fluss.row.InternalRow;
 
 import java.util.Comparator;
 
diff --git a/fluss-common/src/main/java/org/apache/fluss/memory/MemorySegmentPool.java b/fluss-common/src/main/java/org/apache/fluss/memory/MemorySegmentPool.java
index c3bf2d158..c36e44c53 100644
--- a/fluss-common/src/main/java/org/apache/fluss/memory/MemorySegmentPool.java
+++ b/fluss-common/src/main/java/org/apache/fluss/memory/MemorySegmentPool.java
@@ -66,10 +66,14 @@ public interface MemorySegmentPool {
      */
     void returnAll(List<MemorySegment> memory);
 
-    /** @return Free page number. */
+    /**
+     * @return Free page number.
+     */
     int freePages();
 
-    /** @return the available memory size in bytes. */
+    /**
+     * @return the available memory size in bytes.
+     */
     long availableMemory();
 
     void close();
diff --git a/fluss-common/src/main/java/org/apache/fluss/metrics/reporter/ReporterSetup.java b/fluss-common/src/main/java/org/apache/fluss/metrics/reporter/ReporterSetup.java
index 43cdfbd9d..53d77c8df 100644
--- a/fluss-common/src/main/java/org/apache/fluss/metrics/reporter/ReporterSetup.java
+++ b/fluss-common/src/main/java/org/apache/fluss/metrics/reporter/ReporterSetup.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.metrics.reporter;
-
-import com.alibaba.fluss.config.ConfigOptions;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.plugin.PluginManager;
-import com.alibaba.fluss.utils.CollectionUtils;
+package org.apache.fluss.metrics.reporter;
 
+import org.apache.fluss.config.ConfigOptions;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.plugin.PluginManager;
 import org.apache.fluss.shaded.guava32.com.google.common.collect.Iterators;
+import org.apache.fluss.utils.CollectionUtils;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/fluss-common/src/main/java/org/apache/fluss/plugin/DefaultPluginManager.java b/fluss-common/src/main/java/org/apache/fluss/plugin/DefaultPluginManager.java
index 26579e554..741afc822 100644
--- a/fluss-common/src/main/java/org/apache/fluss/plugin/DefaultPluginManager.java
+++ b/fluss-common/src/main/java/org/apache/fluss/plugin/DefaultPluginManager.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.plugin;
-
-import com.alibaba.fluss.annotation.Internal;
+package org.apache.fluss.plugin;
 
+import org.apache.fluss.annotation.Internal;
 import org.apache.fluss.shaded.guava32.com.google.common.base.Joiner;
 import org.apache.fluss.shaded.guava32.com.google.common.collect.Iterators;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -36,7 +36,7 @@ import java.util.Map;
 import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReentrantLock;
 
-import static com.alibaba.fluss.utils.concurrent.LockUtils.inLock;
+import static org.apache.fluss.utils.concurrent.LockUtils.inLock;
 
 /* This file is based on source code of Apache Flink Project (https://flink.apache.org/), licensed by the Apache
  * Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with this work for
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 97%
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
index 59f79cd69..9d950b159 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/And.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/And.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.row.InternalRow;
+import org.apache.fluss.row.InternalRow;
 
 import java.util.ArrayList;
 import java.util.List;
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 96%
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
index 68b97a2ef..1af6afb72 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/CompareUtils.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/CompareUtils.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import static java.lang.Math.min;
 
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 98%
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
index f38599326..4ee163fb4 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/CompoundPredicate.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/CompoundPredicate.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.row.InternalRow;
+import org.apache.fluss.row.InternalRow;
 
 import java.io.Serializable;
 import java.util.List;
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 96%
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
index 5c166813d..446a1490c 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/Contains.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/Contains.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import java.util.List;
 import java.util.Optional;
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 96%
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
index 38f4a67f8..654cecd3f 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/EndsWith.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/EndsWith.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import java.util.List;
 import java.util.Optional;
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 93%
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
index b7fbf776a..51050ef75 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/Equal.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/Equal.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import java.util.List;
 import java.util.Optional;
 
-import static com.alibaba.fluss.predicate.CompareUtils.compareLiteral;
+import static org.apache.fluss.predicate.CompareUtils.compareLiteral;
 
 /* This file is based on source code of Apache Paimon Project (https://paimon.apache.org/), licensed by the Apache
  * Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with this work for
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 96%
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
index b9e179ddc..93cb51bed 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/FieldRef.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/FieldRef.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import java.io.Serializable;
 import java.util.Objects;
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 98%
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
index 806f2de37..44ad97ae3 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/FunctionVisitor.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/FunctionVisitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
 import java.util.List;
 import java.util.stream.Collectors;
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 93%
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
index 6f3ff9d85..dc7fa68fa 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/GreaterOrEqual.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/GreaterOrEqual.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import java.util.List;
 import java.util.Optional;
 
-import static com.alibaba.fluss.predicate.CompareUtils.compareLiteral;
+import static org.apache.fluss.predicate.CompareUtils.compareLiteral;
 
 /* This file is based on source code of Apache Paimon Project (https://paimon.apache.org/), licensed by the Apache
  * Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with this work for
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 93%
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
index 9f088a773..2198ad095 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/GreaterThan.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/GreaterThan.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import java.util.List;
 import java.util.Optional;
 
-import static com.alibaba.fluss.predicate.CompareUtils.compareLiteral;
+import static org.apache.fluss.predicate.CompareUtils.compareLiteral;
 
 /* This file is based on source code of Apache Paimon Project (https://paimon.apache.org/), licensed by the Apache
  * Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with this work for
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 94%
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
index 6697750ce..fc4922ded 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/In.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/In.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import java.util.List;
 import java.util.Optional;
 
-import static com.alibaba.fluss.predicate.CompareUtils.compareLiteral;
+import static org.apache.fluss.predicate.CompareUtils.compareLiteral;
 
 /* This file is based on source code of Apache Paimon Project (https://paimon.apache.org/), licensed by the Apache
  * Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with this work for
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 96%
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
index 7facb9834..7ac22c123 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/IsNotNull.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/IsNotNull.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import java.util.List;
 import java.util.Optional;
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 96%
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
index 126df7872..238280cc4 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/IsNull.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/IsNull.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import java.util.List;
 import java.util.Optional;
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 97%
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
index e2b00a3aa..fa031f940 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/LeafFunction.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/LeafFunction.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import java.io.Serializable;
 import java.util.List;
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 96%
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
index 58f6f7963..b52a713ec 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/LeafPredicate.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/LeafPredicate.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.DecimalType;
-import com.alibaba.fluss.types.LocalZonedTimestampType;
-import com.alibaba.fluss.types.TimestampType;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.DecimalType;
+import org.apache.fluss.types.LocalZonedTimestampType;
+import org.apache.fluss.types.TimestampType;
 
 import java.util.List;
 import java.util.Objects;
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 95%
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
index e03710aa0..5d8239ff8 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/LeafUnaryFunction.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/LeafUnaryFunction.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import java.util.List;
 
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 93%
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
index 019ba9c31..f2073cc72 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/LessOrEqual.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/LessOrEqual.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import java.util.List;
 import java.util.Optional;
 
-import static com.alibaba.fluss.predicate.CompareUtils.compareLiteral;
+import static org.apache.fluss.predicate.CompareUtils.compareLiteral;
 
 /* This file is based on source code of Apache Paimon Project (https://paimon.apache.org/), licensed by the Apache
  * Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with this work for
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 93%
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
index a8ef1f9c8..3316eafb9 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/LessThan.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/LessThan.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import java.util.List;
 import java.util.Optional;
 
-import static com.alibaba.fluss.predicate.CompareUtils.compareLiteral;
+import static org.apache.fluss.predicate.CompareUtils.compareLiteral;
 
 /* This file is based on source code of Apache Paimon Project (https://paimon.apache.org/), licensed by the Apache
  * Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with this work for
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 93%
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
index 0ad0f0dc5..e73e0bde0 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/NotEqual.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/NotEqual.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import java.util.List;
 import java.util.Optional;
 
-import static com.alibaba.fluss.predicate.CompareUtils.compareLiteral;
+import static org.apache.fluss.predicate.CompareUtils.compareLiteral;
 
 /* This file is based on source code of Apache Paimon Project (https://paimon.apache.org/), licensed by the Apache
  * Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with this work for
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 95%
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
index efd2788f1..5d8c0642d 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/NotIn.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/NotIn.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import java.util.List;
 import java.util.Optional;
 
-import static com.alibaba.fluss.predicate.CompareUtils.compareLiteral;
+import static org.apache.fluss.predicate.CompareUtils.compareLiteral;
 
 /* This file is based on source code of Apache Paimon Project (https://paimon.apache.org/), licensed by the Apache
  * Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with this work for
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 96%
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
index da170834e..a828b9854 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/NullFalseLeafBinaryFunction.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/NullFalseLeafBinaryFunction.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import java.util.List;
 
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 97%
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
index 3b8ae43d2..5beb453e2 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/Or.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/Or.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.row.InternalRow;
+import org.apache.fluss.row.InternalRow;
 
 import java.util.ArrayList;
 import java.util.List;
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 98%
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
index 6318aba9c..284451b74 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/PartitionPredicateVisitor.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/PartitionPredicateVisitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
 import java.util.List;
 
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 76%
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
index ecb65d1be..e08c8347b 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/Predicate.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/Predicate.java
@@ -15,18 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.annotation.PublicEvolving;
-import com.alibaba.fluss.row.InternalRow;
+import org.apache.fluss.annotation.PublicEvolving;
+import org.apache.fluss.row.InternalRow;
 
 import java.io.Serializable;
 import java.util.Optional;
 
-/* This file is based on source code of Apache Paimon Project (https://paimon.apache.org/), licensed by the Apache
- * Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with this work for
- * additional information regarding copyright ownership. */
-
 /**
  * Predicate which returns Boolean and provides testing by stats.
  *
@@ -51,7 +47,9 @@ public interface Predicate extends Serializable {
      */
     boolean test(long rowCount, InternalRow minValues, InternalRow maxValues, Long[] nullCounts);
 
-    /** @return the negation predicate of this predicate if possible. */
+    /**
+     * @return the negation predicate of this predicate if possible.
+     */
     Optional<Predicate> negate();
 
     <T> T visit(PredicateVisitor<T> visitor);
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 97%
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
index 525c0e996..d59e37732 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/PredicateBuilder.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/PredicateBuilder.java
@@ -15,18 +15,18 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
-
-import com.alibaba.fluss.annotation.PublicEvolving;
-import com.alibaba.fluss.row.BinaryString;
-import com.alibaba.fluss.row.Decimal;
-import com.alibaba.fluss.row.TimestampLtz;
-import com.alibaba.fluss.row.TimestampNtz;
-import com.alibaba.fluss.types.DataField;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.DecimalType;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.utils.TypeUtils;
+package org.apache.fluss.predicate;
+
+import org.apache.fluss.annotation.PublicEvolving;
+import org.apache.fluss.row.BinaryString;
+import org.apache.fluss.row.Decimal;
+import org.apache.fluss.row.TimestampLtz;
+import org.apache.fluss.row.TimestampNtz;
+import org.apache.fluss.types.DataField;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.DecimalType;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.utils.TypeUtils;
 
 import javax.annotation.Nullable;
 
@@ -51,8 +51,8 @@ import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import static com.alibaba.fluss.utils.Preconditions.checkArgument;
 import static java.util.Collections.singletonList;
+import static org.apache.fluss.utils.Preconditions.checkArgument;
 
 /* This file is based on source code of Apache Paimon Project (https://paimon.apache.org/), licensed by the Apache
  * Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with this work for
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 93%
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
index fb6e854d2..80b52c864 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/PredicateVisitor.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/PredicateVisitor.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
 /* This file is based on source code of Apache Paimon Project (https://paimon.apache.org/), licensed by the Apache
  * Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with this work for
  * additional information regarding copyright ownership. */
 
-import com.alibaba.fluss.annotation.PublicEvolving;
+import org.apache.fluss.annotation.PublicEvolving;
 
 /**
  * A visitor to visit {@link Predicate}.
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 96%
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
index 88205c156..ce894c69d 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/StartsWith.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/StartsWith.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.DataType;
+import org.apache.fluss.types.DataType;
 
 import java.util.List;
 import java.util.Optional;
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 96%
copy from fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java
copy to fluss-common/src/main/java/org/apache/fluss/predicate/UnsupportedExpression.java
index f0eddff5a..291bff01a 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java
+++ b/fluss-common/src/main/java/org/apache/fluss/predicate/UnsupportedExpression.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
 /** Encounter an unsupported expression, the caller can choose to ignore this filter branch. */
 public class UnsupportedExpression extends RuntimeException {
diff --git a/fluss-common/src/main/java/org/apache/fluss/record/BytesViewLogRecords.java b/fluss-common/src/main/java/org/apache/fluss/record/BytesViewLogRecords.java
index f16dcbd62..8f315763d 100644
--- a/fluss-common/src/main/java/org/apache/fluss/record/BytesViewLogRecords.java
+++ b/fluss-common/src/main/java/org/apache/fluss/record/BytesViewLogRecords.java
@@ -15,17 +15,16 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.record;
-
-import com.alibaba.fluss.memory.MemorySegment;
-import com.alibaba.fluss.record.bytesview.BytesView;
-import com.alibaba.fluss.record.bytesview.MultiBytesView;
-import com.alibaba.fluss.record.send.ByteBufWritableOutput;
+package org.apache.fluss.record;
 
+import org.apache.fluss.memory.MemorySegment;
+import org.apache.fluss.record.bytesview.BytesView;
+import org.apache.fluss.record.bytesview.MultiBytesView;
+import org.apache.fluss.record.send.ByteBufWritableOutput;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.ByteBuf;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.Unpooled;
 
-import static com.alibaba.fluss.utils.Preconditions.checkState;
+import static org.apache.fluss.utils.Preconditions.checkState;
 
 /**
  * A {@link LogRecords} that represented as a view of bytes. The bytes may be a sequence of bytes
diff --git a/fluss-common/src/main/java/org/apache/fluss/record/DefaultLogRecordBatch.java b/fluss-common/src/main/java/org/apache/fluss/record/DefaultLogRecordBatch.java
index eb77c4bb2..c2c7b5fb1 100644
--- a/fluss-common/src/main/java/org/apache/fluss/record/DefaultLogRecordBatch.java
+++ b/fluss-common/src/main/java/org/apache/fluss/record/DefaultLogRecordBatch.java
@@ -15,23 +15,22 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.record;
-
-import com.alibaba.fluss.annotation.PublicEvolving;
-import com.alibaba.fluss.exception.CorruptMessageException;
-import com.alibaba.fluss.exception.OutOfOrderSequenceException;
-import com.alibaba.fluss.memory.MemorySegment;
-import com.alibaba.fluss.metadata.LogFormat;
-import com.alibaba.fluss.row.arrow.ArrowReader;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.utils.ArrowUtils;
-import com.alibaba.fluss.utils.CloseableIterator;
-import com.alibaba.fluss.utils.MurmurHashUtils;
-import com.alibaba.fluss.utils.crc.Crc32C;
-
+package org.apache.fluss.record;
+
+import org.apache.fluss.annotation.PublicEvolving;
+import org.apache.fluss.exception.CorruptMessageException;
+import org.apache.fluss.exception.OutOfOrderSequenceException;
+import org.apache.fluss.memory.MemorySegment;
+import org.apache.fluss.metadata.LogFormat;
+import org.apache.fluss.row.arrow.ArrowReader;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.VectorSchemaRoot;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.utils.ArrowUtils;
+import org.apache.fluss.utils.CloseableIterator;
+import org.apache.fluss.utils.MurmurHashUtils;
+import org.apache.fluss.utils.crc.Crc32C;
 
 import java.nio.ByteBuffer;
 import java.util.NoSuchElementException;
diff --git a/fluss-common/src/main/java/org/apache/fluss/record/DefaultValueRecordBatch.java b/fluss-common/src/main/java/org/apache/fluss/record/DefaultValueRecordBatch.java
index 1490d97a9..b8aefc75b 100644
--- a/fluss-common/src/main/java/org/apache/fluss/record/DefaultValueRecordBatch.java
+++ b/fluss-common/src/main/java/org/apache/fluss/record/DefaultValueRecordBatch.java
@@ -257,7 +257,9 @@ public class DefaultValueRecordBatch implements ValueRecordBatch {
             currentRecordNumber++;
         }
 
-        /** @param valueBytes consisted of schema id and the row encoded in the value bytes */
+        /**
+         * @param valueBytes consisted of schema id and the row encoded in the value bytes
+         */
         public void append(byte[] valueBytes) throws IOException {
             if (isClosed) {
                 throw new IllegalStateException(
diff --git a/fluss-common/src/main/java/org/apache/fluss/record/FileLogProjection.java b/fluss-common/src/main/java/org/apache/fluss/record/FileLogProjection.java
index 84071a060..736ae63e8 100644
--- a/fluss-common/src/main/java/org/apache/fluss/record/FileLogProjection.java
+++ b/fluss-common/src/main/java/org/apache/fluss/record/FileLogProjection.java
@@ -15,16 +15,12 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.record;
-
-import com.alibaba.fluss.annotation.VisibleForTesting;
-import com.alibaba.fluss.compression.ArrowCompressionInfo;
-import com.alibaba.fluss.exception.InvalidColumnProjectionException;
-import com.alibaba.fluss.record.bytesview.MultiBytesView;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.utils.ArrowUtils;
-import com.alibaba.fluss.utils.types.Tuple2;
+package org.apache.fluss.record;
 
+import org.apache.fluss.annotation.VisibleForTesting;
+import org.apache.fluss.compression.ArrowCompressionInfo;
+import org.apache.fluss.exception.InvalidColumnProjectionException;
+import org.apache.fluss.record.bytesview.MultiBytesView;
 import org.apache.fluss.shaded.arrow.com.google.flatbuffers.FlatBufferBuilder;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.flatbuf.Buffer;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.flatbuf.FieldNode;
@@ -40,6 +36,9 @@ import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.ipc.message.ArrowRe
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.ipc.message.MessageSerializer;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.Field;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.Schema;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.utils.ArrowUtils;
+import org.apache.fluss.utils.types.Tuple2;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -54,16 +53,16 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import static com.alibaba.fluss.record.DefaultLogRecordBatch.APPEND_ONLY_FLAG_MASK;
-import static com.alibaba.fluss.record.DefaultLogRecordBatch.ARROW_CHANGETYPE_OFFSET;
-import static com.alibaba.fluss.record.DefaultLogRecordBatch.ATTRIBUTES_OFFSET;
-import static com.alibaba.fluss.record.DefaultLogRecordBatch.LENGTH_OFFSET;
-import static com.alibaba.fluss.record.DefaultLogRecordBatch.LOG_OVERHEAD;
-import static com.alibaba.fluss.record.DefaultLogRecordBatch.RECORDS_COUNT_OFFSET;
-import static com.alibaba.fluss.record.DefaultLogRecordBatch.RECORD_BATCH_HEADER_SIZE;
-import static com.alibaba.fluss.utils.FileUtils.readFullyOrFail;
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
-import static com.alibaba.fluss.utils.Preconditions.checkState;
+import static org.apache.fluss.record.DefaultLogRecordBatch.APPEND_ONLY_FLAG_MASK;
+import static org.apache.fluss.record.DefaultLogRecordBatch.ARROW_CHANGETYPE_OFFSET;
+import static org.apache.fluss.record.DefaultLogRecordBatch.ATTRIBUTES_OFFSET;
+import static org.apache.fluss.record.DefaultLogRecordBatch.LENGTH_OFFSET;
+import static org.apache.fluss.record.DefaultLogRecordBatch.LOG_OVERHEAD;
+import static org.apache.fluss.record.DefaultLogRecordBatch.RECORDS_COUNT_OFFSET;
+import static org.apache.fluss.record.DefaultLogRecordBatch.RECORD_BATCH_HEADER_SIZE;
+import static org.apache.fluss.utils.FileUtils.readFullyOrFail;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkState;
 
 /** Column projection util on Arrow format {@link FileLogRecords}. */
 public class FileLogProjection {
diff --git a/fluss-common/src/main/java/org/apache/fluss/record/LogRecordBatch.java b/fluss-common/src/main/java/org/apache/fluss/record/LogRecordBatch.java
index 90b6b5b58..8dcab1be2 100644
--- a/fluss-common/src/main/java/org/apache/fluss/record/LogRecordBatch.java
+++ b/fluss-common/src/main/java/org/apache/fluss/record/LogRecordBatch.java
@@ -15,15 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.record;
-
-import com.alibaba.fluss.annotation.PublicEvolving;
-import com.alibaba.fluss.metadata.LogFormat;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.utils.CloseableIterator;
+package org.apache.fluss.record;
 
+import org.apache.fluss.annotation.PublicEvolving;
+import org.apache.fluss.metadata.LogFormat;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.VectorSchemaRoot;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.utils.CloseableIterator;
 
 import java.util.Iterator;
 
diff --git a/fluss-common/src/main/java/org/apache/fluss/record/LogRecordReadContext.java b/fluss-common/src/main/java/org/apache/fluss/record/LogRecordReadContext.java
index 7da48d685..1158dbc35 100644
--- a/fluss-common/src/main/java/org/apache/fluss/record/LogRecordReadContext.java
+++ b/fluss-common/src/main/java/org/apache/fluss/record/LogRecordReadContext.java
@@ -15,29 +15,28 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.record;
-
-import com.alibaba.fluss.annotation.VisibleForTesting;
-import com.alibaba.fluss.metadata.LogFormat;
-import com.alibaba.fluss.metadata.TableInfo;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.InternalRow.FieldGetter;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.utils.ArrowUtils;
-import com.alibaba.fluss.utils.Projection;
+package org.apache.fluss.record;
 
+import org.apache.fluss.annotation.VisibleForTesting;
+import org.apache.fluss.metadata.LogFormat;
+import org.apache.fluss.metadata.TableInfo;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.row.InternalRow.FieldGetter;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.RootAllocator;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.VectorSchemaRoot;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.utils.ArrowUtils;
+import org.apache.fluss.utils.Projection;
 
 import javax.annotation.Nullable;
 
 import java.util.List;
 import java.util.stream.IntStream;
 
-import static com.alibaba.fluss.utils.Preconditions.checkArgument;
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkArgument;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** A simple implementation for {@link LogRecordBatch.ReadContext}. */
 public class LogRecordReadContext implements LogRecordBatch.ReadContext, AutoCloseable {
diff --git a/fluss-common/src/main/java/org/apache/fluss/record/bytesview/BytesView.java b/fluss-common/src/main/java/org/apache/fluss/record/bytesview/BytesView.java
index 1fac0bbbf..0cce48adc 100644
--- a/fluss-common/src/main/java/org/apache/fluss/record/bytesview/BytesView.java
+++ b/fluss-common/src/main/java/org/apache/fluss/record/bytesview/BytesView.java
@@ -15,10 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.record.bytesview;
-
-import com.alibaba.fluss.record.send.SendWritableOutput;
+package org.apache.fluss.record.bytesview;
 
+import org.apache.fluss.record.send.SendWritableOutput;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.ByteBuf;
 
 /**
diff --git a/fluss-common/src/main/java/org/apache/fluss/record/bytesview/FileRegionBytesView.java b/fluss-common/src/main/java/org/apache/fluss/record/bytesview/FileRegionBytesView.java
index dca9eae45..5c84e6354 100644
--- a/fluss-common/src/main/java/org/apache/fluss/record/bytesview/FileRegionBytesView.java
+++ b/fluss-common/src/main/java/org/apache/fluss/record/bytesview/FileRegionBytesView.java
@@ -15,10 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.record.bytesview;
-
-import com.alibaba.fluss.exception.FlussRuntimeException;
+package org.apache.fluss.record.bytesview;
 
+import org.apache.fluss.exception.FlussRuntimeException;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.ByteBuf;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.Unpooled;
 import org.apache.fluss.shaded.netty4.io.netty.channel.FileRegion;
diff --git a/fluss-common/src/main/java/org/apache/fluss/record/bytesview/MemorySegmentBytesView.java b/fluss-common/src/main/java/org/apache/fluss/record/bytesview/MemorySegmentBytesView.java
index 200a5d814..89782c8e7 100644
--- a/fluss-common/src/main/java/org/apache/fluss/record/bytesview/MemorySegmentBytesView.java
+++ b/fluss-common/src/main/java/org/apache/fluss/record/bytesview/MemorySegmentBytesView.java
@@ -15,10 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.record.bytesview;
-
-import com.alibaba.fluss.memory.MemorySegment;
+package org.apache.fluss.record.bytesview;
 
+import org.apache.fluss.memory.MemorySegment;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.ByteBuf;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.Unpooled;
 
diff --git a/fluss-common/src/main/java/org/apache/fluss/record/bytesview/MultiBytesView.java b/fluss-common/src/main/java/org/apache/fluss/record/bytesview/MultiBytesView.java
index c53917e4b..010b9b42d 100644
--- a/fluss-common/src/main/java/org/apache/fluss/record/bytesview/MultiBytesView.java
+++ b/fluss-common/src/main/java/org/apache/fluss/record/bytesview/MultiBytesView.java
@@ -15,12 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.record.bytesview;
-
-import com.alibaba.fluss.annotation.VisibleForTesting;
-import com.alibaba.fluss.memory.MemorySegment;
-import com.alibaba.fluss.record.send.WritableOutput;
+package org.apache.fluss.record.bytesview;
 
+import org.apache.fluss.annotation.VisibleForTesting;
+import org.apache.fluss.memory.MemorySegment;
+import org.apache.fluss.record.send.WritableOutput;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.ByteBuf;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.Unpooled;
 
diff --git a/fluss-common/src/main/java/org/apache/fluss/record/send/ByteBufWritableOutput.java b/fluss-common/src/main/java/org/apache/fluss/record/send/ByteBufWritableOutput.java
index 68065bc43..cc4951296 100644
--- a/fluss-common/src/main/java/org/apache/fluss/record/send/ByteBufWritableOutput.java
+++ b/fluss-common/src/main/java/org/apache/fluss/record/send/ByteBufWritableOutput.java
@@ -15,12 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.record.send;
-
-import com.alibaba.fluss.record.bytesview.BytesView;
-import com.alibaba.fluss.utils.ProtoCodecUtils;
+package org.apache.fluss.record.send;
 
+import org.apache.fluss.record.bytesview.BytesView;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.ByteBuf;
+import org.apache.fluss.utils.ProtoCodecUtils;
 
 /**
  * A basic implementation of {@link WritableOutput} that writes data into a {@link ByteBuf}.
diff --git a/fluss-common/src/main/java/org/apache/fluss/record/send/SendWritableOutput.java b/fluss-common/src/main/java/org/apache/fluss/record/send/SendWritableOutput.java
index f91a81bf7..c799fe4ec 100644
--- a/fluss-common/src/main/java/org/apache/fluss/record/send/SendWritableOutput.java
+++ b/fluss-common/src/main/java/org/apache/fluss/record/send/SendWritableOutput.java
@@ -15,13 +15,12 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.record.send;
-
-import com.alibaba.fluss.record.bytesview.BytesView;
-import com.alibaba.fluss.record.bytesview.FileRegionBytesView;
-import com.alibaba.fluss.record.bytesview.MemorySegmentBytesView;
-import com.alibaba.fluss.record.bytesview.MultiBytesView;
+package org.apache.fluss.record.send;
 
+import org.apache.fluss.record.bytesview.BytesView;
+import org.apache.fluss.record.bytesview.FileRegionBytesView;
+import org.apache.fluss.record.bytesview.MemorySegmentBytesView;
+import org.apache.fluss.record.bytesview.MultiBytesView;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.ByteBuf;
 
 import java.util.ArrayDeque;
@@ -35,7 +34,9 @@ public class SendWritableOutput extends ByteBufWritableOutput {
     /** The current reader index of the underlying {@link #buf} for building next {@link Send}. */
     private int currentReaderIndex = 0;
 
-    /** @param buf The ByteBuf that has capacity of data size excluding zero-copy. */
+    /**
+     * @param buf The ByteBuf that has capacity of data size excluding zero-copy.
+     */
     public SendWritableOutput(ByteBuf buf) {
         super(buf);
         this.sends = new ArrayDeque<>(1);
diff --git a/fluss-common/src/main/java/org/apache/fluss/record/send/WritableOutput.java b/fluss-common/src/main/java/org/apache/fluss/record/send/WritableOutput.java
index 045fc4155..6df7beb99 100644
--- a/fluss-common/src/main/java/org/apache/fluss/record/send/WritableOutput.java
+++ b/fluss-common/src/main/java/org/apache/fluss/record/send/WritableOutput.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.record.send;
-
-import com.alibaba.fluss.record.bytesview.BytesView;
-import com.alibaba.fluss.rpc.messages.ApiMessage;
+package org.apache.fluss.record.send;
 
+import org.apache.fluss.record.bytesview.BytesView;
+import org.apache.fluss.rpc.messages.ApiMessage;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.ByteBuf;
 
 /** A writable output for writing {@link ApiMessage}. */
diff --git a/fluss-common/src/main/java/org/apache/fluss/remote/RemoteLogSegment.java b/fluss-common/src/main/java/org/apache/fluss/remote/RemoteLogSegment.java
index 3022a23b2..39480e4d1 100644
--- a/fluss-common/src/main/java/org/apache/fluss/remote/RemoteLogSegment.java
+++ b/fluss-common/src/main/java/org/apache/fluss/remote/RemoteLogSegment.java
@@ -93,12 +93,16 @@ public class RemoteLogSegment {
         return remoteLogSegmentId;
     }
 
-    /** @return Remote log start offset of this segment (inclusive). */
+    /**
+     * @return Remote log start offset of this segment (inclusive).
+     */
     public long remoteLogStartOffset() {
         return remoteLogStartOffset;
     }
 
-    /** @return Remote log end offset of this segment (inclusive). */
+    /**
+     * @return Remote log end offset of this segment (inclusive).
+     */
     public long remoteLogEndOffset() {
         return remoteLogEndOffset;
     }
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/ArrowReader.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/ArrowReader.java
index 604112c01..ea5afe930 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/ArrowReader.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/ArrowReader.java
@@ -15,17 +15,16 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.columnar.ColumnVector;
-import com.alibaba.fluss.row.columnar.ColumnarRow;
-import com.alibaba.fluss.row.columnar.VectorizedColumnBatch;
+package org.apache.fluss.row.arrow;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.row.columnar.ColumnVector;
+import org.apache.fluss.row.columnar.ColumnarRow;
+import org.apache.fluss.row.columnar.VectorizedColumnBatch;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.VectorSchemaRoot;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** {@link ArrowReader} which read the underlying Arrow format data as {@link InternalRow}. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/ArrowWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/ArrowWriter.java
index b7c717a77..75302f27d 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/ArrowWriter.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/ArrowWriter.java
@@ -15,19 +15,15 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.annotation.VisibleForTesting;
-import com.alibaba.fluss.compression.ArrowCompressionInfo;
-import com.alibaba.fluss.compression.ArrowCompressionRatioEstimator;
-import com.alibaba.fluss.memory.AbstractPagedOutputView;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.arrow.writers.ArrowFieldWriter;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.utils.ArrowUtils;
-import com.alibaba.fluss.utils.PagedMemorySegmentWritableChannel;
-
+package org.apache.fluss.row.arrow;
+
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.annotation.VisibleForTesting;
+import org.apache.fluss.compression.ArrowCompressionInfo;
+import org.apache.fluss.compression.ArrowCompressionRatioEstimator;
+import org.apache.fluss.memory.AbstractPagedOutputView;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.row.arrow.writers.ArrowFieldWriter;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.BaseFixedWidthVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.BaseVariableWidthVector;
@@ -40,11 +36,14 @@ import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.ipc.WriteChannel;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.ipc.message.ArrowBlock;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.ipc.message.ArrowRecordBatch;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.ipc.message.MessageSerializer;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.utils.ArrowUtils;
+import org.apache.fluss.utils.PagedMemorySegmentWritableChannel;
 
 import java.io.IOException;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
-import static com.alibaba.fluss.utils.Preconditions.checkState;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkState;
 
 /**
  * Writer which serializes the Fluss rows to Arrow record batches. The {@link ArrowWriter} is pooled
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/ArrowWriterPool.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/ArrowWriterPool.java
index 6cdf89c0e..6a384849c 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/ArrowWriterPool.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/ArrowWriterPool.java
@@ -15,17 +15,16 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.annotation.VisibleForTesting;
-import com.alibaba.fluss.compression.ArrowCompressionInfo;
-import com.alibaba.fluss.compression.ArrowCompressionRatioEstimator;
-import com.alibaba.fluss.exception.FlussRuntimeException;
-import com.alibaba.fluss.types.RowType;
+package org.apache.fluss.row.arrow;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.annotation.VisibleForTesting;
+import org.apache.fluss.compression.ArrowCompressionInfo;
+import org.apache.fluss.compression.ArrowCompressionRatioEstimator;
+import org.apache.fluss.exception.FlussRuntimeException;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.VectorSchemaRoot;
+import org.apache.fluss.types.RowType;
 
 import javax.annotation.concurrent.GuardedBy;
 import javax.annotation.concurrent.ThreadSafe;
@@ -36,7 +35,7 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.locks.ReentrantLock;
 
-import static com.alibaba.fluss.utils.concurrent.LockUtils.inLock;
+import static org.apache.fluss.utils.concurrent.LockUtils.inLock;
 
 /**
  * A pool that pools {@link ArrowWriter}. See Javadoc of {@link VectorSchemaRoot} for more
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowBigIntColumnVector.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowBigIntColumnVector.java
index 09ba44b66..be1aa9362 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowBigIntColumnVector.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowBigIntColumnVector.java
@@ -15,14 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.vectors;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.columnar.LongColumnVector;
+package org.apache.fluss.row.arrow.vectors;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.columnar.LongColumnVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.BigIntVector;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** Arrow column vector for BigInt. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowBinaryColumnVector.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowBinaryColumnVector.java
index bcccc5208..3451ae658 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowBinaryColumnVector.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowBinaryColumnVector.java
@@ -15,14 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.vectors;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.columnar.BytesColumnVector;
+package org.apache.fluss.row.arrow.vectors;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.columnar.BytesColumnVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.FixedSizeBinaryVector;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** Arrow column vector for Binary. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowBooleanColumnVector.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowBooleanColumnVector.java
index 6b8b672a6..864b62446 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowBooleanColumnVector.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowBooleanColumnVector.java
@@ -15,14 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.vectors;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.columnar.BooleanColumnVector;
+package org.apache.fluss.row.arrow.vectors;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.columnar.BooleanColumnVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.BitVector;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** Arrow column vector for Boolean. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowDateColumnVector.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowDateColumnVector.java
index b3765d1ea..38cf58fb7 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowDateColumnVector.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowDateColumnVector.java
@@ -15,14 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.vectors;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.columnar.IntColumnVector;
+package org.apache.fluss.row.arrow.vectors;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.columnar.IntColumnVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.DateDayVector;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** Arrow column vector for Date. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowDecimalColumnVector.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowDecimalColumnVector.java
index 017b0f215..3952fce90 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowDecimalColumnVector.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowDecimalColumnVector.java
@@ -15,15 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.vectors;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.Decimal;
-import com.alibaba.fluss.row.columnar.DecimalColumnVector;
+package org.apache.fluss.row.arrow.vectors;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.Decimal;
+import org.apache.fluss.row.columnar.DecimalColumnVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.DecimalVector;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** Arrow column vector for Decimal. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowDoubleColumnVector.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowDoubleColumnVector.java
index a235a020d..5e921f2c4 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowDoubleColumnVector.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowDoubleColumnVector.java
@@ -15,14 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.vectors;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.columnar.DoubleColumnVector;
+package org.apache.fluss.row.arrow.vectors;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.columnar.DoubleColumnVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.Float8Vector;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** Arrow column vector for Double. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowFloatColumnVector.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowFloatColumnVector.java
index d0974d58d..2e853cc87 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowFloatColumnVector.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowFloatColumnVector.java
@@ -15,14 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.vectors;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.columnar.FloatColumnVector;
+package org.apache.fluss.row.arrow.vectors;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.columnar.FloatColumnVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.Float4Vector;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** Arrow column vector for Float. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowIntColumnVector.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowIntColumnVector.java
index 5482c1da9..9260b7256 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowIntColumnVector.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowIntColumnVector.java
@@ -15,14 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.vectors;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.columnar.IntColumnVector;
+package org.apache.fluss.row.arrow.vectors;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.columnar.IntColumnVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.IntVector;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** Arrow column vector for Int. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowSmallIntColumnVector.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowSmallIntColumnVector.java
index 6a363d732..84ebcbc40 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowSmallIntColumnVector.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowSmallIntColumnVector.java
@@ -15,14 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.vectors;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.columnar.ShortColumnVector;
+package org.apache.fluss.row.arrow.vectors;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.columnar.ShortColumnVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.SmallIntVector;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** Arrow column vector for SmallInt. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowTimeColumnVector.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowTimeColumnVector.java
index 00a843a47..12f770b7b 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowTimeColumnVector.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowTimeColumnVector.java
@@ -15,19 +15,18 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.vectors;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.columnar.IntColumnVector;
+package org.apache.fluss.row.arrow.vectors;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.columnar.IntColumnVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeMicroVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeMilliVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeNanoVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeSecVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.ValueVector;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
-import static com.alibaba.fluss.utils.Preconditions.checkState;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkState;
 
 /** Arrow column vector for Time. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowTimestampLtzColumnVector.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowTimestampLtzColumnVector.java
index 5e9f56a7e..9b870cdf1 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowTimestampLtzColumnVector.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowTimestampLtzColumnVector.java
@@ -15,12 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.vectors;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.TimestampLtz;
-import com.alibaba.fluss.row.columnar.TimestampLtzColumnVector;
+package org.apache.fluss.row.arrow.vectors;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.TimestampLtz;
+import org.apache.fluss.row.columnar.TimestampLtzColumnVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeStampMicroVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeStampMilliVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeStampNanoVector;
@@ -29,8 +28,8 @@ import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeStampVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.ValueVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.ArrowType;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
-import static com.alibaba.fluss.utils.Preconditions.checkState;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkState;
 
 /** Arrow column vector for TimestampLtz. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowTimestampNtzColumnVector.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowTimestampNtzColumnVector.java
index 7cbd1aa28..37bc9f7b9 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowTimestampNtzColumnVector.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowTimestampNtzColumnVector.java
@@ -15,12 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.vectors;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.TimestampNtz;
-import com.alibaba.fluss.row.columnar.TimestampNtzColumnVector;
+package org.apache.fluss.row.arrow.vectors;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.TimestampNtz;
+import org.apache.fluss.row.columnar.TimestampNtzColumnVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeStampMicroVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeStampMilliVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeStampNanoVector;
@@ -29,8 +28,8 @@ import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeStampVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.ValueVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.ArrowType;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
-import static com.alibaba.fluss.utils.Preconditions.checkState;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkState;
 
 /** Arrow column vector for TimestampNtz. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowTinyIntColumnVector.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowTinyIntColumnVector.java
index 658b9f4dd..f2aa0a60e 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowTinyIntColumnVector.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowTinyIntColumnVector.java
@@ -15,14 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.vectors;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.columnar.ByteColumnVector;
+package org.apache.fluss.row.arrow.vectors;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.columnar.ByteColumnVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TinyIntVector;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** Arrow column vector for TinyInt. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowVarBinaryColumnVector.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowVarBinaryColumnVector.java
index 8511e65ba..8f65d808d 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowVarBinaryColumnVector.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowVarBinaryColumnVector.java
@@ -15,14 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.vectors;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.columnar.BytesColumnVector;
+package org.apache.fluss.row.arrow.vectors;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.columnar.BytesColumnVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.VarBinaryVector;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** Arrow column vector for VarBinary. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowVarCharColumnVector.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowVarCharColumnVector.java
index 7c3ac9b74..d24e0836c 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowVarCharColumnVector.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/vectors/ArrowVarCharColumnVector.java
@@ -15,14 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.vectors;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.columnar.BytesColumnVector;
+package org.apache.fluss.row.arrow.vectors;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.columnar.BytesColumnVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.VarCharVector;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** Arrow column vector for VarChar. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowBigIntWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowBigIntWriter.java
index e36a20ad8..9bb5be4de 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowBigIntWriter.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowBigIntWriter.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.writers;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.InternalRow;
+package org.apache.fluss.row.arrow.writers;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.InternalRow;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.BigIntVector;
 
 /** {@link ArrowFieldWriter} for BigInt. */
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowBinaryWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowBinaryWriter.java
index f2ffc3900..2b55e600c 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowBinaryWriter.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowBinaryWriter.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.writers;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.InternalRow;
+package org.apache.fluss.row.arrow.writers;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.InternalRow;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.FixedSizeBinaryVector;
 
 /** {@link ArrowFieldWriter} for Binary. */
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowBooleanWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowBooleanWriter.java
index 1461ee037..91976ec93 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowBooleanWriter.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowBooleanWriter.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.writers;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.InternalRow;
+package org.apache.fluss.row.arrow.writers;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.InternalRow;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.BitVector;
 
 /** {@link ArrowFieldWriter} for Boolean. */
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowDateWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowDateWriter.java
index ea2bf6140..662fd5778 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowDateWriter.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowDateWriter.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.writers;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.InternalRow;
+package org.apache.fluss.row.arrow.writers;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.InternalRow;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.DateDayVector;
 
 /** {@link ArrowFieldWriter} for Date. */
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowDecimalWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowDecimalWriter.java
index 1a0b454ef..71a52be6b 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowDecimalWriter.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowDecimalWriter.java
@@ -15,12 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.writers;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.Decimal;
-import com.alibaba.fluss.row.InternalRow;
+package org.apache.fluss.row.arrow.writers;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.Decimal;
+import org.apache.fluss.row.InternalRow;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.DecimalVector;
 
 import java.math.BigDecimal;
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowDoubleWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowDoubleWriter.java
index 8457386a5..88983f210 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowDoubleWriter.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowDoubleWriter.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.writers;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.InternalRow;
+package org.apache.fluss.row.arrow.writers;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.InternalRow;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.Float8Vector;
 
 /** {@link ArrowFieldWriter} for Double. */
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowFieldWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowFieldWriter.java
index 8ff75ddd8..a127359aa 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowFieldWriter.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowFieldWriter.java
@@ -15,13 +15,12 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.writers;
-
-import com.alibaba.fluss.annotation.Internal;
+package org.apache.fluss.row.arrow.writers;
 
+import org.apache.fluss.annotation.Internal;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.ValueVector;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /**
  * Base class for arrow field writer which is used to convert a field to an Arrow format.
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowFloatWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowFloatWriter.java
index cc618486c..798da881b 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowFloatWriter.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowFloatWriter.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.writers;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.InternalRow;
+package org.apache.fluss.row.arrow.writers;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.InternalRow;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.Float4Vector;
 
 /** {@link ArrowFieldWriter} for Float. */
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowIntWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowIntWriter.java
index 811d8f86c..dfe6d5c8e 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowIntWriter.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowIntWriter.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.writers;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.InternalRow;
+package org.apache.fluss.row.arrow.writers;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.InternalRow;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.IntVector;
 
 /** {@link ArrowFieldWriter} for Int. */
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowSmallIntWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowSmallIntWriter.java
index 2e0bfd5ca..0bca8f6b3 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowSmallIntWriter.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowSmallIntWriter.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.writers;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.InternalRow;
+package org.apache.fluss.row.arrow.writers;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.InternalRow;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.SmallIntVector;
 
 /** {@link ArrowFieldWriter} for SmallInt. */
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowTimeWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowTimeWriter.java
index eb795b519..5af71d433 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowTimeWriter.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowTimeWriter.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.writers;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.InternalRow;
+package org.apache.fluss.row.arrow.writers;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.InternalRow;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.BaseFixedWidthVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeMicroVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeMilliVector;
@@ -27,7 +26,7 @@ import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeNanoVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeSecVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.ValueVector;
 
-import static com.alibaba.fluss.utils.Preconditions.checkState;
+import static org.apache.fluss.utils.Preconditions.checkState;
 
 /** {@link ArrowFieldWriter} for Time. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowTimestampLtzWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowTimestampLtzWriter.java
index 6e765218b..aece74eab 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowTimestampLtzWriter.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowTimestampLtzWriter.java
@@ -15,12 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.writers;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.TimestampLtz;
+package org.apache.fluss.row.arrow.writers;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.row.TimestampLtz;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeStampMicroVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeStampMilliVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeStampSecVector;
@@ -28,7 +27,7 @@ import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeStampVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.ValueVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.ArrowType;
 
-import static com.alibaba.fluss.utils.Preconditions.checkState;
+import static org.apache.fluss.utils.Preconditions.checkState;
 
 /** {@link ArrowFieldWriter} for TimestampLtz. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowTimestampNtzWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowTimestampNtzWriter.java
index 5cc625a7c..53eb5c41b 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowTimestampNtzWriter.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowTimestampNtzWriter.java
@@ -15,12 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.writers;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.TimestampNtz;
+package org.apache.fluss.row.arrow.writers;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.row.TimestampNtz;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeStampMicroVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeStampMilliVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeStampSecVector;
@@ -28,7 +27,7 @@ import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TimeStampVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.ValueVector;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.ArrowType;
 
-import static com.alibaba.fluss.utils.Preconditions.checkState;
+import static org.apache.fluss.utils.Preconditions.checkState;
 
 /** {@link ArrowFieldWriter} for TimestampNtz. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowTinyIntWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowTinyIntWriter.java
index d8cc5175e..b2add78f3 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowTinyIntWriter.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowTinyIntWriter.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.writers;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.InternalRow;
+package org.apache.fluss.row.arrow.writers;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.InternalRow;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.TinyIntVector;
 
 /** {@link ArrowFieldWriter} for TinyInt. */
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowVarBinaryWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowVarBinaryWriter.java
index 308600793..b80a6096a 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowVarBinaryWriter.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowVarBinaryWriter.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.writers;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.InternalRow;
+package org.apache.fluss.row.arrow.writers;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.InternalRow;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.VarBinaryVector;
 
 /** {@link ArrowFieldWriter} for VarBinary. */
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowVarCharWriter.java b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowVarCharWriter.java
index 782759444..7297ade18 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowVarCharWriter.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/arrow/writers/ArrowVarCharWriter.java
@@ -15,12 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow.writers;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.row.BinaryString;
-import com.alibaba.fluss.row.InternalRow;
+package org.apache.fluss.row.arrow.writers;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.row.BinaryString;
+import org.apache.fluss.row.InternalRow;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.VarCharVector;
 
 import java.nio.ByteBuffer;
diff --git a/fluss-common/src/main/java/org/apache/fluss/row/encode/KeyEncoder.java b/fluss-common/src/main/java/org/apache/fluss/row/encode/KeyEncoder.java
index b9574aa8c..45e962f15 100644
--- a/fluss-common/src/main/java/org/apache/fluss/row/encode/KeyEncoder.java
+++ b/fluss-common/src/main/java/org/apache/fluss/row/encode/KeyEncoder.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.encode;
+package org.apache.fluss.row.encode;
 
-import com.alibaba.fluss.metadata.DataLakeFormat;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.encode.iceberg.IcebergKeyEncoder;
-import com.alibaba.fluss.row.encode.paimon.PaimonKeyEncoder;
-import com.alibaba.fluss.types.RowType;
+import org.apache.fluss.metadata.DataLakeFormat;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.row.encode.iceberg.IcebergKeyEncoder;
+import org.apache.fluss.row.encode.paimon.PaimonKeyEncoder;
+import org.apache.fluss.types.RowType;
 
 import javax.annotation.Nullable;
 
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 94%
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
index 4dd2ffeb9..9074759bb 100644
--- 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
@@ -15,20 +15,20 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.encode.iceberg;
+package org.apache.fluss.row.encode.iceberg;
 
-import com.alibaba.fluss.memory.MemorySegment;
-import com.alibaba.fluss.row.BinaryString;
-import com.alibaba.fluss.row.Decimal;
-import com.alibaba.fluss.row.TimestampNtz;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.utils.UnsafeUtils;
+import org.apache.fluss.memory.MemorySegment;
+import org.apache.fluss.row.BinaryString;
+import org.apache.fluss.row.Decimal;
+import org.apache.fluss.row.TimestampNtz;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.utils.UnsafeUtils;
 
 import java.io.Serializable;
 import java.util.Arrays;
 
 /**
- * A writer to encode Fluss's {@link com.alibaba.fluss.row.InternalRow} using Iceberg's binary
+ * A writer to encode Fluss's {@link org.apache.fluss.row.InternalRow} using Iceberg's binary
  * encoding format.
  *
  * <p>The encoding logic is to encode different types of keys into bytes array, which will have the
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 89%
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
index e8df7a0af..466b2ceb6 100644
--- 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
@@ -15,16 +15,16 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.encode.iceberg;
+package org.apache.fluss.row.encode.iceberg;
 
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.encode.KeyEncoder;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.RowType;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.row.encode.KeyEncoder;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.RowType;
 
 import java.util.List;
 
-import static com.alibaba.fluss.utils.Preconditions.checkArgument;
+import static org.apache.fluss.utils.Preconditions.checkArgument;
 
 /** An implementation of {@link KeyEncoder} to follow Iceberg's encoding strategy. */
 public class IcebergKeyEncoder implements KeyEncoder {
diff --git a/fluss-common/src/main/java/org/apache/fluss/rpc/messages/ApiMessage.java b/fluss-common/src/main/java/org/apache/fluss/rpc/messages/ApiMessage.java
index db8235acc..4e58cc02b 100644
--- a/fluss-common/src/main/java/org/apache/fluss/rpc/messages/ApiMessage.java
+++ b/fluss-common/src/main/java/org/apache/fluss/rpc/messages/ApiMessage.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.rpc.messages;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.record.send.WritableOutput;
+package org.apache.fluss.rpc.messages;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.record.send.WritableOutput;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.ByteBuf;
 
 /**
diff --git a/fluss-common/src/main/java/org/apache/fluss/security/auth/sasl/jaas/DefaultLogin.java b/fluss-common/src/main/java/org/apache/fluss/security/auth/sasl/jaas/DefaultLogin.java
index 88a8a984a..fcb58714f 100644
--- a/fluss-common/src/main/java/org/apache/fluss/security/auth/sasl/jaas/DefaultLogin.java
+++ b/fluss-common/src/main/java/org/apache/fluss/security/auth/sasl/jaas/DefaultLogin.java
@@ -17,7 +17,7 @@
 
 package org.apache.fluss.security.auth.sasl.jaas;
 
-import com.alibaba.fluss.utils.TemporaryClassLoaderContext;
+import org.apache.fluss.utils.TemporaryClassLoaderContext;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/fluss-common/src/main/java/org/apache/fluss/utils/ArrowUtils.java b/fluss-common/src/main/java/org/apache/fluss/utils/ArrowUtils.java
index 0d08f453e..8d4f62858 100644
--- a/fluss-common/src/main/java/org/apache/fluss/utils/ArrowUtils.java
+++ b/fluss-common/src/main/java/org/apache/fluss/utils/ArrowUtils.java
@@ -15,66 +15,46 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.utils;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.compression.ArrowCompressionFactory;
-import com.alibaba.fluss.exception.FlussRuntimeException;
-import com.alibaba.fluss.memory.MemorySegment;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.arrow.ArrowReader;
-import com.alibaba.fluss.row.arrow.vectors.ArrowBigIntColumnVector;
-import com.alibaba.fluss.row.arrow.vectors.ArrowBinaryColumnVector;
-import com.alibaba.fluss.row.arrow.vectors.ArrowBooleanColumnVector;
-import com.alibaba.fluss.row.arrow.vectors.ArrowDateColumnVector;
-import com.alibaba.fluss.row.arrow.vectors.ArrowDecimalColumnVector;
-import com.alibaba.fluss.row.arrow.vectors.ArrowDoubleColumnVector;
-import com.alibaba.fluss.row.arrow.vectors.ArrowFloatColumnVector;
-import com.alibaba.fluss.row.arrow.vectors.ArrowIntColumnVector;
-import com.alibaba.fluss.row.arrow.vectors.ArrowSmallIntColumnVector;
-import com.alibaba.fluss.row.arrow.vectors.ArrowTimeColumnVector;
-import com.alibaba.fluss.row.arrow.vectors.ArrowTimestampLtzColumnVector;
-import com.alibaba.fluss.row.arrow.vectors.ArrowTimestampNtzColumnVector;
-import com.alibaba.fluss.row.arrow.vectors.ArrowTinyIntColumnVector;
-import com.alibaba.fluss.row.arrow.vectors.ArrowVarBinaryColumnVector;
-import com.alibaba.fluss.row.arrow.vectors.ArrowVarCharColumnVector;
-import com.alibaba.fluss.row.arrow.writers.ArrowBigIntWriter;
-import com.alibaba.fluss.row.arrow.writers.ArrowBinaryWriter;
-import com.alibaba.fluss.row.arrow.writers.ArrowBooleanWriter;
-import com.alibaba.fluss.row.arrow.writers.ArrowDateWriter;
-import com.alibaba.fluss.row.arrow.writers.ArrowDecimalWriter;
-import com.alibaba.fluss.row.arrow.writers.ArrowDoubleWriter;
-import com.alibaba.fluss.row.arrow.writers.ArrowFieldWriter;
-import com.alibaba.fluss.row.arrow.writers.ArrowFloatWriter;
-import com.alibaba.fluss.row.arrow.writers.ArrowIntWriter;
-import com.alibaba.fluss.row.arrow.writers.ArrowSmallIntWriter;
-import com.alibaba.fluss.row.arrow.writers.ArrowTimeWriter;
-import com.alibaba.fluss.row.arrow.writers.ArrowTimestampLtzWriter;
-import com.alibaba.fluss.row.arrow.writers.ArrowTimestampNtzWriter;
-import com.alibaba.fluss.row.arrow.writers.ArrowTinyIntWriter;
-import com.alibaba.fluss.row.arrow.writers.ArrowVarBinaryWriter;
-import com.alibaba.fluss.row.arrow.writers.ArrowVarCharWriter;
-import com.alibaba.fluss.row.columnar.ColumnVector;
-import com.alibaba.fluss.types.BigIntType;
-import com.alibaba.fluss.types.BinaryType;
-import com.alibaba.fluss.types.BooleanType;
-import com.alibaba.fluss.types.BytesType;
-import com.alibaba.fluss.types.CharType;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.DataTypeDefaultVisitor;
-import com.alibaba.fluss.types.DateType;
-import com.alibaba.fluss.types.DecimalType;
-import com.alibaba.fluss.types.DoubleType;
-import com.alibaba.fluss.types.FloatType;
-import com.alibaba.fluss.types.IntType;
-import com.alibaba.fluss.types.LocalZonedTimestampType;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.types.SmallIntType;
-import com.alibaba.fluss.types.StringType;
-import com.alibaba.fluss.types.TimeType;
-import com.alibaba.fluss.types.TimestampType;
-import com.alibaba.fluss.types.TinyIntType;
-
+package org.apache.fluss.utils;
+
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.compression.ArrowCompressionFactory;
+import org.apache.fluss.exception.FlussRuntimeException;
+import org.apache.fluss.memory.MemorySegment;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.row.arrow.ArrowReader;
+import org.apache.fluss.row.arrow.vectors.ArrowBigIntColumnVector;
+import org.apache.fluss.row.arrow.vectors.ArrowBinaryColumnVector;
+import org.apache.fluss.row.arrow.vectors.ArrowBooleanColumnVector;
+import org.apache.fluss.row.arrow.vectors.ArrowDateColumnVector;
+import org.apache.fluss.row.arrow.vectors.ArrowDecimalColumnVector;
+import org.apache.fluss.row.arrow.vectors.ArrowDoubleColumnVector;
+import org.apache.fluss.row.arrow.vectors.ArrowFloatColumnVector;
+import org.apache.fluss.row.arrow.vectors.ArrowIntColumnVector;
+import org.apache.fluss.row.arrow.vectors.ArrowSmallIntColumnVector;
+import org.apache.fluss.row.arrow.vectors.ArrowTimeColumnVector;
+import org.apache.fluss.row.arrow.vectors.ArrowTimestampLtzColumnVector;
+import org.apache.fluss.row.arrow.vectors.ArrowTimestampNtzColumnVector;
+import org.apache.fluss.row.arrow.vectors.ArrowTinyIntColumnVector;
+import org.apache.fluss.row.arrow.vectors.ArrowVarBinaryColumnVector;
+import org.apache.fluss.row.arrow.vectors.ArrowVarCharColumnVector;
+import org.apache.fluss.row.arrow.writers.ArrowBigIntWriter;
+import org.apache.fluss.row.arrow.writers.ArrowBinaryWriter;
+import org.apache.fluss.row.arrow.writers.ArrowBooleanWriter;
+import org.apache.fluss.row.arrow.writers.ArrowDateWriter;
+import org.apache.fluss.row.arrow.writers.ArrowDecimalWriter;
+import org.apache.fluss.row.arrow.writers.ArrowDoubleWriter;
+import org.apache.fluss.row.arrow.writers.ArrowFieldWriter;
+import org.apache.fluss.row.arrow.writers.ArrowFloatWriter;
+import org.apache.fluss.row.arrow.writers.ArrowIntWriter;
+import org.apache.fluss.row.arrow.writers.ArrowSmallIntWriter;
+import org.apache.fluss.row.arrow.writers.ArrowTimeWriter;
+import org.apache.fluss.row.arrow.writers.ArrowTimestampLtzWriter;
+import org.apache.fluss.row.arrow.writers.ArrowTimestampNtzWriter;
+import org.apache.fluss.row.arrow.writers.ArrowTinyIntWriter;
+import org.apache.fluss.row.arrow.writers.ArrowVarBinaryWriter;
+import org.apache.fluss.row.arrow.writers.ArrowVarCharWriter;
+import org.apache.fluss.row.columnar.ColumnVector;
 import org.apache.fluss.shaded.arrow.com.google.flatbuffers.FlatBufferBuilder;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.flatbuf.MessageHeader;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.flatbuf.RecordBatch;
@@ -120,6 +100,25 @@ import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.Field;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.FieldType;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.Schema;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.util.DataSizeRoundingUtil;
+import org.apache.fluss.types.BigIntType;
+import org.apache.fluss.types.BinaryType;
+import org.apache.fluss.types.BooleanType;
+import org.apache.fluss.types.BytesType;
+import org.apache.fluss.types.CharType;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.DataTypeDefaultVisitor;
+import org.apache.fluss.types.DateType;
+import org.apache.fluss.types.DecimalType;
+import org.apache.fluss.types.DoubleType;
+import org.apache.fluss.types.FloatType;
+import org.apache.fluss.types.IntType;
+import org.apache.fluss.types.LocalZonedTimestampType;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.types.SmallIntType;
+import org.apache.fluss.types.StringType;
+import org.apache.fluss.types.TimeType;
+import org.apache.fluss.types.TimestampType;
+import org.apache.fluss.types.TinyIntType;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -129,8 +128,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
-import static com.alibaba.fluss.utils.Preconditions.checkArgument;
 import static org.apache.fluss.shaded.arrow.org.apache.arrow.vector.ipc.message.MessageSerializer.deserializeRecordBatch;
+import static org.apache.fluss.utils.Preconditions.checkArgument;
 
 /** Utilities for Arrow. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/utils/BinaryStringUtils.java b/fluss-common/src/main/java/org/apache/fluss/utils/BinaryStringUtils.java
index 70967c362..6275182c4 100644
--- a/fluss-common/src/main/java/org/apache/fluss/utils/BinaryStringUtils.java
+++ b/fluss-common/src/main/java/org/apache/fluss/utils/BinaryStringUtils.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.utils;
+package org.apache.fluss.utils;
 
-import com.alibaba.fluss.row.BinaryString;
-import com.alibaba.fluss.row.TimestampLtz;
-import com.alibaba.fluss.row.TimestampNtz;
+import org.apache.fluss.row.BinaryString;
+import org.apache.fluss.row.TimestampLtz;
+import org.apache.fluss.row.TimestampNtz;
 
 import java.time.DateTimeException;
 import java.util.List;
diff --git a/fluss-common/src/main/java/org/apache/fluss/utils/DateTimeUtils.java b/fluss-common/src/main/java/org/apache/fluss/utils/DateTimeUtils.java
index bf27a06d3..9106993ea 100644
--- a/fluss-common/src/main/java/org/apache/fluss/utils/DateTimeUtils.java
+++ b/fluss-common/src/main/java/org/apache/fluss/utils/DateTimeUtils.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.utils;
+package org.apache.fluss.utils;
 
-import com.alibaba.fluss.row.TimestampLtz;
-import com.alibaba.fluss.row.TimestampNtz;
+import org.apache.fluss.row.TimestampLtz;
+import org.apache.fluss.row.TimestampNtz;
 
 import java.time.DateTimeException;
 import java.time.LocalDate;
diff --git a/fluss-common/src/main/java/org/apache/fluss/utils/NetUtils.java b/fluss-common/src/main/java/org/apache/fluss/utils/NetUtils.java
index 204b3a92c..dd9f28e0c 100644
--- a/fluss-common/src/main/java/org/apache/fluss/utils/NetUtils.java
+++ b/fluss-common/src/main/java/org/apache/fluss/utils/NetUtils.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.utils;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.exception.IllegalConfigurationException;
+package org.apache.fluss.utils;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.exception.IllegalConfigurationException;
 import org.apache.fluss.shaded.guava32.com.google.common.net.InetAddresses;
 
 import java.io.IOException;
@@ -31,9 +30,9 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.Iterator;
 
-import static com.alibaba.fluss.utils.Preconditions.checkArgument;
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
-import static com.alibaba.fluss.utils.Preconditions.checkState;
+import static org.apache.fluss.utils.Preconditions.checkArgument;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkState;
 
 /* This file is based on source code of Apache Flink Project (https://flink.apache.org/), licensed by the Apache
  * Software Foundation (ASF) under the Apache License, Version 2.0. See the NOTICE file distributed with this work for
diff --git a/fluss-common/src/main/java/org/apache/fluss/utils/json/BucketOffsetJsonSerde.java b/fluss-common/src/main/java/org/apache/fluss/utils/json/BucketOffsetJsonSerde.java
index 6a1bb1ebe..f57b2763a 100644
--- a/fluss-common/src/main/java/org/apache/fluss/utils/json/BucketOffsetJsonSerde.java
+++ b/fluss-common/src/main/java/org/apache/fluss/utils/json/BucketOffsetJsonSerde.java
@@ -15,10 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.utils.json;
-
-import com.alibaba.fluss.lake.committer.BucketOffset;
+package org.apache.fluss.utils.json;
 
+import org.apache.fluss.lake.committer.BucketOffset;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.JsonNode;
 
diff --git a/fluss-common/src/main/java/org/apache/fluss/utils/json/ColumnJsonSerde.java b/fluss-common/src/main/java/org/apache/fluss/utils/json/ColumnJsonSerde.java
index 7df77be2f..1994ba61a 100644
--- a/fluss-common/src/main/java/org/apache/fluss/utils/json/ColumnJsonSerde.java
+++ b/fluss-common/src/main/java/org/apache/fluss/utils/json/ColumnJsonSerde.java
@@ -15,14 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.utils.json;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.metadata.Schema;
-import com.alibaba.fluss.types.DataType;
+package org.apache.fluss.utils.json;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.metadata.Schema;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.JsonNode;
+import org.apache.fluss.types.DataType;
 
 import java.io.IOException;
 
diff --git a/fluss-common/src/main/java/org/apache/fluss/utils/json/DataTypeJsonSerde.java b/fluss-common/src/main/java/org/apache/fluss/utils/json/DataTypeJsonSerde.java
index 944e991fd..9bcd3262b 100644
--- a/fluss-common/src/main/java/org/apache/fluss/utils/json/DataTypeJsonSerde.java
+++ b/fluss-common/src/main/java/org/apache/fluss/utils/json/DataTypeJsonSerde.java
@@ -15,31 +15,30 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.utils.json;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.metadata.TableException;
-import com.alibaba.fluss.types.ArrayType;
-import com.alibaba.fluss.types.DataField;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.DataTypeRoot;
-import com.alibaba.fluss.types.DataTypes;
-import com.alibaba.fluss.types.DecimalType;
-import com.alibaba.fluss.types.LocalZonedTimestampType;
-import com.alibaba.fluss.types.MapType;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.types.TimeType;
-import com.alibaba.fluss.types.TimestampType;
+package org.apache.fluss.utils.json;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.metadata.TableException;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.JsonNode;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.node.ArrayNode;
+import org.apache.fluss.types.ArrayType;
+import org.apache.fluss.types.DataField;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.DataTypeRoot;
+import org.apache.fluss.types.DataTypes;
+import org.apache.fluss.types.DecimalType;
+import org.apache.fluss.types.LocalZonedTimestampType;
+import org.apache.fluss.types.MapType;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.types.TimeType;
+import org.apache.fluss.types.TimestampType;
 
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-import static com.alibaba.fluss.types.DataTypeChecks.getLength;
+import static org.apache.fluss.types.DataTypeChecks.getLength;
 
 /** Json serializer and deserializer for {@link DataType}. */
 @Internal
diff --git a/fluss-common/src/main/java/org/apache/fluss/utils/json/DatabaseDescriptorJsonSerde.java b/fluss-common/src/main/java/org/apache/fluss/utils/json/DatabaseDescriptorJsonSerde.java
index 2231b319e..06aa79c9a 100644
--- a/fluss-common/src/main/java/org/apache/fluss/utils/json/DatabaseDescriptorJsonSerde.java
+++ b/fluss-common/src/main/java/org/apache/fluss/utils/json/DatabaseDescriptorJsonSerde.java
@@ -15,10 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.utils.json;
-
-import com.alibaba.fluss.metadata.DatabaseDescriptor;
+package org.apache.fluss.utils.json;
 
+import org.apache.fluss.metadata.DatabaseDescriptor;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.JsonNode;
 
diff --git a/fluss-common/src/main/java/org/apache/fluss/utils/json/JsonSerdeUtils.java b/fluss-common/src/main/java/org/apache/fluss/utils/json/JsonSerdeUtils.java
index 0ea5b6232..b6e0794be 100644
--- a/fluss-common/src/main/java/org/apache/fluss/utils/json/JsonSerdeUtils.java
+++ b/fluss-common/src/main/java/org/apache/fluss/utils/json/JsonSerdeUtils.java
@@ -15,10 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.utils.json;
-
-import com.alibaba.fluss.annotation.Internal;
+package org.apache.fluss.utils.json;
 
+import org.apache.fluss.annotation.Internal;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.core.JsonEncoding;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.core.util.ByteArrayBuilder;
diff --git a/fluss-common/src/main/java/org/apache/fluss/utils/json/SchemaJsonSerde.java b/fluss-common/src/main/java/org/apache/fluss/utils/json/SchemaJsonSerde.java
index c9575ea31..a4e5fd8ad 100644
--- a/fluss-common/src/main/java/org/apache/fluss/utils/json/SchemaJsonSerde.java
+++ b/fluss-common/src/main/java/org/apache/fluss/utils/json/SchemaJsonSerde.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.utils.json;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.metadata.Schema;
+package org.apache.fluss.utils.json;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.metadata.Schema;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.JsonNode;
 
diff --git a/fluss-common/src/main/java/org/apache/fluss/utils/json/TableDescriptorJsonSerde.java b/fluss-common/src/main/java/org/apache/fluss/utils/json/TableDescriptorJsonSerde.java
index 55408b394..694519607 100644
--- a/fluss-common/src/main/java/org/apache/fluss/utils/json/TableDescriptorJsonSerde.java
+++ b/fluss-common/src/main/java/org/apache/fluss/utils/json/TableDescriptorJsonSerde.java
@@ -15,12 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.utils.json;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.metadata.Schema;
-import com.alibaba.fluss.metadata.TableDescriptor;
+package org.apache.fluss.utils.json;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.metadata.Schema;
+import org.apache.fluss.metadata.TableDescriptor;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.JsonNode;
 
diff --git a/fluss-common/src/main/java/org/apache/fluss/utils/json/TablePartitionJsonSerde.java b/fluss-common/src/main/java/org/apache/fluss/utils/json/TablePartitionJsonSerde.java
index 8c9560ed0..8cf17ce70 100644
--- a/fluss-common/src/main/java/org/apache/fluss/utils/json/TablePartitionJsonSerde.java
+++ b/fluss-common/src/main/java/org/apache/fluss/utils/json/TablePartitionJsonSerde.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.utils.json;
-
-import com.alibaba.fluss.annotation.Internal;
-import com.alibaba.fluss.metadata.TablePartition;
+package org.apache.fluss.utils.json;
 
+import org.apache.fluss.annotation.Internal;
+import org.apache.fluss.metadata.TablePartition;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.JsonNode;
 
diff --git a/fluss-common/src/main/java/org/apache/fluss/utils/types/Either.java b/fluss-common/src/main/java/org/apache/fluss/utils/types/Either.java
index 801401d33..39f1c5260 100644
--- a/fluss-common/src/main/java/org/apache/fluss/utils/types/Either.java
+++ b/fluss-common/src/main/java/org/apache/fluss/utils/types/Either.java
@@ -60,12 +60,16 @@ public abstract class Either<L, R> {
      */
     public abstract R right() throws IllegalStateException;
 
-    /** @return true if this is a Left value, false if this is a Right value */
+    /**
+     * @return true if this is a Left value, false if this is a Right value
+     */
     public final boolean isLeft() {
         return getClass() == Left.class;
     }
 
-    /** @return true if this is a Right value, false if this is a Left value */
+    /**
+     * @return true if this is a Right value, false if this is a Left value
+     */
     public final boolean isRight() {
         return getClass() == Right.class;
     }
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 96%
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
index 278136aa5..77f6b1b75 100644
--- a/fluss-common/src/test/java/com/alibaba/fluss/bucketing/IcebergBucketingFunctionTest.java
+++ b/fluss-common/src/test/java/org/apache/fluss/bucketing/IcebergBucketingFunctionTest.java
@@ -15,16 +15,16 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.bucketing;
-
-import com.alibaba.fluss.row.BinaryString;
-import com.alibaba.fluss.row.Decimal;
-import com.alibaba.fluss.row.GenericRow;
-import com.alibaba.fluss.row.TimestampNtz;
-import com.alibaba.fluss.row.encode.iceberg.IcebergKeyEncoder;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.DataTypes;
-import com.alibaba.fluss.types.RowType;
+package org.apache.fluss.bucketing;
+
+import org.apache.fluss.row.BinaryString;
+import org.apache.fluss.row.Decimal;
+import org.apache.fluss.row.GenericRow;
+import org.apache.fluss.row.TimestampNtz;
+import org.apache.fluss.row.encode.iceberg.IcebergKeyEncoder;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.DataTypes;
+import org.apache.fluss.types.RowType;
 
 import org.apache.iceberg.transforms.Transform;
 import org.apache.iceberg.transforms.Transforms;
diff --git a/fluss-common/src/test/java/org/apache/fluss/cluster/ClusterTest.java b/fluss-common/src/test/java/org/apache/fluss/cluster/ClusterTest.java
index 495754f2b..ff810c3dc 100644
--- a/fluss-common/src/test/java/org/apache/fluss/cluster/ClusterTest.java
+++ b/fluss-common/src/test/java/org/apache/fluss/cluster/ClusterTest.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.cluster;
+package org.apache.fluss.cluster;
 
-import com.alibaba.fluss.metadata.PhysicalTablePath;
-import com.alibaba.fluss.metadata.SchemaInfo;
-import com.alibaba.fluss.metadata.TableInfo;
-import com.alibaba.fluss.metadata.TablePath;
+import org.apache.fluss.metadata.PhysicalTablePath;
+import org.apache.fluss.metadata.SchemaInfo;
+import org.apache.fluss.metadata.TableInfo;
+import org.apache.fluss.metadata.TablePath;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -31,15 +31,15 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import static com.alibaba.fluss.record.TestData.DATA1_PHYSICAL_TABLE_PATH;
-import static com.alibaba.fluss.record.TestData.DATA1_SCHEMA;
-import static com.alibaba.fluss.record.TestData.DATA1_TABLE_ID;
-import static com.alibaba.fluss.record.TestData.DATA1_TABLE_INFO;
-import static com.alibaba.fluss.record.TestData.DATA1_TABLE_PATH;
-import static com.alibaba.fluss.record.TestData.DATA2_SCHEMA;
-import static com.alibaba.fluss.record.TestData.DATA2_TABLE_ID;
-import static com.alibaba.fluss.record.TestData.DATA2_TABLE_INFO;
-import static com.alibaba.fluss.record.TestData.DATA2_TABLE_PATH;
+import static org.apache.fluss.record.TestData.DATA1_PHYSICAL_TABLE_PATH;
+import static org.apache.fluss.record.TestData.DATA1_SCHEMA;
+import static org.apache.fluss.record.TestData.DATA1_TABLE_ID;
+import static org.apache.fluss.record.TestData.DATA1_TABLE_INFO;
+import static org.apache.fluss.record.TestData.DATA1_TABLE_PATH;
+import static org.apache.fluss.record.TestData.DATA2_SCHEMA;
+import static org.apache.fluss.record.TestData.DATA2_TABLE_ID;
+import static org.apache.fluss.record.TestData.DATA2_TABLE_INFO;
+import static org.apache.fluss.record.TestData.DATA2_TABLE_PATH;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
diff --git a/fluss-common/src/test/java/org/apache/fluss/compression/ArrowCompressionCodecTest.java b/fluss-common/src/test/java/org/apache/fluss/compression/ArrowCompressionCodecTest.java
index 57ec03436..22103031b 100644
--- a/fluss-common/src/test/java/org/apache/fluss/compression/ArrowCompressionCodecTest.java
+++ b/fluss-common/src/test/java/org/apache/fluss/compression/ArrowCompressionCodecTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.compression;
+package org.apache.fluss.compression;
 
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.ArrowBuf;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator;
@@ -34,6 +34,7 @@ import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.ipc.message.ArrowFi
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.ArrowType;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.Field;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.Schema;
+
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.params.ParameterizedTest;
diff --git a/fluss-common/src/test/java/org/apache/fluss/lake/lakestorage/LakeStorageTest.java b/fluss-common/src/test/java/org/apache/fluss/lake/lakestorage/LakeStorageTest.java
index 304f05e17..f0452812b 100644
--- a/fluss-common/src/test/java/org/apache/fluss/lake/lakestorage/LakeStorageTest.java
+++ b/fluss-common/src/test/java/org/apache/fluss/lake/lakestorage/LakeStorageTest.java
@@ -15,15 +15,15 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.lakestorage;
-
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.exception.TableAlreadyExistException;
-import com.alibaba.fluss.lake.source.LakeSource;
-import com.alibaba.fluss.lake.writer.LakeTieringFactory;
-import com.alibaba.fluss.metadata.TableDescriptor;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.plugin.PluginManager;
+package org.apache.fluss.lake.lakestorage;
+
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.exception.TableAlreadyExistException;
+import org.apache.fluss.lake.source.LakeSource;
+import org.apache.fluss.lake.writer.LakeTieringFactory;
+import org.apache.fluss.metadata.TableDescriptor;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.plugin.PluginManager;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/fluss-common/src/test/java/org/apache/fluss/plugin/DefaultPluginManagerTest.java b/fluss-common/src/test/java/org/apache/fluss/plugin/DefaultPluginManagerTest.java
index 1abaeefb7..f4fe1bf61 100644
--- a/fluss-common/src/test/java/org/apache/fluss/plugin/DefaultPluginManagerTest.java
+++ b/fluss-common/src/test/java/org/apache/fluss/plugin/DefaultPluginManagerTest.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.plugin;
-
-import com.alibaba.fluss.plugin.jar.pluginb.TestServiceB;
+package org.apache.fluss.plugin;
 
+import org.apache.fluss.plugin.jar.pluginb.TestServiceB;
 import org.apache.fluss.shaded.guava32.com.google.common.collect.Lists;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.io.TempDir;
@@ -35,7 +35,7 @@ import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import static com.alibaba.fluss.utils.Preconditions.checkState;
+import static org.apache.fluss.utils.Preconditions.checkState;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /** Test for {@link DefaultPluginManager}. */
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 95%
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
index a47275bc6..600d72be9 100644
--- a/fluss-common/src/test/java/com/alibaba/fluss/predicate/PredicateBuilderTest.java
+++ b/fluss-common/src/test/java/org/apache/fluss/predicate/PredicateBuilderTest.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.types.IntType;
-import com.alibaba.fluss.types.RowType;
+import org.apache.fluss.types.IntType;
+import org.apache.fluss.types.RowType;
 
 import org.junit.jupiter.api.Test;
 
@@ -26,7 +26,7 @@ import javax.annotation.Nullable;
 
 import java.util.Arrays;
 
-import static com.alibaba.fluss.testutils.DataTestUtils.row;
+import static org.apache.fluss.testutils.DataTestUtils.row;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /** Tests for {@link PredicateBuilder}. */
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 98%
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
index f5e1e30aa..5899a4425 100644
--- a/fluss-common/src/test/java/com/alibaba/fluss/predicate/PredicateTest.java
+++ b/fluss-common/src/test/java/org/apache/fluss/predicate/PredicateTest.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.predicate;
 
-import com.alibaba.fluss.row.GenericRow;
-import com.alibaba.fluss.types.IntType;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.types.StringType;
+import org.apache.fluss.row.GenericRow;
+import org.apache.fluss.types.IntType;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.types.StringType;
 
 import org.junit.jupiter.api.Test;
 
@@ -28,9 +28,9 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-import static com.alibaba.fluss.predicate.PredicateBuilderTest.test;
-import static com.alibaba.fluss.row.BinaryString.fromString;
-import static com.alibaba.fluss.testutils.DataTestUtils.row;
+import static org.apache.fluss.predicate.PredicateBuilderTest.test;
+import static org.apache.fluss.row.BinaryString.fromString;
+import static org.apache.fluss.testutils.DataTestUtils.row;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /** Test for {@link Predicate}s. */
diff --git a/fluss-common/src/test/java/org/apache/fluss/record/FileLogRecordsTest.java b/fluss-common/src/test/java/org/apache/fluss/record/FileLogRecordsTest.java
index 80551c863..b20505c48 100644
--- a/fluss-common/src/test/java/org/apache/fluss/record/FileLogRecordsTest.java
+++ b/fluss-common/src/test/java/org/apache/fluss/record/FileLogRecordsTest.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.record;
+package org.apache.fluss.record;
 
-import com.alibaba.fluss.exception.FlussRuntimeException;
+import org.apache.fluss.exception.FlussRuntimeException;
 
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
@@ -36,13 +36,13 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
 
-import static com.alibaba.fluss.record.TestData.DATA1;
-import static com.alibaba.fluss.record.TestData.DATA1_ROW_TYPE;
-import static com.alibaba.fluss.testutils.DataTestUtils.assertLogRecordBatchEquals;
-import static com.alibaba.fluss.testutils.DataTestUtils.assertLogRecordsEquals;
-import static com.alibaba.fluss.testutils.DataTestUtils.genLogRecordsWithBaseOffsetAndTimestamp;
-import static com.alibaba.fluss.testutils.DataTestUtils.genMemoryLogRecordsWithBaseOffset;
+import static org.apache.fluss.record.TestData.DATA1;
+import static org.apache.fluss.record.TestData.DATA1_ROW_TYPE;
 import static org.apache.fluss.shaded.guava32.com.google.common.collect.Lists.newArrayList;
+import static org.apache.fluss.testutils.DataTestUtils.assertLogRecordBatchEquals;
+import static org.apache.fluss.testutils.DataTestUtils.assertLogRecordsEquals;
+import static org.apache.fluss.testutils.DataTestUtils.genLogRecordsWithBaseOffsetAndTimestamp;
+import static org.apache.fluss.testutils.DataTestUtils.genMemoryLogRecordsWithBaseOffset;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.mockito.ArgumentMatchers.anyLong;
diff --git a/fluss-common/src/test/java/org/apache/fluss/record/MemoryLogRecordsArrowBuilderTest.java b/fluss-common/src/test/java/org/apache/fluss/record/MemoryLogRecordsArrowBuilderTest.java
index 575afad0f..7759e711e 100644
--- a/fluss-common/src/test/java/org/apache/fluss/record/MemoryLogRecordsArrowBuilderTest.java
+++ b/fluss-common/src/test/java/org/apache/fluss/record/MemoryLogRecordsArrowBuilderTest.java
@@ -15,25 +15,25 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.record;
+package org.apache.fluss.record;
 
-import com.alibaba.fluss.compression.ArrowCompressionInfo;
-import com.alibaba.fluss.compression.ArrowCompressionType;
-import com.alibaba.fluss.config.ConfigOptions;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.config.MemorySize;
-import com.alibaba.fluss.memory.ManagedPagedOutputView;
-import com.alibaba.fluss.memory.TestingMemorySegmentPool;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.arrow.ArrowWriter;
-import com.alibaba.fluss.row.arrow.ArrowWriterPool;
-import com.alibaba.fluss.testutils.DataTestUtils;
-import com.alibaba.fluss.utils.CloseableIterator;
+import org.apache.fluss.compression.ArrowCompressionInfo;
+import org.apache.fluss.compression.ArrowCompressionType;
+import org.apache.fluss.config.ConfigOptions;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.config.MemorySize;
+import org.apache.fluss.memory.ManagedPagedOutputView;
+import org.apache.fluss.memory.TestingMemorySegmentPool;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.row.arrow.ArrowWriter;
+import org.apache.fluss.row.arrow.ArrowWriterPool;
+import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator;
+import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.RootAllocator;
+import org.apache.fluss.testutils.DataTestUtils;
+import org.apache.fluss.utils.CloseableIterator;
 
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator;
-import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.RootAllocator;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -47,14 +47,14 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.stream.Collectors;
 
-import static com.alibaba.fluss.compression.ArrowCompressionInfo.DEFAULT_COMPRESSION;
-import static com.alibaba.fluss.compression.ArrowCompressionInfo.NO_COMPRESSION;
-import static com.alibaba.fluss.record.TestData.DATA1;
-import static com.alibaba.fluss.record.TestData.DATA1_ROW_TYPE;
-import static com.alibaba.fluss.record.TestData.DEFAULT_SCHEMA_ID;
-import static com.alibaba.fluss.row.arrow.ArrowWriter.BUFFER_USAGE_RATIO;
-import static com.alibaba.fluss.testutils.DataTestUtils.assertLogRecordsEquals;
-import static com.alibaba.fluss.testutils.DataTestUtils.row;
+import static org.apache.fluss.compression.ArrowCompressionInfo.DEFAULT_COMPRESSION;
+import static org.apache.fluss.compression.ArrowCompressionInfo.NO_COMPRESSION;
+import static org.apache.fluss.record.TestData.DATA1;
+import static org.apache.fluss.record.TestData.DATA1_ROW_TYPE;
+import static org.apache.fluss.record.TestData.DEFAULT_SCHEMA_ID;
+import static org.apache.fluss.row.arrow.ArrowWriter.BUFFER_USAGE_RATIO;
+import static org.apache.fluss.testutils.DataTestUtils.assertLogRecordsEquals;
+import static org.apache.fluss.testutils.DataTestUtils.row;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
diff --git a/fluss-common/src/test/java/org/apache/fluss/record/send/SendWritableOutputTest.java b/fluss-common/src/test/java/org/apache/fluss/record/send/SendWritableOutputTest.java
index ea1f8a15c..e981471cd 100644
--- a/fluss-common/src/test/java/org/apache/fluss/record/send/SendWritableOutputTest.java
+++ b/fluss-common/src/test/java/org/apache/fluss/record/send/SendWritableOutputTest.java
@@ -15,16 +15,16 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.record.send;
-
-import com.alibaba.fluss.memory.MemorySegment;
-import com.alibaba.fluss.record.bytesview.FileRegionBytesView;
-import com.alibaba.fluss.record.bytesview.MemorySegmentBytesView;
-import com.alibaba.fluss.record.bytesview.MultiBytesView;
-import com.alibaba.fluss.row.BinaryString;
+package org.apache.fluss.record.send;
 
+import org.apache.fluss.memory.MemorySegment;
+import org.apache.fluss.record.bytesview.FileRegionBytesView;
+import org.apache.fluss.record.bytesview.MemorySegmentBytesView;
+import org.apache.fluss.record.bytesview.MultiBytesView;
+import org.apache.fluss.row.BinaryString;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.ByteBuf;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.Unpooled;
+
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.io.TempDir;
 
@@ -34,9 +34,9 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.StandardOpenOption;
 
-import static com.alibaba.fluss.testutils.ByteBufChannel.toByteBuf;
-import static com.alibaba.fluss.utils.ProtoCodecUtils.readFixedInt32;
-import static com.alibaba.fluss.utils.ProtoCodecUtils.readFixedInt64;
+import static org.apache.fluss.testutils.ByteBufChannel.toByteBuf;
+import static org.apache.fluss.utils.ProtoCodecUtils.readFixedInt32;
+import static org.apache.fluss.utils.ProtoCodecUtils.readFixedInt64;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /** Tests for {@link SendWritableOutput}. */
diff --git a/fluss-common/src/test/java/org/apache/fluss/row/arrow/ArrowReaderWriterTest.java b/fluss-common/src/test/java/org/apache/fluss/row/arrow/ArrowReaderWriterTest.java
index 9ba6f518f..cedaadcbd 100644
--- a/fluss-common/src/test/java/org/apache/fluss/row/arrow/ArrowReaderWriterTest.java
+++ b/fluss-common/src/test/java/org/apache/fluss/row/arrow/ArrowReaderWriterTest.java
@@ -15,40 +15,40 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow;
-
-import com.alibaba.fluss.memory.AbstractPagedOutputView;
-import com.alibaba.fluss.memory.ManagedPagedOutputView;
-import com.alibaba.fluss.memory.MemorySegment;
-import com.alibaba.fluss.memory.TestingMemorySegmentPool;
-import com.alibaba.fluss.row.BinaryString;
-import com.alibaba.fluss.row.Decimal;
-import com.alibaba.fluss.row.GenericRow;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.TimestampLtz;
-import com.alibaba.fluss.row.TimestampNtz;
-import com.alibaba.fluss.row.columnar.ColumnarRow;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.DataTypes;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.utils.ArrowUtils;
-
+package org.apache.fluss.row.arrow;
+
+import org.apache.fluss.memory.AbstractPagedOutputView;
+import org.apache.fluss.memory.ManagedPagedOutputView;
+import org.apache.fluss.memory.MemorySegment;
+import org.apache.fluss.memory.TestingMemorySegmentPool;
+import org.apache.fluss.row.BinaryString;
+import org.apache.fluss.row.Decimal;
+import org.apache.fluss.row.GenericRow;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.row.TimestampLtz;
+import org.apache.fluss.row.TimestampNtz;
+import org.apache.fluss.row.columnar.ColumnarRow;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.RootAllocator;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.VectorSchemaRoot;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.DataTypes;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.utils.ArrowUtils;
+
 import org.junit.jupiter.api.Test;
 
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.List;
 
-import static com.alibaba.fluss.compression.ArrowCompressionInfo.DEFAULT_COMPRESSION;
-import static com.alibaba.fluss.compression.ArrowCompressionInfo.NO_COMPRESSION;
-import static com.alibaba.fluss.record.DefaultLogRecordBatch.ARROW_CHANGETYPE_OFFSET;
-import static com.alibaba.fluss.record.TestData.DATA1;
-import static com.alibaba.fluss.record.TestData.DATA1_ROW_TYPE;
-import static com.alibaba.fluss.testutils.DataTestUtils.row;
-import static com.alibaba.fluss.testutils.InternalRowAssert.assertThatRow;
+import static org.apache.fluss.compression.ArrowCompressionInfo.DEFAULT_COMPRESSION;
+import static org.apache.fluss.compression.ArrowCompressionInfo.NO_COMPRESSION;
+import static org.apache.fluss.record.DefaultLogRecordBatch.ARROW_CHANGETYPE_OFFSET;
+import static org.apache.fluss.record.TestData.DATA1;
+import static org.apache.fluss.record.TestData.DATA1_ROW_TYPE;
+import static org.apache.fluss.testutils.DataTestUtils.row;
+import static org.apache.fluss.testutils.InternalRowAssert.assertThatRow;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
diff --git a/fluss-common/src/test/java/org/apache/fluss/row/arrow/ArrowWriterPoolTest.java b/fluss-common/src/test/java/org/apache/fluss/row/arrow/ArrowWriterPoolTest.java
index 815df5562..b5ef58c20 100644
--- a/fluss-common/src/test/java/org/apache/fluss/row/arrow/ArrowWriterPoolTest.java
+++ b/fluss-common/src/test/java/org/apache/fluss/row/arrow/ArrowWriterPoolTest.java
@@ -15,10 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.arrow;
+package org.apache.fluss.row.arrow;
 
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.RootAllocator;
+
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -26,9 +27,9 @@ import org.junit.jupiter.api.Test;
 import java.util.Deque;
 import java.util.Map;
 
-import static com.alibaba.fluss.compression.ArrowCompressionInfo.DEFAULT_COMPRESSION;
-import static com.alibaba.fluss.record.TestData.DATA1_ROW_TYPE;
-import static com.alibaba.fluss.row.arrow.ArrowWriter.BUFFER_USAGE_RATIO;
+import static org.apache.fluss.compression.ArrowCompressionInfo.DEFAULT_COMPRESSION;
+import static org.apache.fluss.record.TestData.DATA1_ROW_TYPE;
+import static org.apache.fluss.row.arrow.ArrowWriter.BUFFER_USAGE_RATIO;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /** Test for {@link ArrowWriterPool}. */
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 98%
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
index 8d2109301..f7d39498f 100644
--- 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
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.encode.iceberg;
+package org.apache.fluss.row.encode.iceberg;
 
-import com.alibaba.fluss.row.BinaryString;
-import com.alibaba.fluss.row.Decimal;
+import org.apache.fluss.row.BinaryString;
+import org.apache.fluss.row.Decimal;
 
 import org.junit.jupiter.api.Test;
 
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 96%
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
index 14f0cf1b6..e7059f296 100644
--- 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
@@ -15,15 +15,15 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.row.encode.iceberg;
-
-import com.alibaba.fluss.row.BinaryString;
-import com.alibaba.fluss.row.Decimal;
-import com.alibaba.fluss.row.GenericRow;
-import com.alibaba.fluss.row.TimestampNtz;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.DataTypes;
-import com.alibaba.fluss.types.RowType;
+package org.apache.fluss.row.encode.iceberg;
+
+import org.apache.fluss.row.BinaryString;
+import org.apache.fluss.row.Decimal;
+import org.apache.fluss.row.GenericRow;
+import org.apache.fluss.row.TimestampNtz;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.DataTypes;
+import org.apache.fluss.types.RowType;
 
 import org.apache.iceberg.types.Conversions;
 import org.apache.iceberg.types.Types;
diff --git a/fluss-common/src/test/java/org/apache/fluss/security/auth/AuthenticationFactoryTest.java b/fluss-common/src/test/java/org/apache/fluss/security/auth/AuthenticationFactoryTest.java
index 3bf5c57f9..c71edeca0 100644
--- a/fluss-common/src/test/java/org/apache/fluss/security/auth/AuthenticationFactoryTest.java
+++ b/fluss-common/src/test/java/org/apache/fluss/security/auth/AuthenticationFactoryTest.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.security.auth;
+package org.apache.fluss.security.auth;
 
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.metadata.ValidationException;
-import com.alibaba.fluss.security.auth.TestIdentifierAuthenticationPlugin.TestIdentifierClientAuthenticator;
-import com.alibaba.fluss.security.auth.TestIdentifierAuthenticationPlugin.TestIdentifierServerAuthenticator;
-import com.alibaba.fluss.utils.ParentResourceBlockingClassLoader;
-import com.alibaba.fluss.utils.TemporaryClassLoaderContext;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.metadata.ValidationException;
+import org.apache.fluss.security.auth.TestIdentifierAuthenticationPlugin.TestIdentifierClientAuthenticator;
+import org.apache.fluss.security.auth.TestIdentifierAuthenticationPlugin.TestIdentifierServerAuthenticator;
+import org.apache.fluss.utils.ParentResourceBlockingClassLoader;
+import org.apache.fluss.utils.TemporaryClassLoaderContext;
 
 import org.junit.jupiter.api.Test;
 
@@ -42,8 +42,8 @@ public class AuthenticationFactoryTest {
         String errorMsg =
                 "Multiple plugins for the same protocol 'conflicting' are found in the classpath.\n\n"
                         + "Available plugins are:\n\n"
-                        + "com.alibaba.fluss.security.auth.TestConflictingAuthenticationPlugin1\n"
-                        + "com.alibaba.fluss.security.auth.TestConflictingAuthenticationPlugin2";
+                        + "org.apache.fluss.security.auth.TestConflictingAuthenticationPlugin1\n"
+                        + "org.apache.fluss.security.auth.TestConflictingAuthenticationPlugin2";
         assertThatThrownBy(
                         () -> AuthenticationFactory.loadClientAuthenticatorSupplier(configuration))
                 .isExactlyInstanceOf(ValidationException.class)
@@ -80,7 +80,8 @@ public class AuthenticationFactoryTest {
                 .isInstanceOf(TestIdentifierClientAuthenticator.class);
         assertThat(
                         AuthenticationFactory.loadServerAuthenticatorSuppliers(configuration)
-                                .values().stream()
+                                .values()
+                                .stream()
                                 .findAny()
                                 .get()
                                 .get())
@@ -93,7 +94,8 @@ public class AuthenticationFactoryTest {
                 .isInstanceOf(TestIdentifierClientAuthenticator.class);
         assertThat(
                         AuthenticationFactory.loadServerAuthenticatorSuppliers(configuration)
-                                .values().stream()
+                                .values()
+                                .stream()
                                 .findAny()
                                 .get()
                                 .get())
diff --git a/fluss-common/src/test/java/org/apache/fluss/testutils/ByteBufChannel.java b/fluss-common/src/test/java/org/apache/fluss/testutils/ByteBufChannel.java
index 51653b97b..230a1bbe3 100644
--- a/fluss-common/src/test/java/org/apache/fluss/testutils/ByteBufChannel.java
+++ b/fluss-common/src/test/java/org/apache/fluss/testutils/ByteBufChannel.java
@@ -15,10 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.testutils;
-
-import com.alibaba.fluss.record.send.Send;
+package org.apache.fluss.testutils;
 
+import org.apache.fluss.record.send.Send;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.ByteBuf;
 import org.apache.fluss.shaded.netty4.io.netty.channel.ChannelFuture;
 import org.apache.fluss.shaded.netty4.io.netty.channel.ChannelOutboundInvoker;
diff --git a/fluss-common/src/test/java/org/apache/fluss/testutils/DataTestUtils.java b/fluss-common/src/test/java/org/apache/fluss/testutils/DataTestUtils.java
index 0910e09bf..4f00fc14b 100644
--- a/fluss-common/src/test/java/org/apache/fluss/testutils/DataTestUtils.java
+++ b/fluss-common/src/test/java/org/apache/fluss/testutils/DataTestUtils.java
@@ -15,54 +15,53 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.testutils;
-
-import com.alibaba.fluss.compression.ArrowCompressionInfo;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.fs.FsPath;
-import com.alibaba.fluss.memory.ManagedPagedOutputView;
-import com.alibaba.fluss.memory.TestingMemorySegmentPool;
-import com.alibaba.fluss.memory.UnmanagedPagedOutputView;
-import com.alibaba.fluss.metadata.KvFormat;
-import com.alibaba.fluss.metadata.LogFormat;
-import com.alibaba.fluss.metadata.PhysicalTablePath;
-import com.alibaba.fluss.metadata.Schema;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.record.ChangeType;
-import com.alibaba.fluss.record.DefaultLogRecordBatch;
-import com.alibaba.fluss.record.FileLogRecords;
-import com.alibaba.fluss.record.KvRecord;
-import com.alibaba.fluss.record.KvRecordBatch;
-import com.alibaba.fluss.record.KvRecordTestUtils;
-import com.alibaba.fluss.record.LogRecord;
-import com.alibaba.fluss.record.LogRecordBatch;
-import com.alibaba.fluss.record.LogRecordReadContext;
-import com.alibaba.fluss.record.LogRecords;
-import com.alibaba.fluss.record.MemoryLogRecords;
-import com.alibaba.fluss.record.MemoryLogRecordsArrowBuilder;
-import com.alibaba.fluss.record.MemoryLogRecordsIndexedBuilder;
-import com.alibaba.fluss.remote.RemoteLogSegment;
-import com.alibaba.fluss.row.BinaryString;
-import com.alibaba.fluss.row.GenericRow;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.arrow.ArrowWriter;
-import com.alibaba.fluss.row.arrow.ArrowWriterPool;
-import com.alibaba.fluss.row.compacted.CompactedRow;
-import com.alibaba.fluss.row.encode.CompactedKeyEncoder;
-import com.alibaba.fluss.row.encode.CompactedRowEncoder;
-import com.alibaba.fluss.row.encode.RowEncoder;
-import com.alibaba.fluss.row.encode.ValueEncoder;
-import com.alibaba.fluss.row.indexed.IndexedRow;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.DataTypeRoot;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.utils.BytesUtils;
-import com.alibaba.fluss.utils.CloseableIterator;
-import com.alibaba.fluss.utils.FlussPaths;
-import com.alibaba.fluss.utils.types.Tuple2;
-
+package org.apache.fluss.testutils;
+
+import org.apache.fluss.compression.ArrowCompressionInfo;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.fs.FsPath;
+import org.apache.fluss.memory.ManagedPagedOutputView;
+import org.apache.fluss.memory.TestingMemorySegmentPool;
+import org.apache.fluss.memory.UnmanagedPagedOutputView;
+import org.apache.fluss.metadata.KvFormat;
+import org.apache.fluss.metadata.LogFormat;
+import org.apache.fluss.metadata.PhysicalTablePath;
+import org.apache.fluss.metadata.Schema;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.record.ChangeType;
+import org.apache.fluss.record.DefaultLogRecordBatch;
+import org.apache.fluss.record.FileLogRecords;
+import org.apache.fluss.record.KvRecord;
+import org.apache.fluss.record.KvRecordBatch;
+import org.apache.fluss.record.KvRecordTestUtils;
+import org.apache.fluss.record.LogRecord;
+import org.apache.fluss.record.LogRecordBatch;
+import org.apache.fluss.record.LogRecordReadContext;
+import org.apache.fluss.record.LogRecords;
+import org.apache.fluss.record.MemoryLogRecords;
+import org.apache.fluss.record.MemoryLogRecordsArrowBuilder;
+import org.apache.fluss.record.MemoryLogRecordsIndexedBuilder;
+import org.apache.fluss.remote.RemoteLogSegment;
+import org.apache.fluss.row.BinaryString;
+import org.apache.fluss.row.GenericRow;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.row.arrow.ArrowWriter;
+import org.apache.fluss.row.arrow.ArrowWriterPool;
+import org.apache.fluss.row.compacted.CompactedRow;
+import org.apache.fluss.row.encode.CompactedKeyEncoder;
+import org.apache.fluss.row.encode.CompactedRowEncoder;
+import org.apache.fluss.row.encode.RowEncoder;
+import org.apache.fluss.row.encode.ValueEncoder;
+import org.apache.fluss.row.indexed.IndexedRow;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.memory.RootAllocator;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.DataTypeRoot;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.utils.BytesUtils;
+import org.apache.fluss.utils.CloseableIterator;
+import org.apache.fluss.utils.FlussPaths;
+import org.apache.fluss.utils.types.Tuple2;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -70,21 +69,21 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.stream.Collectors;
 
-import static com.alibaba.fluss.compression.ArrowCompressionInfo.DEFAULT_COMPRESSION;
-import static com.alibaba.fluss.record.LogRecordBatch.NO_BATCH_SEQUENCE;
-import static com.alibaba.fluss.record.LogRecordBatch.NO_WRITER_ID;
-import static com.alibaba.fluss.record.LogRecordReadContext.createArrowReadContext;
-import static com.alibaba.fluss.record.TestData.BASE_OFFSET;
-import static com.alibaba.fluss.record.TestData.DATA1;
-import static com.alibaba.fluss.record.TestData.DATA1_KEY_TYPE;
-import static com.alibaba.fluss.record.TestData.DATA1_ROW_TYPE;
-import static com.alibaba.fluss.record.TestData.DATA1_SCHEMA_PK;
-import static com.alibaba.fluss.record.TestData.DEFAULT_MAGIC;
-import static com.alibaba.fluss.record.TestData.DEFAULT_SCHEMA_ID;
-import static com.alibaba.fluss.testutils.LogRecordBatchAssert.assertThatLogRecordBatch;
-import static com.alibaba.fluss.utils.FlussPaths.remoteLogDir;
-import static com.alibaba.fluss.utils.FlussPaths.remoteLogSegmentDir;
-import static com.alibaba.fluss.utils.FlussPaths.remoteLogTabletDir;
+import static org.apache.fluss.compression.ArrowCompressionInfo.DEFAULT_COMPRESSION;
+import static org.apache.fluss.record.LogRecordBatch.NO_BATCH_SEQUENCE;
+import static org.apache.fluss.record.LogRecordBatch.NO_WRITER_ID;
+import static org.apache.fluss.record.LogRecordReadContext.createArrowReadContext;
+import static org.apache.fluss.record.TestData.BASE_OFFSET;
+import static org.apache.fluss.record.TestData.DATA1;
+import static org.apache.fluss.record.TestData.DATA1_KEY_TYPE;
+import static org.apache.fluss.record.TestData.DATA1_ROW_TYPE;
+import static org.apache.fluss.record.TestData.DATA1_SCHEMA_PK;
+import static org.apache.fluss.record.TestData.DEFAULT_MAGIC;
+import static org.apache.fluss.record.TestData.DEFAULT_SCHEMA_ID;
+import static org.apache.fluss.testutils.LogRecordBatchAssert.assertThatLogRecordBatch;
+import static org.apache.fluss.utils.FlussPaths.remoteLogDir;
+import static org.apache.fluss.utils.FlussPaths.remoteLogSegmentDir;
+import static org.apache.fluss.utils.FlussPaths.remoteLogTabletDir;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /**
diff --git a/fluss-common/src/test/java/org/apache/fluss/utils/ArrowUtilsTest.java b/fluss-common/src/test/java/org/apache/fluss/utils/ArrowUtilsTest.java
index e90148574..91f3df1fe 100644
--- a/fluss-common/src/test/java/org/apache/fluss/utils/ArrowUtilsTest.java
+++ b/fluss-common/src/test/java/org/apache/fluss/utils/ArrowUtilsTest.java
@@ -15,15 +15,8 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.utils;
+package org.apache.fluss.utils;
 
-import com.alibaba.fluss.types.DataField;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.DataTypes;
-import com.alibaba.fluss.types.RowType;
-
-import org.apache.commons.lang3.RandomStringUtils;
-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;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.BigIntVector;
@@ -47,6 +40,13 @@ import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.ipc.message.ArrowRe
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.ipc.message.MessageSerializer;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.Schema;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.util.Text;
+import org.apache.fluss.types.DataField;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.DataTypes;
+import org.apache.fluss.types.RowType;
+
+import org.apache.commons.lang3.RandomStringUtils;
+import org.apache.commons.lang3.RandomUtils;
 import org.junit.jupiter.api.Test;
 
 import java.io.ByteArrayOutputStream;
@@ -59,7 +59,7 @@ import java.util.List;
 import static org.apache.fluss.shaded.arrow.org.apache.arrow.vector.compression.NoCompressionCodec.DEFAULT_BODY_COMPRESSION;
 import static org.assertj.core.api.Assertions.assertThat;
 
-/** Tests for {@link com.alibaba.fluss.utils.ArrowUtils}. */
+/** Tests for {@link org.apache.fluss.utils.ArrowUtils}. */
 class ArrowUtilsTest {
 
     private static final List<DataType> TYPES =
diff --git a/fluss-common/src/test/java/org/apache/fluss/utils/ParentResourceBlockingClassLoader.java b/fluss-common/src/test/java/org/apache/fluss/utils/ParentResourceBlockingClassLoader.java
index cd68ebde8..6904661dc 100644
--- a/fluss-common/src/test/java/org/apache/fluss/utils/ParentResourceBlockingClassLoader.java
+++ b/fluss-common/src/test/java/org/apache/fluss/utils/ParentResourceBlockingClassLoader.java
@@ -15,15 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.utils;
+package org.apache.fluss.utils;
 
 import java.io.IOException;
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.util.Enumeration;
 
-import static org.apache.logging.log4j.util.LoaderUtil.findResources;
-
 /**
  * A class loader that blocks resource loading from parent class loader. Designed to simulate SPI
  * loading behavior without delegation to parent.
diff --git a/fluss-common/src/test/java/org/apache/fluss/utils/ProtoCodecUtilsTest.java b/fluss-common/src/test/java/org/apache/fluss/utils/ProtoCodecUtilsTest.java
index 5e9a1d566..916ad9204 100644
--- a/fluss-common/src/test/java/org/apache/fluss/utils/ProtoCodecUtilsTest.java
+++ b/fluss-common/src/test/java/org/apache/fluss/utils/ProtoCodecUtilsTest.java
@@ -15,12 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.utils;
+package org.apache.fluss.utils;
 
-import com.google.protobuf.CodedInputStream;
-import com.google.protobuf.CodedOutputStream;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.ByteBuf;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.Unpooled;
+
+import com.google.protobuf.CodedInputStream;
+import com.google.protobuf.CodedOutputStream;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.ValueSource;
@@ -30,7 +31,7 @@ import java.util.Arrays;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-/** Tests for {@link com.alibaba.fluss.utils.ProtoCodecUtils}. */
+/** Tests for {@link org.apache.fluss.utils.ProtoCodecUtils}. */
 public class ProtoCodecUtilsTest {
 
     private final byte[] b = new byte[4096];
diff --git a/fluss-common/src/test/java/org/apache/fluss/utils/json/BucketOffsetJsonSerdeTest.java b/fluss-common/src/test/java/org/apache/fluss/utils/json/BucketOffsetJsonSerdeTest.java
index c1913bae2..57bffe895 100644
--- a/fluss-common/src/test/java/org/apache/fluss/utils/json/BucketOffsetJsonSerdeTest.java
+++ b/fluss-common/src/test/java/org/apache/fluss/utils/json/BucketOffsetJsonSerdeTest.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.utils.json;
+package org.apache.fluss.utils.json;
 
-import com.alibaba.fluss.lake.committer.BucketOffset;
+import org.apache.fluss.lake.committer.BucketOffset;
 
 /** Test for {@link BucketOffset}. */
 public class BucketOffsetJsonSerdeTest extends JsonSerdeTestBase<BucketOffset> {
diff --git a/fluss-common/src/test/java/org/apache/fluss/utils/json/JsonSerdeTestBase.java b/fluss-common/src/test/java/org/apache/fluss/utils/json/JsonSerdeTestBase.java
index a8233a61e..7dcf4e55d 100644
--- a/fluss-common/src/test/java/org/apache/fluss/utils/json/JsonSerdeTestBase.java
+++ b/fluss-common/src/test/java/org/apache/fluss/utils/json/JsonSerdeTestBase.java
@@ -15,9 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.utils.json;
+package org.apache.fluss.utils.json;
 
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.JsonNode;
+
 import org.junit.jupiter.api.Test;
 
 import java.io.IOException;
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 83d4f9a02..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.
-
-com.alibaba.fluss.fs.TestFileSystem$TestFileSystemPlugin
\ No newline at end of file
diff --git a/fluss-dist/pom.xml b/fluss-dist/pom.xml
index b56265329..032ba5452 100644
--- a/fluss-dist/pom.xml
+++ b/fluss-dist/pom.xml
@@ -69,7 +69,7 @@
         </dependency>
 
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-fs-obs</artifactId>
             <version>${project.version}</version>
             <scope>provided</scope>
@@ -98,14 +98,14 @@
         </dependency>
 
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-lake-iceberg</artifactId>
             <version>${project.version}</version>
             <scope>provided</scope>
         </dependency>
 
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-lake-lance</artifactId>
             <version>${project.version}</version>
             <scope>provided</scope>
diff --git a/fluss-filesystems/fluss-fs-gs/pom.xml b/fluss-filesystems/fluss-fs-gs/pom.xml
index 2d2e2a6c9..156977ebe 100644
--- a/fluss-filesystems/fluss-fs-gs/pom.xml
+++ b/fluss-filesystems/fluss-fs-gs/pom.xml
@@ -410,7 +410,7 @@
                                     </excludes>
                                 </filter>
                                 <filter>
-                                    <artifact>com.alibaba.fluss:fluss-fs-hadoop</artifact>
+                                    <artifact>org.apache.fluss:fluss-fs-hadoop</artifact>
                                     <excludes>
                                         <exclude>META-INF/**</exclude>
                                     </excludes>
diff --git a/fluss-filesystems/fluss-fs-gs/src/test/java/com/alibaba/fluss/fs/gs/AuthServerHandler.java b/fluss-filesystems/fluss-fs-gs/src/test/java/org/apache/fluss/fs/gs/AuthServerHandler.java
similarity index 98%
rename from fluss-filesystems/fluss-fs-gs/src/test/java/com/alibaba/fluss/fs/gs/AuthServerHandler.java
rename to fluss-filesystems/fluss-fs-gs/src/test/java/org/apache/fluss/fs/gs/AuthServerHandler.java
index a715c7345..5cc15528b 100644
--- a/fluss-filesystems/fluss-fs-gs/src/test/java/com/alibaba/fluss/fs/gs/AuthServerHandler.java
+++ b/fluss-filesystems/fluss-fs-gs/src/test/java/org/apache/fluss/fs/gs/AuthServerHandler.java
@@ -15,9 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.fs.gs;
-
-import com.alibaba.fluss.utils.IOUtils;
+package org.apache.fluss.fs.gs;
 
 import org.apache.fluss.shaded.netty4.io.netty.buffer.Unpooled;
 import org.apache.fluss.shaded.netty4.io.netty.channel.ChannelHandlerContext;
@@ -29,6 +27,7 @@ import org.apache.fluss.shaded.netty4.io.netty.handler.codec.http.HttpObject;
 import org.apache.fluss.shaded.netty4.io.netty.handler.codec.http.HttpRequest;
 import org.apache.fluss.shaded.netty4.io.netty.handler.codec.http.HttpResponseStatus;
 import org.apache.fluss.shaded.netty4.io.netty.util.AsciiString;
+import org.apache.fluss.utils.IOUtils;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
diff --git a/fluss-filesystems/fluss-fs-gs/src/test/java/com/alibaba/fluss/fs/gs/GSFileSystemBehaviorITCase.java b/fluss-filesystems/fluss-fs-gs/src/test/java/org/apache/fluss/fs/gs/GSFileSystemBehaviorITCase.java
similarity index 98%
rename from fluss-filesystems/fluss-fs-gs/src/test/java/com/alibaba/fluss/fs/gs/GSFileSystemBehaviorITCase.java
rename to fluss-filesystems/fluss-fs-gs/src/test/java/org/apache/fluss/fs/gs/GSFileSystemBehaviorITCase.java
index 58298c1fd..b1902c2bb 100644
--- a/fluss-filesystems/fluss-fs-gs/src/test/java/com/alibaba/fluss/fs/gs/GSFileSystemBehaviorITCase.java
+++ b/fluss-filesystems/fluss-fs-gs/src/test/java/org/apache/fluss/fs/gs/GSFileSystemBehaviorITCase.java
@@ -93,8 +93,7 @@ class GSFileSystemBehaviorITCase extends FileSystemBehaviorTestSuite {
             GoogleCloudStorageFileSystem googleCloudStorageFileSystem =
                     new GoogleCloudStorageFileSystem(
                             googleCloudStorageOptions -> inMemoryGoogleCloudStorage,
-                            GoogleCloudStorageFileSystemOptions.DEFAULT
-                                    .toBuilder()
+                            GoogleCloudStorageFileSystemOptions.DEFAULT.toBuilder()
                                     .setCloudStorageOptions(inMemoryGoogleCloudStorage.getOptions())
                                     .build());
 
diff --git a/fluss-filesystems/fluss-fs-gs/src/test/java/com/alibaba/fluss/fs/gs/MockAuthServer.java b/fluss-filesystems/fluss-fs-gs/src/test/java/org/apache/fluss/fs/gs/MockAuthServer.java
similarity index 100%
rename from fluss-filesystems/fluss-fs-gs/src/test/java/com/alibaba/fluss/fs/gs/MockAuthServer.java
rename to fluss-filesystems/fluss-fs-gs/src/test/java/org/apache/fluss/fs/gs/MockAuthServer.java
diff --git a/fluss-filesystems/fluss-fs-hadoop/pom.xml b/fluss-filesystems/fluss-fs-hadoop/pom.xml
index e6cb94712..bb06257f2 100644
--- a/fluss-filesystems/fluss-fs-hadoop/pom.xml
+++ b/fluss-filesystems/fluss-fs-hadoop/pom.xml
@@ -196,7 +196,7 @@
                             <relocations>
                                 <relocation>
                                     <pattern>org.apache.commons</pattern>
-                                    <shadedPattern>com.alibaba.fluss.shaded.org.apache.commons</shadedPattern>
+                                    <shadedPattern>org.apache.fluss.shaded.org.apache.commons</shadedPattern>
                                 </relocation>
                             </relocations>
                         </configuration>
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/pom.xml b/fluss-filesystems/fluss-fs-obs/pom.xml
index 1b7b41145..b05c182f1 100644
--- a/fluss-filesystems/fluss-fs-obs/pom.xml
+++ b/fluss-filesystems/fluss-fs-obs/pom.xml
@@ -22,7 +22,7 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>com.alibaba.fluss</groupId>
+        <groupId>org.apache.fluss</groupId>
         <artifactId>fluss-filesystems</artifactId>
         <version>0.8-SNAPSHOT</version>
     </parent>
@@ -38,20 +38,20 @@
 
     <dependencies>
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-common</artifactId>
             <version>${project.version}</version>
             <scope>provided</scope>
         </dependency>
 
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-fs-hadoop-shaded</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-fs-hadoop</artifactId>
             <version>${project.version}</version>
             <exclusions>
@@ -124,12 +124,12 @@
         </dependency>
 
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-test-utils</artifactId>
         </dependency>
         <!-- for the behavior test suite -->
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-common</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
@@ -243,7 +243,7 @@
                                     </excludes>
                                 </filter>
                                 <filter>
-                                    <artifact>com.alibaba.fluss:fluss-fs-hadoop</artifact>
+                                    <artifact>org.apache.fluss:fluss-fs-hadoop</artifact>
                                     <excludes>
                                         <exclude>META-INF/**</exclude>
                                     </excludes>
@@ -252,7 +252,7 @@
                             <relocations>
                                 <relocation>
                                     <pattern>org.apache.commons</pattern>
-                                    <shadedPattern>com.alibaba.fluss.shaded.org.apache.commons</shadedPattern>
+                                    <shadedPattern>org.apache.fluss.shaded.org.apache.commons</shadedPattern>
                                 </relocation>
                             </relocations>
                         </configuration>
diff --git a/fluss-filesystems/fluss-fs-obs/src/main/java/com/alibaba/fluss/fs/obs/OBSFileSystem.java b/fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/OBSFileSystem.java
similarity index 91%
rename from fluss-filesystems/fluss-fs-obs/src/main/java/com/alibaba/fluss/fs/obs/OBSFileSystem.java
rename to fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/OBSFileSystem.java
index c6d4f1b87..8396c66b7 100644
--- a/fluss-filesystems/fluss-fs-obs/src/main/java/com/alibaba/fluss/fs/obs/OBSFileSystem.java
+++ b/fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/OBSFileSystem.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.fs.obs;
+package org.apache.fluss.fs.obs;
 
-import com.alibaba.fluss.fs.hdfs.HadoopFileSystem;
-import com.alibaba.fluss.fs.obs.token.OBSSecurityTokenProvider;
-import com.alibaba.fluss.fs.token.ObtainedSecurityToken;
+import org.apache.fluss.fs.hdfs.HadoopFileSystem;
+import org.apache.fluss.fs.obs.token.OBSSecurityTokenProvider;
+import org.apache.fluss.fs.token.ObtainedSecurityToken;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
diff --git a/fluss-filesystems/fluss-fs-obs/src/main/java/com/alibaba/fluss/fs/obs/OBSFileSystemPlugin.java b/fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/OBSFileSystemPlugin.java
similarity index 93%
rename from fluss-filesystems/fluss-fs-obs/src/main/java/com/alibaba/fluss/fs/obs/OBSFileSystemPlugin.java
rename to fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/OBSFileSystemPlugin.java
index c23e12e9e..815b36ab0 100644
--- a/fluss-filesystems/fluss-fs-obs/src/main/java/com/alibaba/fluss/fs/obs/OBSFileSystemPlugin.java
+++ b/fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/OBSFileSystemPlugin.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.fs.obs;
-
-import com.alibaba.fluss.annotation.VisibleForTesting;
-import com.alibaba.fluss.config.ConfigBuilder;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.fs.FileSystem;
-import com.alibaba.fluss.fs.FileSystemPlugin;
-import com.alibaba.fluss.fs.obs.token.OBSSecurityTokenReceiver;
+package org.apache.fluss.fs.obs;
+
+import org.apache.fluss.annotation.VisibleForTesting;
+import org.apache.fluss.config.ConfigBuilder;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.fs.FileSystem;
+import org.apache.fluss.fs.FileSystemPlugin;
+import org.apache.fluss.fs.obs.token.OBSSecurityTokenReceiver;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/fluss-filesystems/fluss-fs-obs/src/main/java/com/alibaba/fluss/fs/obs/token/DynamicTemporaryOBSCredentialsProvider.java b/fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/token/DynamicTemporaryOBSCredentialsProvider.java
similarity index 96%
rename from fluss-filesystems/fluss-fs-obs/src/main/java/com/alibaba/fluss/fs/obs/token/DynamicTemporaryOBSCredentialsProvider.java
rename to fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/token/DynamicTemporaryOBSCredentialsProvider.java
index f690c3848..207ad3b71 100644
--- a/fluss-filesystems/fluss-fs-obs/src/main/java/com/alibaba/fluss/fs/obs/token/DynamicTemporaryOBSCredentialsProvider.java
+++ b/fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/token/DynamicTemporaryOBSCredentialsProvider.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.fs.obs.token;
+package org.apache.fluss.fs.obs.token;
 
-import com.alibaba.fluss.annotation.Internal;
+import org.apache.fluss.annotation.Internal;
 
 import com.obs.services.IObsCredentialsProvider;
 import com.obs.services.internal.security.BasicSecurityKey;
diff --git a/fluss-filesystems/fluss-fs-obs/src/main/java/com/alibaba/fluss/fs/obs/token/OBSSecurityTokenProvider.java b/fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/token/OBSSecurityTokenProvider.java
similarity index 94%
rename from fluss-filesystems/fluss-fs-obs/src/main/java/com/alibaba/fluss/fs/obs/token/OBSSecurityTokenProvider.java
rename to fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/token/OBSSecurityTokenProvider.java
index 48b2724d6..9f87a3fdd 100644
--- a/fluss-filesystems/fluss-fs-obs/src/main/java/com/alibaba/fluss/fs/obs/token/OBSSecurityTokenProvider.java
+++ b/fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/token/OBSSecurityTokenProvider.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.fs.obs.token;
+package org.apache.fluss.fs.obs.token;
 
-import com.alibaba.fluss.fs.token.Credentials;
-import com.alibaba.fluss.fs.token.CredentialsJsonSerde;
-import com.alibaba.fluss.fs.token.ObtainedSecurityToken;
+import org.apache.fluss.fs.token.Credentials;
+import org.apache.fluss.fs.token.CredentialsJsonSerde;
+import org.apache.fluss.fs.token.ObtainedSecurityToken;
 
 import com.huaweicloud.sdk.core.auth.GlobalCredentials;
 import com.huaweicloud.sdk.core.auth.ICredential;
@@ -40,7 +40,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import static com.alibaba.fluss.fs.obs.OBSFileSystemPlugin.REGION_KEY;
+import static org.apache.fluss.fs.obs.OBSFileSystemPlugin.REGION_KEY;
 
 /** A provider to provide HuaweiCloud obs security token. */
 public class OBSSecurityTokenProvider {
diff --git a/fluss-filesystems/fluss-fs-obs/src/main/java/com/alibaba/fluss/fs/obs/token/OBSSecurityTokenReceiver.java b/fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/token/OBSSecurityTokenReceiver.java
similarity index 90%
rename from fluss-filesystems/fluss-fs-obs/src/main/java/com/alibaba/fluss/fs/obs/token/OBSSecurityTokenReceiver.java
rename to fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/token/OBSSecurityTokenReceiver.java
index 8a56e50ee..f4facb8a5 100644
--- a/fluss-filesystems/fluss-fs-obs/src/main/java/com/alibaba/fluss/fs/obs/token/OBSSecurityTokenReceiver.java
+++ b/fluss-filesystems/fluss-fs-obs/src/main/java/org/apache/fluss/fs/obs/token/OBSSecurityTokenReceiver.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.fs.obs.token;
+package org.apache.fluss.fs.obs.token;
 
-import com.alibaba.fluss.fs.obs.OBSFileSystemPlugin;
-import com.alibaba.fluss.fs.token.CredentialsJsonSerde;
-import com.alibaba.fluss.fs.token.ObtainedSecurityToken;
-import com.alibaba.fluss.fs.token.SecurityTokenReceiver;
+import org.apache.fluss.fs.obs.OBSFileSystemPlugin;
+import org.apache.fluss.fs.token.CredentialsJsonSerde;
+import org.apache.fluss.fs.token.ObtainedSecurityToken;
+import org.apache.fluss.fs.token.SecurityTokenReceiver;
 
 import com.obs.services.internal.security.BasicSecurityKey;
 import com.obs.services.model.ISecurityKey;
@@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory;
 
 import java.util.Map;
 
-import static com.alibaba.fluss.fs.obs.OBSFileSystemPlugin.CREDENTIALS_PROVIDER;
+import static org.apache.fluss.fs.obs.OBSFileSystemPlugin.CREDENTIALS_PROVIDER;
 
 /** Security token receiver for HuaweiCloud OBS filesystem. */
 public class OBSSecurityTokenReceiver implements SecurityTokenReceiver {
@@ -86,7 +86,7 @@ public class OBSSecurityTokenReceiver implements SecurityTokenReceiver {
 
         byte[] tokenBytes = token.getToken();
 
-        com.alibaba.fluss.fs.token.Credentials flussCredentials =
+        org.apache.fluss.fs.token.Credentials flussCredentials =
                 CredentialsJsonSerde.fromJson(tokenBytes);
 
         // Create Credential from fluss credentials
diff --git a/fluss-filesystems/fluss-fs-obs/src/main/resources/META-INF/services/com.alibaba.fluss.fs.FileSystemPlugin b/fluss-filesystems/fluss-fs-obs/src/main/resources/META-INF/services/org.apache.fluss.fs.FileSystemPlugin
similarity index 94%
rename from fluss-filesystems/fluss-fs-obs/src/main/resources/META-INF/services/com.alibaba.fluss.fs.FileSystemPlugin
rename to fluss-filesystems/fluss-fs-obs/src/main/resources/META-INF/services/org.apache.fluss.fs.FileSystemPlugin
index b7911eea2..c6f51a30e 100644
--- a/fluss-filesystems/fluss-fs-obs/src/main/resources/META-INF/services/com.alibaba.fluss.fs.FileSystemPlugin
+++ b/fluss-filesystems/fluss-fs-obs/src/main/resources/META-INF/services/org.apache.fluss.fs.FileSystemPlugin
@@ -14,4 +14,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-com.alibaba.fluss.fs.obs.OBSFileSystemPlugin
+org.apache.fluss.fs.obs.OBSFileSystemPlugin
diff --git a/fluss-filesystems/fluss-fs-obs/src/main/resources/META-INF/services/com.alibaba.fluss.fs.token.SecurityTokenReceiver b/fluss-filesystems/fluss-fs-obs/src/main/resources/META-INF/services/org.apache.fluss.fs.token.SecurityTokenReceiver
similarity index 93%
rename from fluss-filesystems/fluss-fs-obs/src/main/resources/META-INF/services/com.alibaba.fluss.fs.token.SecurityTokenReceiver
rename to fluss-filesystems/fluss-fs-obs/src/main/resources/META-INF/services/org.apache.fluss.fs.token.SecurityTokenReceiver
index 90f6d232d..b774e6e25 100644
--- a/fluss-filesystems/fluss-fs-obs/src/main/resources/META-INF/services/com.alibaba.fluss.fs.token.SecurityTokenReceiver
+++ b/fluss-filesystems/fluss-fs-obs/src/main/resources/META-INF/services/org.apache.fluss.fs.token.SecurityTokenReceiver
@@ -14,4 +14,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-com.alibaba.fluss.fs.obs.token.OBSSecurityTokenReceiver
+org.apache.fluss.fs.obs.token.OBSSecurityTokenReceiver
diff --git a/fluss-filesystems/fluss-fs-obs/src/test/java/com/alibaba/fluss/fs/obs/OBSFileSystemBehaviorITCase.java b/fluss-filesystems/fluss-fs-obs/src/test/java/org/apache/fluss/fs/obs/OBSFileSystemBehaviorITCase.java
similarity index 90%
rename from fluss-filesystems/fluss-fs-obs/src/test/java/com/alibaba/fluss/fs/obs/OBSFileSystemBehaviorITCase.java
rename to fluss-filesystems/fluss-fs-obs/src/test/java/org/apache/fluss/fs/obs/OBSFileSystemBehaviorITCase.java
index 85b439f9e..edfa815a1 100644
--- a/fluss-filesystems/fluss-fs-obs/src/test/java/com/alibaba/fluss/fs/obs/OBSFileSystemBehaviorITCase.java
+++ b/fluss-filesystems/fluss-fs-obs/src/test/java/org/apache/fluss/fs/obs/OBSFileSystemBehaviorITCase.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.fs.obs;
+package org.apache.fluss.fs.obs;
 
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.fs.FileSystem;
-import com.alibaba.fluss.fs.FileSystemBehaviorTestSuite;
-import com.alibaba.fluss.fs.FsPath;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.fs.FileSystem;
+import org.apache.fluss.fs.FileSystemBehaviorTestSuite;
+import org.apache.fluss.fs.FsPath;
 
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
diff --git a/fluss-filesystems/fluss-fs-obs/src/test/java/com/alibaba/fluss/fs/obs/OBSTestCredentials.java b/fluss-filesystems/fluss-fs-obs/src/test/java/org/apache/fluss/fs/obs/OBSTestCredentials.java
similarity index 99%
rename from fluss-filesystems/fluss-fs-obs/src/test/java/com/alibaba/fluss/fs/obs/OBSTestCredentials.java
rename to fluss-filesystems/fluss-fs-obs/src/test/java/org/apache/fluss/fs/obs/OBSTestCredentials.java
index 3193eb64b..929fcf79c 100644
--- a/fluss-filesystems/fluss-fs-obs/src/test/java/com/alibaba/fluss/fs/obs/OBSTestCredentials.java
+++ b/fluss-filesystems/fluss-fs-obs/src/test/java/org/apache/fluss/fs/obs/OBSTestCredentials.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.fs.obs;
+package org.apache.fluss.fs.obs;
 
 import javax.annotation.Nullable;
 
diff --git a/fluss-filesystems/fluss-fs-obs/src/test/java/com/alibaba/fluss/fs/obs/OBSWithCredentialsProviderFileSystemBehaviorITCase.java b/fluss-filesystems/fluss-fs-obs/src/test/java/org/apache/fluss/fs/obs/OBSWithCredentialsProviderFileSystemBehaviorITCase.java
similarity index 88%
rename from fluss-filesystems/fluss-fs-obs/src/test/java/com/alibaba/fluss/fs/obs/OBSWithCredentialsProviderFileSystemBehaviorITCase.java
rename to fluss-filesystems/fluss-fs-obs/src/test/java/org/apache/fluss/fs/obs/OBSWithCredentialsProviderFileSystemBehaviorITCase.java
index 411e85326..338d9e73d 100644
--- a/fluss-filesystems/fluss-fs-obs/src/test/java/com/alibaba/fluss/fs/obs/OBSWithCredentialsProviderFileSystemBehaviorITCase.java
+++ b/fluss-filesystems/fluss-fs-obs/src/test/java/org/apache/fluss/fs/obs/OBSWithCredentialsProviderFileSystemBehaviorITCase.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.fs.obs;
+package org.apache.fluss.fs.obs;
 
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.fs.FileSystem;
-import com.alibaba.fluss.fs.FileSystemBehaviorTestSuite;
-import com.alibaba.fluss.fs.FsPath;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.fs.FileSystem;
+import org.apache.fluss.fs.FileSystemBehaviorTestSuite;
+import org.apache.fluss.fs.FsPath;
 
 import com.obs.services.EnvironmentVariableObsCredentialsProvider;
 import com.obs.services.IObsCredentialsProvider;
@@ -28,7 +28,7 @@ import org.junit.jupiter.api.BeforeAll;
 
 import java.util.UUID;
 
-import static com.alibaba.fluss.fs.obs.OBSFileSystemPlugin.CREDENTIALS_PROVIDER;
+import static org.apache.fluss.fs.obs.OBSFileSystemPlugin.CREDENTIALS_PROVIDER;
 
 /** IT case for access obs via set {@link IObsCredentialsProvider}. */
 class OBSWithCredentialsProviderFileSystemBehaviorITCase extends FileSystemBehaviorTestSuite {
diff --git a/fluss-filesystems/fluss-fs-obs/src/test/java/com/alibaba/fluss/fs/obs/OBSWithTokenFileSystemBehaviorBaseITCase.java b/fluss-filesystems/fluss-fs-obs/src/test/java/org/apache/fluss/fs/obs/OBSWithTokenFileSystemBehaviorBaseITCase.java
similarity index 89%
rename from fluss-filesystems/fluss-fs-obs/src/test/java/com/alibaba/fluss/fs/obs/OBSWithTokenFileSystemBehaviorBaseITCase.java
rename to fluss-filesystems/fluss-fs-obs/src/test/java/org/apache/fluss/fs/obs/OBSWithTokenFileSystemBehaviorBaseITCase.java
index a2d8705db..5350a6084 100644
--- a/fluss-filesystems/fluss-fs-obs/src/test/java/com/alibaba/fluss/fs/obs/OBSWithTokenFileSystemBehaviorBaseITCase.java
+++ b/fluss-filesystems/fluss-fs-obs/src/test/java/org/apache/fluss/fs/obs/OBSWithTokenFileSystemBehaviorBaseITCase.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.fs.obs;
+package org.apache.fluss.fs.obs;
 
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.fs.FileSystem;
-import com.alibaba.fluss.fs.FileSystemBehaviorTestSuite;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.fs.FileSystem;
+import org.apache.fluss.fs.FileSystemBehaviorTestSuite;
 
 /** Base IT case for access obs with temporary credentials in hadoop sdk as OBS FileSystem. */
 abstract class OBSWithTokenFileSystemBehaviorBaseITCase extends FileSystemBehaviorTestSuite {
diff --git a/fluss-filesystems/fluss-fs-obs/src/test/java/com/alibaba/fluss/fs/obs/OBSWithTokenFileSystemBehaviorITCase.java b/fluss-filesystems/fluss-fs-obs/src/test/java/org/apache/fluss/fs/obs/OBSWithTokenFileSystemBehaviorITCase.java
similarity index 89%
rename from fluss-filesystems/fluss-fs-obs/src/test/java/com/alibaba/fluss/fs/obs/OBSWithTokenFileSystemBehaviorITCase.java
rename to fluss-filesystems/fluss-fs-obs/src/test/java/org/apache/fluss/fs/obs/OBSWithTokenFileSystemBehaviorITCase.java
index ae45379b3..dbc4b9c36 100644
--- a/fluss-filesystems/fluss-fs-obs/src/test/java/com/alibaba/fluss/fs/obs/OBSWithTokenFileSystemBehaviorITCase.java
+++ b/fluss-filesystems/fluss-fs-obs/src/test/java/org/apache/fluss/fs/obs/OBSWithTokenFileSystemBehaviorITCase.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.fs.obs;
+package org.apache.fluss.fs.obs;
 
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.fs.FileSystem;
-import com.alibaba.fluss.fs.FsPath;
-import com.alibaba.fluss.fs.obs.token.OBSSecurityTokenReceiver;
-import com.alibaba.fluss.fs.token.ObtainedSecurityToken;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.fs.FileSystem;
+import org.apache.fluss.fs.FsPath;
+import org.apache.fluss.fs.obs.token.OBSSecurityTokenReceiver;
+import org.apache.fluss.fs.token.ObtainedSecurityToken;
 
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
diff --git a/fluss-filesystems/fluss-fs-obs/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/fluss-filesystems/fluss-fs-obs/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
index 590243ea8..ca0e907f6 100644
--- a/fluss-filesystems/fluss-fs-obs/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
+++ b/fluss-filesystems/fluss-fs-obs/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
@@ -16,4 +16,4 @@
 # limitations under the License.
 #
 
-com.alibaba.fluss.testutils.common.TestLoggerExtension
\ No newline at end of file
+org.apache.fluss.testutils.common.TestLoggerExtension
\ No newline at end of file
diff --git a/fluss-filesystems/fluss-fs-oss/pom.xml b/fluss-filesystems/fluss-fs-oss/pom.xml
index 8fdd97868..e77d0a5cd 100644
--- a/fluss-filesystems/fluss-fs-oss/pom.xml
+++ b/fluss-filesystems/fluss-fs-oss/pom.xml
@@ -227,7 +227,7 @@
                                     </excludes>
                                 </filter>
                                 <filter>
-                                    <artifact>com.alibaba.fluss:fluss-fs-hadoop</artifact>
+                                    <artifact>org.apache.fluss:fluss-fs-hadoop</artifact>
                                     <excludes>
                                         <exclude>META-INF/**</exclude>
                                     </excludes>
@@ -236,7 +236,7 @@
                             <relocations>
                                 <relocation>
                                     <pattern>org.apache.commons</pattern>
-                                    <shadedPattern>com.alibaba.fluss.shaded.org.apache.commons</shadedPattern>
+                                    <shadedPattern>org.apache.fluss.shaded.org.apache.commons</shadedPattern>
                                 </relocation>
                             </relocations>
                         </configuration>
diff --git a/fluss-filesystems/fluss-fs-s3/pom.xml b/fluss-filesystems/fluss-fs-s3/pom.xml
index 40abf6756..bbe47238f 100644
--- a/fluss-filesystems/fluss-fs-s3/pom.xml
+++ b/fluss-filesystems/fluss-fs-s3/pom.xml
@@ -380,7 +380,7 @@
                                     </excludes>
                                 </filter>
                                 <filter>
-                                    <artifact>com.alibaba.fluss:fluss-fs-hadoop</artifact>
+                                    <artifact>org.apache.fluss:fluss-fs-hadoop</artifact>
                                     <excludes>
                                         <exclude>META-INF/**</exclude>
                                     </excludes>
diff --git a/fluss-filesystems/fluss-fs-s3/src/main/java/com/amazonaws/services/s3/model/transform/XmlResponsesSaxParser.java b/fluss-filesystems/fluss-fs-s3/src/main/java/com/amazonaws/services/s3/model/transform/XmlResponsesSaxParser.java
index 9502cf04c..6decac572 100644
--- a/fluss-filesystems/fluss-fs-s3/src/main/java/com/amazonaws/services/s3/model/transform/XmlResponsesSaxParser.java
+++ b/fluss-filesystems/fluss-fs-s3/src/main/java/com/amazonaws/services/s3/model/transform/XmlResponsesSaxParser.java
@@ -924,12 +924,16 @@ public class XmlResponsesSaxParser {
 
         private Bucket currentBucket = null;
 
-        /** @return the buckets listed in the document. */
+        /**
+         * @return the buckets listed in the document.
+         */
         public List<Bucket> getBuckets() {
             return buckets;
         }
 
-        /** @return the owner of the buckets. */
+        /**
+         * @return the owner of the buckets.
+         */
         public Owner getOwner() {
             return bucketsOwner;
         }
@@ -986,7 +990,9 @@ public class XmlResponsesSaxParser {
         private Grantee currentGrantee = null;
         private Permission currentPermission = null;
 
-        /** @return an object representing the ACL document. */
+        /**
+         * @return an object representing the ACL document.
+         */
         public AccessControlList getAccessControlList() {
             return accessControlList;
         }
@@ -1067,7 +1073,9 @@ public class XmlResponsesSaxParser {
         private final BucketLoggingConfiguration bucketLoggingConfiguration =
                 new BucketLoggingConfiguration();
 
-        /** @return an object representing the bucket's LoggingStatus document. */
+        /**
+         * @return an object representing the bucket's LoggingStatus document.
+         */
         public BucketLoggingConfiguration getBucketLoggingConfiguration() {
             return bucketLoggingConfiguration;
         }
@@ -1097,7 +1105,9 @@ public class XmlResponsesSaxParser {
 
         private String location = null;
 
-        /** @return the bucket's location. */
+        /**
+         * @return the bucket's location.
+         */
         public String getLocation() {
             return location;
         }
diff --git a/fluss-filesystems/fluss-fs-s3/src/main/resources/META-INF/services/org.apache.fluss.fs.FileSystemPlugin b/fluss-filesystems/fluss-fs-s3/src/main/resources/META-INF/services/org.apache.fluss.fs.FileSystemPlugin
index aca49ba50..024cda57d 100644
--- a/fluss-filesystems/fluss-fs-s3/src/main/resources/META-INF/services/org.apache.fluss.fs.FileSystemPlugin
+++ b/fluss-filesystems/fluss-fs-s3/src/main/resources/META-INF/services/org.apache.fluss.fs.FileSystemPlugin
@@ -14,5 +14,5 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-com.alibaba.fluss.fs.s3.S3AFileSystemPlugin
-com.alibaba.fluss.fs.s3.S3FileSystemPlugin
\ No newline at end of file
+org.apache.fluss.fs.s3.S3AFileSystemPlugin
+org.apache.fluss.fs.s3.S3FileSystemPlugin
\ No newline at end of file
diff --git a/fluss-filesystems/fluss-fs-s3/src/main/resources/META-INF/services/org.apache.fluss.fs.token.SecurityTokenReceiver b/fluss-filesystems/fluss-fs-s3/src/main/resources/META-INF/services/org.apache.fluss.fs.token.SecurityTokenReceiver
index c41f0efed..48b024745 100644
--- a/fluss-filesystems/fluss-fs-s3/src/main/resources/META-INF/services/org.apache.fluss.fs.token.SecurityTokenReceiver
+++ b/fluss-filesystems/fluss-fs-s3/src/main/resources/META-INF/services/org.apache.fluss.fs.token.SecurityTokenReceiver
@@ -14,5 +14,5 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-com.alibaba.fluss.fs.s3.token.S3DelegationTokenReceiver
-com.alibaba.fluss.fs.s3.token.S3ADelegationTokenReceiver
\ No newline at end of file
+org.apache.fluss.fs.s3.token.S3DelegationTokenReceiver
+org.apache.fluss.fs.s3.token.S3ADelegationTokenReceiver
\ No newline at end of file
diff --git a/fluss-flink/fluss-flink-1.19/src/main/java/com/alibaba/fluss/flink/adapter/CatalogTableAdapter.java b/fluss-flink/fluss-flink-1.18/src/main/java/org/apache/fluss/flink/adapter/CatalogTableAdapter.java
similarity index 97%
rename from fluss-flink/fluss-flink-1.19/src/main/java/com/alibaba/fluss/flink/adapter/CatalogTableAdapter.java
rename to fluss-flink/fluss-flink-1.18/src/main/java/org/apache/fluss/flink/adapter/CatalogTableAdapter.java
index a047202f1..f41dc51e3 100644
--- a/fluss-flink/fluss-flink-1.19/src/main/java/com/alibaba/fluss/flink/adapter/CatalogTableAdapter.java
+++ b/fluss-flink/fluss-flink-1.18/src/main/java/org/apache/fluss/flink/adapter/CatalogTableAdapter.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.adapter;
+package org.apache.fluss.flink.adapter;
 
 import org.apache.flink.table.api.Schema;
 import org.apache.flink.table.catalog.CatalogTable;
diff --git a/fluss-flink/fluss-flink-1.18/src/main/java/com/alibaba/fluss/flink/adapter/SingleThreadFetcherManagerAdapter.java b/fluss-flink/fluss-flink-1.18/src/main/java/org/apache/fluss/flink/adapter/SingleThreadFetcherManagerAdapter.java
similarity index 97%
rename from fluss-flink/fluss-flink-1.18/src/main/java/com/alibaba/fluss/flink/adapter/SingleThreadFetcherManagerAdapter.java
rename to fluss-flink/fluss-flink-1.18/src/main/java/org/apache/fluss/flink/adapter/SingleThreadFetcherManagerAdapter.java
index 31989c16b..e45155cec 100644
--- a/fluss-flink/fluss-flink-1.18/src/main/java/com/alibaba/fluss/flink/adapter/SingleThreadFetcherManagerAdapter.java
+++ b/fluss-flink/fluss-flink-1.18/src/main/java/org/apache/fluss/flink/adapter/SingleThreadFetcherManagerAdapter.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.adapter;
+package org.apache.fluss.flink.adapter;
 
 import org.apache.flink.api.connector.source.SourceSplit;
 import org.apache.flink.configuration.Configuration;
diff --git a/fluss-flink/fluss-flink-1.18/src/main/java/com/alibaba/fluss/flink/adapter/SingleThreadMultiplexSourceReaderBaseAdapter.java b/fluss-flink/fluss-flink-1.18/src/main/java/org/apache/fluss/flink/adapter/SingleThreadMultiplexSourceReaderBaseAdapter.java
similarity index 98%
rename from fluss-flink/fluss-flink-1.18/src/main/java/com/alibaba/fluss/flink/adapter/SingleThreadMultiplexSourceReaderBaseAdapter.java
rename to fluss-flink/fluss-flink-1.18/src/main/java/org/apache/fluss/flink/adapter/SingleThreadMultiplexSourceReaderBaseAdapter.java
index 9dd864145..067a5b708 100644
--- a/fluss-flink/fluss-flink-1.18/src/main/java/com/alibaba/fluss/flink/adapter/SingleThreadMultiplexSourceReaderBaseAdapter.java
+++ b/fluss-flink/fluss-flink-1.18/src/main/java/org/apache/fluss/flink/adapter/SingleThreadMultiplexSourceReaderBaseAdapter.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.adapter;
+package org.apache.fluss.flink.adapter;
 
 import org.apache.flink.api.connector.source.SourceReaderContext;
 import org.apache.flink.api.connector.source.SourceSplit;
diff --git a/fluss-flink/fluss-flink-1.18/src/main/java/com/alibaba/fluss/flink/adapter/CatalogTableAdapter.java b/fluss-flink/fluss-flink-1.19/src/main/java/org/apache/fluss/flink/adapter/CatalogTableAdapter.java
similarity index 97%
rename from fluss-flink/fluss-flink-1.18/src/main/java/com/alibaba/fluss/flink/adapter/CatalogTableAdapter.java
rename to fluss-flink/fluss-flink-1.19/src/main/java/org/apache/fluss/flink/adapter/CatalogTableAdapter.java
index a047202f1..f41dc51e3 100644
--- a/fluss-flink/fluss-flink-1.18/src/main/java/com/alibaba/fluss/flink/adapter/CatalogTableAdapter.java
+++ b/fluss-flink/fluss-flink-1.19/src/main/java/org/apache/fluss/flink/adapter/CatalogTableAdapter.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.adapter;
+package org.apache.fluss.flink.adapter;
 
 import org.apache.flink.table.api.Schema;
 import org.apache.flink.table.catalog.CatalogTable;
diff --git a/fluss-flink/fluss-flink-2.1/pom.xml b/fluss-flink/fluss-flink-2.1/pom.xml
index 79493a587..3f0731c1d 100644
--- a/fluss-flink/fluss-flink-2.1/pom.xml
+++ b/fluss-flink/fluss-flink-2.1/pom.xml
@@ -19,7 +19,7 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>com.alibaba.fluss</groupId>
+        <groupId>org.apache.fluss</groupId>
         <artifactId>fluss-flink</artifactId>
         <version>0.8-SNAPSHOT</version>
     </parent>
@@ -34,13 +34,13 @@
     <dependencies>
         <!-- Fluss dependency -->
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-client</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-flink-common</artifactId>
             <version>${project.version}</version>
             <exclusions>
@@ -68,7 +68,7 @@
 
         <!-- test dependency -->
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-flink-common</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
@@ -76,7 +76,7 @@
         </dependency>
 
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-server</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
@@ -97,7 +97,7 @@
         </dependency>
 
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-server</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
@@ -105,7 +105,7 @@
         </dependency>
 
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-rpc</artifactId>
             <scope>test</scope>
             <type>test-jar</type>
@@ -137,12 +137,12 @@
 
 
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-test-utils</artifactId>
         </dependency>
 
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-common</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
@@ -216,8 +216,8 @@
                         <configuration>
                             <artifactSet>
                                 <includes combine.children="append">
-                                    <include>com.alibaba.fluss:fluss-flink-common</include>
-                                    <include>com.alibaba.fluss:fluss-client</include>
+                                    <include>org.apache.fluss:fluss-flink-common</include>
+                                    <include>org.apache.fluss:fluss-client</include>
                                 </includes>
                             </artifactSet>
                         </configuration>
diff --git a/fluss-flink/fluss-flink-2.1/src/main/java/org/apache/flink/api/connector/sink2/Sink.java b/fluss-flink/fluss-flink-2.1/src/main/java/org/apache/flink/api/connector/sink2/Sink.java
index 5dfc628ac..8cab1cb53 100644
--- a/fluss-flink/fluss-flink-2.1/src/main/java/org/apache/flink/api/connector/sink2/Sink.java
+++ b/fluss-flink/fluss-flink-2.1/src/main/java/org/apache/flink/api/connector/sink2/Sink.java
@@ -53,7 +53,9 @@ public interface Sink<InputT> extends Serializable {
          */
         MailboxExecutor getMailboxExecutor();
 
-        /** @return The metric group this writer belongs to. */
+        /**
+         * @return The metric group this writer belongs to.
+         */
         SinkWriterMetricGroup metricGroup();
     }
 }
diff --git a/fluss-flink/fluss-flink-2.1/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory b/fluss-flink/fluss-flink-2.1/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory
index fb9a3d86b..6544cb534 100644
--- a/fluss-flink/fluss-flink-2.1/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory
+++ b/fluss-flink/fluss-flink-2.1/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory
@@ -1,9 +1,11 @@
 #
-# Copyright (c) 2025 Alibaba Group Holding Ltd.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
+# 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
 #
@@ -14,4 +16,4 @@
 # limitations under the License.
 #
 
-com.alibaba.fluss.flink.catalog.FlinkCatalogFactory
\ No newline at end of file
+org.apache.fluss.flink.catalog.FlinkCatalogFactory
\ No newline at end of file
diff --git a/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/metrics/Flink21MetricsITCase.java b/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/metrics/Flink21MetricsITCase.java
deleted file mode 100644
index 72b690bbe..000000000
--- a/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/metrics/Flink21MetricsITCase.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- *  Copyright (c) 2025 Alibaba Group Holding Ltd.
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-
-package com.alibaba.fluss.flink.metrics;
-
-/** IT case for metrics in Flink 2.1. */
-public class Flink21MetricsITCase extends FlinkMetricsITCase {}
diff --git a/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/procedure/Flink21ProcedureITCase.java b/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/procedure/Flink21ProcedureITCase.java
deleted file mode 100644
index 9183b24cc..000000000
--- a/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/procedure/Flink21ProcedureITCase.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- *  Copyright (c) 2025 Alibaba Group Holding Ltd.
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-
-package com.alibaba.fluss.flink.procedure;
-
-/** IT case for procedure in Flink 2.1. */
-public class Flink21ProcedureITCase extends FlinkProcedureITCase {}
diff --git a/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/security/acl/Flink21AuthorizationITCase.java b/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/security/acl/Flink21AuthorizationITCase.java
deleted file mode 100644
index aa75e4851..000000000
--- a/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/security/acl/Flink21AuthorizationITCase.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- *  Copyright (c) 2025 Alibaba Group Holding Ltd.
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-
-package com.alibaba.fluss.flink.security.acl;
-
-/** IT case for authorization in Flink 2.1. */
-public class Flink21AuthorizationITCase extends FlinkAuthorizationITCase {}
diff --git a/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/sink/Flink21TableSinkITCase.java b/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/sink/Flink21TableSinkITCase.java
deleted file mode 100644
index ba29e5609..000000000
--- a/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/sink/Flink21TableSinkITCase.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- *  Copyright (c) 2025 Alibaba Group Holding Ltd.
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-
-package com.alibaba.fluss.flink.sink;
-
-/** IT case for {@link FlinkTableSink} in Flink 2.1. */
-public class Flink21TableSinkITCase extends FlinkTableSinkITCase {}
diff --git a/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/source/Flink21TableSourceBatchITCase.java b/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/source/Flink21TableSourceBatchITCase.java
deleted file mode 100644
index f96de12e0..000000000
--- a/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/source/Flink21TableSourceBatchITCase.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- *  Copyright (c) 2025 Alibaba Group Holding Ltd.
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-
-package com.alibaba.fluss.flink.source;
-
-/** IT case for batch source in Flink 2.1. */
-public class Flink21TableSourceBatchITCase extends FlinkTableSourceBatchITCase {}
diff --git a/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/source/Flink21TableSourceFailOverITCase.java b/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/source/Flink21TableSourceFailOverITCase.java
deleted file mode 100644
index 150c142c6..000000000
--- a/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/source/Flink21TableSourceFailOverITCase.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- *  Copyright (c) 2025 Alibaba Group Holding Ltd.
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-
-package com.alibaba.fluss.flink.source;
-
-/** IT case for source failover and recovery in Flink 2.1. */
-public class Flink21TableSourceFailOverITCase extends FlinkTableSourceFailOverITCase {}
diff --git a/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/source/Flink21TableSourceITCase.java b/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/source/Flink21TableSourceITCase.java
deleted file mode 100644
index 22078bb15..000000000
--- a/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/source/Flink21TableSourceITCase.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- *  Copyright (c) 2025 Alibaba Group Holding Ltd.
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-
-package com.alibaba.fluss.flink.source;
-
-/** IT case for {@link FlinkTableSource} in Flink 2.1. */
-public class Flink21TableSourceITCase extends FlinkTableSourceITCase {}
diff --git a/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/catalog/Flink21CatalogITCase.java b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/catalog/Flink21CatalogITCase.java
similarity index 71%
rename from fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/catalog/Flink21CatalogITCase.java
rename to fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/catalog/Flink21CatalogITCase.java
index 7f122dde7..b12aaa5e8 100644
--- a/fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/catalog/Flink21CatalogITCase.java
+++ b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/catalog/Flink21CatalogITCase.java
@@ -15,11 +15,7 @@
  * limitations under the License.
  */
 
-<<<<<<<< HEAD:fluss-flink/fluss-flink-2.1/src/test/java/com/alibaba/fluss/flink/catalog/Flink21CatalogITCase.java
-package com.alibaba.fluss.flink.catalog;
-========
-package org.apache.fluss.flink;
->>>>>>>> c4d07399 ([INFRA] The project package name updated to org.apache.fluss.):fluss-flink/fluss-flink-1.19/src/main/java/org/apache/fluss/flink/DummyClass119.java
+package org.apache.fluss.flink.catalog;
 
 /** IT case for catalog in Flink 2.1. */
 public class Flink21CatalogITCase extends FlinkCatalogITCase {}
diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/metrics/Flink21MetricsITCase.java
similarity index 67%
copy from fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java
copy to fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/metrics/Flink21MetricsITCase.java
index f0eddff5a..961c69d2f 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java
+++ b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/metrics/Flink21MetricsITCase.java
@@ -15,18 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.flink.metrics;
 
-/** Encounter an unsupported expression, the caller can choose to ignore this filter branch. */
-public class UnsupportedExpression extends RuntimeException {
-
-    private static final long serialVersionUID = 1L;
-
-    public UnsupportedExpression(String message) {
-        super(message);
-    }
-
-    public UnsupportedExpression() {
-        super();
-    }
-}
+/** IT case for metrics in Flink 2.1. */
+public class Flink21MetricsITCase extends FlinkMetricsITCase {}
diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/procedure/Flink21ProcedureITCase.java
similarity index 67%
copy from fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java
copy to fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/procedure/Flink21ProcedureITCase.java
index f0eddff5a..c95c47f0f 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java
+++ b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/procedure/Flink21ProcedureITCase.java
@@ -15,18 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.flink.procedure;
 
-/** Encounter an unsupported expression, the caller can choose to ignore this filter branch. */
-public class UnsupportedExpression extends RuntimeException {
-
-    private static final long serialVersionUID = 1L;
-
-    public UnsupportedExpression(String message) {
-        super(message);
-    }
-
-    public UnsupportedExpression() {
-        super();
-    }
-}
+/** IT case for procedure in Flink 2.1. */
+public class Flink21ProcedureITCase extends FlinkProcedureITCase {}
diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/security/acl/Flink21AuthorizationITCase.java
similarity index 67%
copy from fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java
copy to fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/security/acl/Flink21AuthorizationITCase.java
index f0eddff5a..66aefab8e 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java
+++ b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/security/acl/Flink21AuthorizationITCase.java
@@ -15,18 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.flink.security.acl;
 
-/** Encounter an unsupported expression, the caller can choose to ignore this filter branch. */
-public class UnsupportedExpression extends RuntimeException {
-
-    private static final long serialVersionUID = 1L;
-
-    public UnsupportedExpression(String message) {
-        super(message);
-    }
-
-    public UnsupportedExpression() {
-        super();
-    }
-}
+/** IT case for authorization in Flink 2.1. */
+public class Flink21AuthorizationITCase extends FlinkAuthorizationITCase {}
diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/sink/Flink21TableSinkITCase.java
similarity index 67%
copy from fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java
copy to fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/sink/Flink21TableSinkITCase.java
index f0eddff5a..b040476f4 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java
+++ b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/sink/Flink21TableSinkITCase.java
@@ -15,18 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.flink.sink;
 
-/** Encounter an unsupported expression, the caller can choose to ignore this filter branch. */
-public class UnsupportedExpression extends RuntimeException {
-
-    private static final long serialVersionUID = 1L;
-
-    public UnsupportedExpression(String message) {
-        super(message);
-    }
-
-    public UnsupportedExpression() {
-        super();
-    }
-}
+/** IT case for {@link FlinkTableSink} in Flink 2.1. */
+public class Flink21TableSinkITCase extends FlinkTableSinkITCase {}
diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceBatchITCase.java
similarity index 67%
copy from fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java
copy to fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceBatchITCase.java
index f0eddff5a..a881b6b31 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java
+++ b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceBatchITCase.java
@@ -15,18 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.flink.source;
 
-/** Encounter an unsupported expression, the caller can choose to ignore this filter branch. */
-public class UnsupportedExpression extends RuntimeException {
-
-    private static final long serialVersionUID = 1L;
-
-    public UnsupportedExpression(String message) {
-        super(message);
-    }
-
-    public UnsupportedExpression() {
-        super();
-    }
-}
+/** IT case for batch source in Flink 2.1. */
+public class Flink21TableSourceBatchITCase extends FlinkTableSourceBatchITCase {}
diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceFailOverITCase.java
similarity index 67%
copy from fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java
copy to fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceFailOverITCase.java
index f0eddff5a..630470f28 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java
+++ b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceFailOverITCase.java
@@ -15,18 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.flink.source;
 
-/** Encounter an unsupported expression, the caller can choose to ignore this filter branch. */
-public class UnsupportedExpression extends RuntimeException {
-
-    private static final long serialVersionUID = 1L;
-
-    public UnsupportedExpression(String message) {
-        super(message);
-    }
-
-    public UnsupportedExpression() {
-        super();
-    }
-}
+/** IT case for source failover and recovery in Flink 2.1. */
+public class Flink21TableSourceFailOverITCase extends FlinkTableSourceFailOverITCase {}
diff --git a/fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceITCase.java
similarity index 67%
rename from fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java
rename to fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceITCase.java
index f0eddff5a..b337cab46 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/predicate/UnsupportedExpression.java
+++ b/fluss-flink/fluss-flink-2.1/src/test/java/org/apache/fluss/flink/source/Flink21TableSourceITCase.java
@@ -15,18 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.predicate;
+package org.apache.fluss.flink.source;
 
-/** Encounter an unsupported expression, the caller can choose to ignore this filter branch. */
-public class UnsupportedExpression extends RuntimeException {
-
-    private static final long serialVersionUID = 1L;
-
-    public UnsupportedExpression(String message) {
-        super(message);
-    }
-
-    public UnsupportedExpression() {
-        super();
-    }
-}
+/** IT case for {@link FlinkTableSource} in Flink 2.1. */
+public class Flink21TableSourceITCase extends FlinkTableSourceITCase {}
diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/adapter/CatalogTableAdapter.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/adapter/CatalogTableAdapter.java
similarity index 97%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/adapter/CatalogTableAdapter.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/adapter/CatalogTableAdapter.java
index 7b3abe86d..8485c2f21 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/adapter/CatalogTableAdapter.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/adapter/CatalogTableAdapter.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.adapter;
+package org.apache.fluss.flink.adapter;
 
 import org.apache.flink.table.api.Schema;
 import org.apache.flink.table.catalog.CatalogTable;
diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/adapter/SingleThreadFetcherManagerAdapter.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/adapter/SingleThreadFetcherManagerAdapter.java
similarity index 97%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/adapter/SingleThreadFetcherManagerAdapter.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/adapter/SingleThreadFetcherManagerAdapter.java
index bc97e2f22..3a33150db 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/adapter/SingleThreadFetcherManagerAdapter.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/adapter/SingleThreadFetcherManagerAdapter.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.adapter;
+package org.apache.fluss.flink.adapter;
 
 import org.apache.flink.api.connector.source.SourceSplit;
 import org.apache.flink.configuration.Configuration;
diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/adapter/SingleThreadMultiplexSourceReaderBaseAdapter.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/adapter/SingleThreadMultiplexSourceReaderBaseAdapter.java
similarity index 98%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/adapter/SingleThreadMultiplexSourceReaderBaseAdapter.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/adapter/SingleThreadMultiplexSourceReaderBaseAdapter.java
index f6b858cbb..72a4540ea 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/adapter/SingleThreadMultiplexSourceReaderBaseAdapter.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/adapter/SingleThreadMultiplexSourceReaderBaseAdapter.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.adapter;
+package org.apache.fluss.flink.adapter;
 
 import org.apache.flink.api.connector.source.SourceReaderContext;
 import org.apache.flink.api.connector.source.SourceSplit;
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/catalog/FlinkCatalog.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/catalog/FlinkCatalog.java
index d2114bd89..7dd651158 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/catalog/FlinkCatalog.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/catalog/FlinkCatalog.java
@@ -15,28 +15,28 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.catalog;
-
-import com.alibaba.fluss.client.Connection;
-import com.alibaba.fluss.client.ConnectionFactory;
-import com.alibaba.fluss.client.admin.Admin;
-import com.alibaba.fluss.config.ConfigOptions;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.exception.FlussRuntimeException;
-import com.alibaba.fluss.exception.InvalidTableException;
-import com.alibaba.fluss.flink.lake.LakeCatalog;
-import com.alibaba.fluss.flink.procedure.ProcedureManager;
-import com.alibaba.fluss.flink.utils.CatalogExceptionUtils;
-import com.alibaba.fluss.flink.utils.DataLakeUtils;
-import com.alibaba.fluss.flink.utils.FlinkConversions;
-import com.alibaba.fluss.metadata.DatabaseDescriptor;
-import com.alibaba.fluss.metadata.PartitionInfo;
-import com.alibaba.fluss.metadata.PartitionSpec;
-import com.alibaba.fluss.metadata.TableDescriptor;
-import com.alibaba.fluss.metadata.TableInfo;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.utils.ExceptionUtils;
-import com.alibaba.fluss.utils.IOUtils;
+package org.apache.fluss.flink.catalog;
+
+import org.apache.fluss.client.Connection;
+import org.apache.fluss.client.ConnectionFactory;
+import org.apache.fluss.client.admin.Admin;
+import org.apache.fluss.config.ConfigOptions;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.exception.FlussRuntimeException;
+import org.apache.fluss.exception.InvalidTableException;
+import org.apache.fluss.flink.lake.LakeCatalog;
+import org.apache.fluss.flink.procedure.ProcedureManager;
+import org.apache.fluss.flink.utils.CatalogExceptionUtils;
+import org.apache.fluss.flink.utils.DataLakeUtils;
+import org.apache.fluss.flink.utils.FlinkConversions;
+import org.apache.fluss.metadata.DatabaseDescriptor;
+import org.apache.fluss.metadata.PartitionInfo;
+import org.apache.fluss.metadata.PartitionSpec;
+import org.apache.fluss.metadata.TableDescriptor;
+import org.apache.fluss.metadata.TableInfo;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.utils.ExceptionUtils;
+import org.apache.fluss.utils.IOUtils;
 
 import org.apache.flink.annotation.VisibleForTesting;
 import org.apache.flink.table.catalog.AbstractCatalog;
@@ -80,15 +80,15 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 
-import static com.alibaba.fluss.config.ConfigOptions.BOOTSTRAP_SERVERS;
-import static com.alibaba.fluss.flink.utils.CatalogExceptionUtils.isPartitionAlreadyExists;
-import static com.alibaba.fluss.flink.utils.CatalogExceptionUtils.isPartitionInvalid;
-import static com.alibaba.fluss.flink.utils.CatalogExceptionUtils.isPartitionNotExist;
-import static com.alibaba.fluss.flink.utils.CatalogExceptionUtils.isTableInvalid;
-import static com.alibaba.fluss.flink.utils.CatalogExceptionUtils.isTableNotExist;
-import static com.alibaba.fluss.flink.utils.CatalogExceptionUtils.isTableNotPartitioned;
-import static com.alibaba.fluss.flink.utils.FlinkConversions.toFlussDatabase;
 import static org.apache.flink.util.Preconditions.checkArgument;
+import static org.apache.fluss.config.ConfigOptions.BOOTSTRAP_SERVERS;
+import static org.apache.fluss.flink.utils.CatalogExceptionUtils.isPartitionAlreadyExists;
+import static org.apache.fluss.flink.utils.CatalogExceptionUtils.isPartitionInvalid;
+import static org.apache.fluss.flink.utils.CatalogExceptionUtils.isPartitionNotExist;
+import static org.apache.fluss.flink.utils.CatalogExceptionUtils.isTableInvalid;
+import static org.apache.fluss.flink.utils.CatalogExceptionUtils.isTableNotExist;
+import static org.apache.fluss.flink.utils.CatalogExceptionUtils.isTableNotPartitioned;
+import static org.apache.fluss.flink.utils.FlinkConversions.toFlussDatabase;
 
 /**
  * A Flink Catalog for fluss.
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/catalog/FlinkTableFactory.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/catalog/FlinkTableFactory.java
index c943aa5f3..9ca8efae7 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/catalog/FlinkTableFactory.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/catalog/FlinkTableFactory.java
@@ -15,17 +15,17 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.catalog;
+package org.apache.fluss.flink.catalog;
 
-import com.alibaba.fluss.config.ConfigOptions;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.flink.FlinkConnectorOptions;
-import com.alibaba.fluss.flink.lake.LakeTableFactory;
-import com.alibaba.fluss.flink.sink.FlinkTableSink;
-import com.alibaba.fluss.flink.source.FlinkTableSource;
-import com.alibaba.fluss.flink.utils.FlinkConnectorOptionsUtils;
-import com.alibaba.fluss.metadata.DataLakeFormat;
-import com.alibaba.fluss.metadata.TablePath;
+import org.apache.fluss.config.ConfigOptions;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.flink.FlinkConnectorOptions;
+import org.apache.fluss.flink.lake.LakeTableFactory;
+import org.apache.fluss.flink.sink.FlinkTableSink;
+import org.apache.fluss.flink.source.FlinkTableSource;
+import org.apache.fluss.flink.utils.FlinkConnectorOptionsUtils;
+import org.apache.fluss.metadata.DataLakeFormat;
+import org.apache.fluss.metadata.TablePath;
 
 import org.apache.flink.api.common.RuntimeExecutionMode;
 import org.apache.flink.configuration.ConfigOption;
@@ -57,13 +57,13 @@ import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
 
-import static com.alibaba.fluss.config.ConfigOptions.TABLE_DATALAKE_FORMAT;
-import static com.alibaba.fluss.config.FlussConfigUtils.CLIENT_PREFIX;
-import static com.alibaba.fluss.flink.catalog.FlinkCatalog.LAKE_TABLE_SPLITTER;
-import static com.alibaba.fluss.flink.utils.DataLakeUtils.getDatalakeFormat;
-import static com.alibaba.fluss.flink.utils.FlinkConnectorOptionsUtils.getBucketKeyIndexes;
-import static com.alibaba.fluss.flink.utils.FlinkConnectorOptionsUtils.getBucketKeys;
-import static com.alibaba.fluss.flink.utils.FlinkConversions.toFlinkOption;
+import static org.apache.fluss.config.ConfigOptions.TABLE_DATALAKE_FORMAT;
+import static org.apache.fluss.config.FlussConfigUtils.CLIENT_PREFIX;
+import static org.apache.fluss.flink.catalog.FlinkCatalog.LAKE_TABLE_SPLITTER;
+import static org.apache.fluss.flink.utils.DataLakeUtils.getDatalakeFormat;
+import static org.apache.fluss.flink.utils.FlinkConnectorOptionsUtils.getBucketKeyIndexes;
+import static org.apache.fluss.flink.utils.FlinkConnectorOptionsUtils.getBucketKeys;
+import static org.apache.fluss.flink.utils.FlinkConversions.toFlinkOption;
 
 /** Factory to create table source and table sink for Fluss. */
 public class FlinkTableFactory implements DynamicTableSourceFactory, DynamicTableSinkFactory {
diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeCatalog.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeCatalog.java
similarity index 85%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeCatalog.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeCatalog.java
index d6f56d13b..447616106 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeCatalog.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeCatalog.java
@@ -15,11 +15,7 @@
  * limitations under the License.
  */
 
-<<<<<<<< HEAD:fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeCatalog.java
-package com.alibaba.fluss.flink.lake;
-========
-package org.apache.fluss.flink.lakehouse;
->>>>>>>> c4d07399 ([INFRA] The project package name updated to org.apache.fluss.):fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lakehouse/LakeCatalog.java
+package org.apache.fluss.flink.lake;
 
 import org.apache.flink.table.catalog.CatalogBaseTable;
 import org.apache.flink.table.catalog.ObjectPath;
diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeRecordRecordEmitter.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeRecordRecordEmitter.java
similarity index 71%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeRecordRecordEmitter.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeRecordRecordEmitter.java
index 274fda6cb..147043fdc 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeRecordRecordEmitter.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeRecordRecordEmitter.java
@@ -15,23 +15,13 @@
  * limitations under the License.
  */
 
-<<<<<<<< HEAD:fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeRecordRecordEmitter.java
-package com.alibaba.fluss.flink.lake;
-
-import com.alibaba.fluss.client.table.scanner.ScanRecord;
-import com.alibaba.fluss.flink.lake.state.LakeSnapshotAndFlussLogSplitState;
-import com.alibaba.fluss.flink.lake.state.LakeSnapshotSplitState;
-import com.alibaba.fluss.flink.source.reader.RecordAndPos;
-import com.alibaba.fluss.flink.source.split.SourceSplitState;
-========
-package org.apache.fluss.flink.lakehouse;
+package org.apache.fluss.flink.lake;
 
 import org.apache.fluss.client.table.scanner.ScanRecord;
-import org.apache.fluss.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplitState;
-import org.apache.fluss.flink.lakehouse.paimon.split.PaimonSnapshotSplitState;
+import org.apache.fluss.flink.lake.state.LakeSnapshotAndFlussLogSplitState;
+import org.apache.fluss.flink.lake.state.LakeSnapshotSplitState;
 import org.apache.fluss.flink.source.reader.RecordAndPos;
 import org.apache.fluss.flink.source.split.SourceSplitState;
->>>>>>>> c4d07399 ([INFRA] The project package name updated to org.apache.fluss.):fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lakehouse/LakeRecordRecordEmitter.java
 
 import org.apache.flink.api.connector.source.SourceOutput;
 
diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeSplitGenerator.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeSplitGenerator.java
similarity index 88%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeSplitGenerator.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeSplitGenerator.java
index 320c6539f..1854fd26f 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeSplitGenerator.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeSplitGenerator.java
@@ -15,35 +15,20 @@
  * limitations under the License.
  */
 
-<<<<<<<< HEAD:fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeSplitGenerator.java
-package com.alibaba.fluss.flink.lake;
-
-import com.alibaba.fluss.client.admin.Admin;
-import com.alibaba.fluss.client.metadata.LakeSnapshot;
-import com.alibaba.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit;
-import com.alibaba.fluss.flink.lake.split.LakeSnapshotSplit;
-import com.alibaba.fluss.flink.source.enumerator.initializer.OffsetsInitializer;
-import com.alibaba.fluss.flink.source.split.LogSplit;
-import com.alibaba.fluss.flink.source.split.SourceSplitBase;
-import com.alibaba.fluss.lake.source.LakeSource;
-import com.alibaba.fluss.lake.source.LakeSplit;
-import com.alibaba.fluss.metadata.PartitionInfo;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metadata.TableInfo;
-========
-package org.apache.fluss.flink.lakehouse;
+package org.apache.fluss.flink.lake;
 
 import org.apache.fluss.client.admin.Admin;
 import org.apache.fluss.client.metadata.LakeSnapshot;
-import org.apache.fluss.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplit;
-import org.apache.fluss.flink.lakehouse.paimon.split.PaimonSnapshotSplit;
+import org.apache.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit;
+import org.apache.fluss.flink.lake.split.LakeSnapshotSplit;
 import org.apache.fluss.flink.source.enumerator.initializer.OffsetsInitializer;
 import org.apache.fluss.flink.source.split.LogSplit;
 import org.apache.fluss.flink.source.split.SourceSplitBase;
+import org.apache.fluss.lake.source.LakeSource;
+import org.apache.fluss.lake.source.LakeSplit;
 import org.apache.fluss.metadata.PartitionInfo;
 import org.apache.fluss.metadata.TableBucket;
 import org.apache.fluss.metadata.TableInfo;
->>>>>>>> c4d07399 ([INFRA] The project package name updated to org.apache.fluss.):fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lakehouse/LakeSplitGenerator.java
 
 import javax.annotation.Nullable;
 
@@ -58,14 +43,8 @@ import java.util.function.Supplier;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 
-<<<<<<<< HEAD:fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeSplitGenerator.java
-import static com.alibaba.fluss.client.table.scanner.log.LogScanner.EARLIEST_OFFSET;
-import static com.alibaba.fluss.metadata.ResolvedPartitionSpec.PARTITION_SPEC_SEPARATOR;
-========
 import static org.apache.fluss.client.table.scanner.log.LogScanner.EARLIEST_OFFSET;
-import static org.apache.fluss.flink.utils.DataLakeUtils.extractLakeCatalogProperties;
-import static org.apache.fluss.utils.Preconditions.checkState;
->>>>>>>> c4d07399 ([INFRA] The project package name updated to org.apache.fluss.):fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lakehouse/LakeSplitGenerator.java
+import static org.apache.fluss.metadata.ResolvedPartitionSpec.PARTITION_SPEC_SEPARATOR;
 
 /** A generator for lake splits. */
 public class LakeSplitGenerator {
diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeSplitReaderGenerator.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeSplitReaderGenerator.java
similarity index 84%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeSplitReaderGenerator.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeSplitReaderGenerator.java
index 86a72f66c..36958736a 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeSplitReaderGenerator.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeSplitReaderGenerator.java
@@ -15,17 +15,17 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.lake;
+package org.apache.fluss.flink.lake;
 
-import com.alibaba.fluss.client.table.Table;
-import com.alibaba.fluss.flink.lake.reader.LakeSnapshotAndLogSplitScanner;
-import com.alibaba.fluss.flink.lake.reader.LakeSnapshotScanner;
-import com.alibaba.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit;
-import com.alibaba.fluss.flink.lake.split.LakeSnapshotSplit;
-import com.alibaba.fluss.flink.source.reader.BoundedSplitReader;
-import com.alibaba.fluss.flink.source.split.SourceSplitBase;
-import com.alibaba.fluss.lake.source.LakeSource;
-import com.alibaba.fluss.lake.source.LakeSplit;
+import org.apache.fluss.client.table.Table;
+import org.apache.fluss.flink.lake.reader.LakeSnapshotAndLogSplitScanner;
+import org.apache.fluss.flink.lake.reader.LakeSnapshotScanner;
+import org.apache.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit;
+import org.apache.fluss.flink.lake.split.LakeSnapshotSplit;
+import org.apache.fluss.flink.source.reader.BoundedSplitReader;
+import org.apache.fluss.flink.source.split.SourceSplitBase;
+import org.apache.fluss.lake.source.LakeSource;
+import org.apache.fluss.lake.source.LakeSplit;
 
 import javax.annotation.Nullable;
 
diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeSplitSerializer.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeSplitSerializer.java
similarity index 88%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeSplitSerializer.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeSplitSerializer.java
index 0bfb897a6..88c4e6db8 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeSplitSerializer.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeSplitSerializer.java
@@ -15,15 +15,15 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.lake;
+package org.apache.fluss.flink.lake;
 
-import com.alibaba.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit;
-import com.alibaba.fluss.flink.lake.split.LakeSnapshotSplit;
-import com.alibaba.fluss.flink.source.split.LogSplit;
-import com.alibaba.fluss.flink.source.split.SourceSplitBase;
-import com.alibaba.fluss.lake.serializer.SimpleVersionedSerializer;
-import com.alibaba.fluss.lake.source.LakeSplit;
-import com.alibaba.fluss.metadata.TableBucket;
+import org.apache.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit;
+import org.apache.fluss.flink.lake.split.LakeSnapshotSplit;
+import org.apache.fluss.flink.source.split.LogSplit;
+import org.apache.fluss.flink.source.split.SourceSplitBase;
+import org.apache.fluss.lake.serializer.SimpleVersionedSerializer;
+import org.apache.fluss.lake.source.LakeSplit;
+import org.apache.fluss.metadata.TableBucket;
 
 import org.apache.flink.core.memory.DataInputDeserializer;
 import org.apache.flink.core.memory.DataOutputSerializer;
@@ -34,8 +34,8 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-import static com.alibaba.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit.LAKE_SNAPSHOT_FLUSS_LOG_SPLIT_KIND;
-import static com.alibaba.fluss.flink.lake.split.LakeSnapshotSplit.LAKE_SNAPSHOT_SPLIT_KIND;
+import static org.apache.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit.LAKE_SNAPSHOT_FLUSS_LOG_SPLIT_KIND;
+import static org.apache.fluss.flink.lake.split.LakeSnapshotSplit.LAKE_SNAPSHOT_SPLIT_KIND;
 
 /** A serializer for lake split. */
 public class LakeSplitSerializer {
diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeSplitStateInitializer.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeSplitStateInitializer.java
similarity index 57%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeSplitStateInitializer.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeSplitStateInitializer.java
index 18005f3f9..4a14b7037 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeSplitStateInitializer.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeSplitStateInitializer.java
@@ -15,25 +15,14 @@
  * limitations under the License.
  */
 
-<<<<<<<< HEAD:fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeSplitStateInitializer.java
-package com.alibaba.fluss.flink.lake;
+package org.apache.fluss.flink.lake;
 
-import com.alibaba.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit;
-import com.alibaba.fluss.flink.lake.split.LakeSnapshotSplit;
-import com.alibaba.fluss.flink.lake.state.LakeSnapshotAndFlussLogSplitState;
-import com.alibaba.fluss.flink.lake.state.LakeSnapshotSplitState;
-import com.alibaba.fluss.flink.source.split.SourceSplitBase;
-import com.alibaba.fluss.flink.source.split.SourceSplitState;
-========
-package org.apache.fluss.flink.lakehouse;
-
-import org.apache.fluss.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplit;
-import org.apache.fluss.flink.lakehouse.paimon.split.PaimonSnapshotAndFlussLogSplitState;
-import org.apache.fluss.flink.lakehouse.paimon.split.PaimonSnapshotSplit;
-import org.apache.fluss.flink.lakehouse.paimon.split.PaimonSnapshotSplitState;
+import org.apache.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit;
+import org.apache.fluss.flink.lake.split.LakeSnapshotSplit;
+import org.apache.fluss.flink.lake.state.LakeSnapshotAndFlussLogSplitState;
+import org.apache.fluss.flink.lake.state.LakeSnapshotSplitState;
 import org.apache.fluss.flink.source.split.SourceSplitBase;
 import org.apache.fluss.flink.source.split.SourceSplitState;
->>>>>>>> c4d07399 ([INFRA] The project package name updated to org.apache.fluss.):fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lakehouse/LakeSplitStateInitializer.java
 
 /** The state initializer for lake split. */
 public class LakeSplitStateInitializer {
diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeTableFactory.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeTableFactory.java
similarity index 86%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeTableFactory.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeTableFactory.java
index b74340498..975d49e95 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeTableFactory.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/LakeTableFactory.java
@@ -15,11 +15,7 @@
  * limitations under the License.
  */
 
-<<<<<<<< HEAD:fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/LakeTableFactory.java
-package com.alibaba.fluss.flink.lake;
-========
-package org.apache.fluss.flink.lakehouse;
->>>>>>>> c4d07399 ([INFRA] The project package name updated to org.apache.fluss.):fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lakehouse/LakeTableFactory.java
+package org.apache.fluss.flink.lake;
 
 import org.apache.flink.table.catalog.ObjectIdentifier;
 import org.apache.flink.table.connector.source.DynamicTableSource;
diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/KeyValueRow.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/reader/KeyValueRow.java
similarity index 91%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/KeyValueRow.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/reader/KeyValueRow.java
index abb84a687..f8e7bd479 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/KeyValueRow.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/reader/KeyValueRow.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.lake.reader;
+package org.apache.fluss.flink.lake.reader;
 
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.ProjectedRow;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.row.ProjectedRow;
 
 /** An {@link InternalRow} with the key part. */
 public class KeyValueRow {
diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/LakeSnapshotAndLogSplitScanner.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/reader/LakeSnapshotAndLogSplitScanner.java
similarity index 92%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/LakeSnapshotAndLogSplitScanner.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/reader/LakeSnapshotAndLogSplitScanner.java
index e3c835ee0..e04256911 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/LakeSnapshotAndLogSplitScanner.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/reader/LakeSnapshotAndLogSplitScanner.java
@@ -16,23 +16,23 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.lake.reader;
-
-import com.alibaba.fluss.client.table.Table;
-import com.alibaba.fluss.client.table.scanner.ScanRecord;
-import com.alibaba.fluss.client.table.scanner.batch.BatchScanner;
-import com.alibaba.fluss.client.table.scanner.log.LogScanner;
-import com.alibaba.fluss.client.table.scanner.log.ScanRecords;
-import com.alibaba.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit;
-import com.alibaba.fluss.lake.source.LakeSource;
-import com.alibaba.fluss.lake.source.LakeSplit;
-import com.alibaba.fluss.lake.source.RecordReader;
-import com.alibaba.fluss.lake.source.SortedRecordReader;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.record.ChangeType;
-import com.alibaba.fluss.record.LogRecord;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.utils.CloseableIterator;
+package org.apache.fluss.flink.lake.reader;
+
+import org.apache.fluss.client.table.Table;
+import org.apache.fluss.client.table.scanner.ScanRecord;
+import org.apache.fluss.client.table.scanner.batch.BatchScanner;
+import org.apache.fluss.client.table.scanner.log.LogScanner;
+import org.apache.fluss.client.table.scanner.log.ScanRecords;
+import org.apache.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit;
+import org.apache.fluss.lake.source.LakeSource;
+import org.apache.fluss.lake.source.LakeSplit;
+import org.apache.fluss.lake.source.RecordReader;
+import org.apache.fluss.lake.source.SortedRecordReader;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.record.ChangeType;
+import org.apache.fluss.record.LogRecord;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.utils.CloseableIterator;
 
 import javax.annotation.Nullable;
 
diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/LakeSnapshotScanner.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/reader/LakeSnapshotScanner.java
similarity index 88%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/LakeSnapshotScanner.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/reader/LakeSnapshotScanner.java
index 8a51482ba..97c57256f 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/LakeSnapshotScanner.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/reader/LakeSnapshotScanner.java
@@ -15,15 +15,15 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.lake.reader;
-
-import com.alibaba.fluss.client.table.scanner.batch.BatchScanner;
-import com.alibaba.fluss.flink.lake.split.LakeSnapshotSplit;
-import com.alibaba.fluss.lake.source.LakeSource;
-import com.alibaba.fluss.lake.source.LakeSplit;
-import com.alibaba.fluss.record.LogRecord;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.utils.CloseableIterator;
+package org.apache.fluss.flink.lake.reader;
+
+import org.apache.fluss.client.table.scanner.batch.BatchScanner;
+import org.apache.fluss.flink.lake.split.LakeSnapshotSplit;
+import org.apache.fluss.lake.source.LakeSource;
+import org.apache.fluss.lake.source.LakeSplit;
+import org.apache.fluss.record.LogRecord;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.utils.CloseableIterator;
 
 import javax.annotation.Nullable;
 
diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/SortMergeReader.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/reader/SortMergeReader.java
similarity index 78%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/SortMergeReader.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/reader/SortMergeReader.java
index 17e6c8f8a..6e490108f 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/SortMergeReader.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/reader/SortMergeReader.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,18 +15,12 @@
  * limitations under the License.
  */
 
-<<<<<<<< HEAD:fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/reader/SortMergeReader.java
-package com.alibaba.fluss.flink.lake.reader;
-
-import com.alibaba.fluss.record.LogRecord;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.ProjectedRow;
-import com.alibaba.fluss.utils.CloseableIterator;
-========
-package org.apache.fluss.flink.lakehouse.paimon.reader;
+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;
->>>>>>>> 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
 
 import javax.annotation.Nullable;
 
@@ -71,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;
@@ -92,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,
@@ -165,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()) {
@@ -321,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() {}
@@ -348,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-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/split/LakeSnapshotAndFlussLogSplit.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/split/LakeSnapshotAndFlussLogSplit.java
similarity index 94%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/split/LakeSnapshotAndFlussLogSplit.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/split/LakeSnapshotAndFlussLogSplit.java
index 3c5917414..c95bb51d4 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/split/LakeSnapshotAndFlussLogSplit.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/split/LakeSnapshotAndFlussLogSplit.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.lake.split;
+package org.apache.fluss.flink.lake.split;
 
-import com.alibaba.fluss.flink.source.split.SourceSplitBase;
-import com.alibaba.fluss.lake.source.LakeSplit;
-import com.alibaba.fluss.metadata.TableBucket;
+import org.apache.fluss.flink.source.split.SourceSplitBase;
+import org.apache.fluss.lake.source.LakeSplit;
+import org.apache.fluss.metadata.TableBucket;
 
 import javax.annotation.Nullable;
 
diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/split/LakeSnapshotSplit.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/split/LakeSnapshotSplit.java
similarity index 91%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/split/LakeSnapshotSplit.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/split/LakeSnapshotSplit.java
index b2460177a..1cc883d3f 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/split/LakeSnapshotSplit.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/split/LakeSnapshotSplit.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.lake.split;
+package org.apache.fluss.flink.lake.split;
 
-import com.alibaba.fluss.flink.source.split.SourceSplitBase;
-import com.alibaba.fluss.lake.source.LakeSplit;
-import com.alibaba.fluss.metadata.TableBucket;
+import org.apache.fluss.flink.source.split.SourceSplitBase;
+import org.apache.fluss.lake.source.LakeSplit;
+import org.apache.fluss.metadata.TableBucket;
 
 import javax.annotation.Nullable;
 
diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/state/LakeSnapshotAndFlussLogSplitState.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/state/LakeSnapshotAndFlussLogSplitState.java
similarity index 85%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/state/LakeSnapshotAndFlussLogSplitState.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/state/LakeSnapshotAndFlussLogSplitState.java
index 65dda119f..c7ddf59d1 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/state/LakeSnapshotAndFlussLogSplitState.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/state/LakeSnapshotAndFlussLogSplitState.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.lake.state;
+package org.apache.fluss.flink.lake.state;
 
-import com.alibaba.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit;
-import com.alibaba.fluss.flink.source.split.SourceSplitBase;
-import com.alibaba.fluss.flink.source.split.SourceSplitState;
+import org.apache.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit;
+import org.apache.fluss.flink.source.split.SourceSplitBase;
+import org.apache.fluss.flink.source.split.SourceSplitState;
 
 /** The state of {@link LakeSnapshotAndFlussLogSplit}. */
 public class LakeSnapshotAndFlussLogSplitState extends SourceSplitState {
diff --git a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/state/LakeSnapshotSplitState.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/state/LakeSnapshotSplitState.java
similarity index 71%
rename from fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/state/LakeSnapshotSplitState.java
rename to fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/state/LakeSnapshotSplitState.java
index cf999031c..e81358eae 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/state/LakeSnapshotSplitState.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/lake/state/LakeSnapshotSplitState.java
@@ -15,17 +15,11 @@
  * limitations under the License.
  */
 
-<<<<<<<< HEAD:fluss-flink/fluss-flink-common/src/main/java/com/alibaba/fluss/flink/lake/state/LakeSnapshotSplitState.java
-package com.alibaba.fluss.flink.lake.state;
-
-import com.alibaba.fluss.flink.lake.split.LakeSnapshotSplit;
-import com.alibaba.fluss.flink.source.split.SourceSplitBase;
-import com.alibaba.fluss.flink.source.split.SourceSplitState;
-========
-package org.apache.fluss.flink.lakehouse.paimon.split;
+package org.apache.fluss.flink.lake.state;
 
+import org.apache.fluss.flink.lake.split.LakeSnapshotSplit;
+import org.apache.fluss.flink.source.split.SourceSplitBase;
 import org.apache.fluss.flink.source.split.SourceSplitState;
->>>>>>>> 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/split/PaimonSnapshotAndFlussLogSplitState.java
 
 /** The state of {@link LakeSnapshotSplit}. */
 public class LakeSnapshotSplitState extends SourceSplitState {
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/FlinkSource.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/FlinkSource.java
index 1b4f750b0..375d0540f 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/FlinkSource.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/FlinkSource.java
@@ -15,26 +15,26 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.source;
-
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.flink.source.deserializer.DeserializerInitContextImpl;
-import com.alibaba.fluss.flink.source.deserializer.FlussDeserializationSchema;
-import com.alibaba.fluss.flink.source.emitter.FlinkRecordEmitter;
-import com.alibaba.fluss.flink.source.enumerator.FlinkSourceEnumerator;
-import com.alibaba.fluss.flink.source.enumerator.initializer.OffsetsInitializer;
-import com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics;
-import com.alibaba.fluss.flink.source.reader.FlinkSourceReader;
-import com.alibaba.fluss.flink.source.reader.RecordAndPos;
-import com.alibaba.fluss.flink.source.split.SourceSplitBase;
-import com.alibaba.fluss.flink.source.split.SourceSplitSerializer;
-import com.alibaba.fluss.flink.source.state.FlussSourceEnumeratorStateSerializer;
-import com.alibaba.fluss.flink.source.state.SourceEnumeratorState;
-import com.alibaba.fluss.flink.utils.PushdownUtils.FieldEqual;
-import com.alibaba.fluss.lake.source.LakeSource;
-import com.alibaba.fluss.lake.source.LakeSplit;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.types.RowType;
+package org.apache.fluss.flink.source;
+
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.flink.source.deserializer.DeserializerInitContextImpl;
+import org.apache.fluss.flink.source.deserializer.FlussDeserializationSchema;
+import org.apache.fluss.flink.source.emitter.FlinkRecordEmitter;
+import org.apache.fluss.flink.source.enumerator.FlinkSourceEnumerator;
+import org.apache.fluss.flink.source.enumerator.initializer.OffsetsInitializer;
+import org.apache.fluss.flink.source.metrics.FlinkSourceReaderMetrics;
+import org.apache.fluss.flink.source.reader.FlinkSourceReader;
+import org.apache.fluss.flink.source.reader.RecordAndPos;
+import org.apache.fluss.flink.source.split.SourceSplitBase;
+import org.apache.fluss.flink.source.split.SourceSplitSerializer;
+import org.apache.fluss.flink.source.state.FlussSourceEnumeratorStateSerializer;
+import org.apache.fluss.flink.source.state.SourceEnumeratorState;
+import org.apache.fluss.flink.utils.PushdownUtils.FieldEqual;
+import org.apache.fluss.lake.source.LakeSource;
+import org.apache.fluss.lake.source.LakeSplit;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.types.RowType;
 
 import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.api.connector.source.Boundedness;
@@ -52,7 +52,7 @@ import javax.annotation.Nullable;
 
 import java.util.List;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** Flink source for Fluss. */
 public class FlinkSource<OUT>
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/FlinkTableSource.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/FlinkTableSource.java
index 15ee21c72..ef0d04a25 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/FlinkTableSource.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/FlinkTableSource.java
@@ -15,26 +15,26 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.source;
-
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.flink.FlinkConnectorOptions;
-import com.alibaba.fluss.flink.source.deserializer.RowDataDeserializationSchema;
-import com.alibaba.fluss.flink.source.enumerator.initializer.OffsetsInitializer;
-import com.alibaba.fluss.flink.source.lookup.FlinkAsyncLookupFunction;
-import com.alibaba.fluss.flink.source.lookup.FlinkLookupFunction;
-import com.alibaba.fluss.flink.source.lookup.LookupNormalizer;
-import com.alibaba.fluss.flink.utils.FlinkConnectorOptionsUtils;
-import com.alibaba.fluss.flink.utils.FlinkConversions;
-import com.alibaba.fluss.flink.utils.PushdownUtils;
-import com.alibaba.fluss.flink.utils.PushdownUtils.FieldEqual;
-import com.alibaba.fluss.lake.source.LakeSource;
-import com.alibaba.fluss.lake.source.LakeSplit;
-import com.alibaba.fluss.metadata.MergeEngineType;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.predicate.Predicate;
-import com.alibaba.fluss.predicate.PredicateBuilder;
-import com.alibaba.fluss.types.RowType;
+package org.apache.fluss.flink.source;
+
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.flink.FlinkConnectorOptions;
+import org.apache.fluss.flink.source.deserializer.RowDataDeserializationSchema;
+import org.apache.fluss.flink.source.enumerator.initializer.OffsetsInitializer;
+import org.apache.fluss.flink.source.lookup.FlinkAsyncLookupFunction;
+import org.apache.fluss.flink.source.lookup.FlinkLookupFunction;
+import org.apache.fluss.flink.source.lookup.LookupNormalizer;
+import org.apache.fluss.flink.utils.FlinkConnectorOptionsUtils;
+import org.apache.fluss.flink.utils.FlinkConversions;
+import org.apache.fluss.flink.utils.PushdownUtils;
+import org.apache.fluss.flink.utils.PushdownUtils.FieldEqual;
+import org.apache.fluss.lake.source.LakeSource;
+import org.apache.fluss.lake.source.LakeSplit;
+import org.apache.fluss.metadata.MergeEngineType;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.predicate.Predicate;
+import org.apache.fluss.predicate.PredicateBuilder;
+import org.apache.fluss.types.RowType;
 
 import org.apache.flink.annotation.VisibleForTesting;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
@@ -82,11 +82,11 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 
-import static com.alibaba.fluss.flink.utils.LakeSourceUtils.createLakeSource;
-import static com.alibaba.fluss.flink.utils.PushdownUtils.ValueConversion.FLINK_INTERNAL_VALUE;
-import static com.alibaba.fluss.flink.utils.PushdownUtils.ValueConversion.FLUSS_INTERNAL_VALUE;
-import static com.alibaba.fluss.flink.utils.PushdownUtils.extractFieldEquals;
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.flink.utils.LakeSourceUtils.createLakeSource;
+import static org.apache.fluss.flink.utils.PushdownUtils.ValueConversion.FLINK_INTERNAL_VALUE;
+import static org.apache.fluss.flink.utils.PushdownUtils.ValueConversion.FLUSS_INTERNAL_VALUE;
+import static org.apache.fluss.flink.utils.PushdownUtils.extractFieldEquals;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** Flink table source to scan Fluss data. */
 public class FlinkTableSource
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/deserializer/JsonStringDeserializationSchema.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/deserializer/JsonStringDeserializationSchema.java
index 3ff9e0b50..c426501c2 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/deserializer/JsonStringDeserializationSchema.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/deserializer/JsonStringDeserializationSchema.java
@@ -15,20 +15,20 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.source.deserializer;
+package org.apache.fluss.flink.source.deserializer;
 
-import com.alibaba.fluss.annotation.PublicEvolving;
-import com.alibaba.fluss.flink.utils.FlussRowToJsonConverters;
-import com.alibaba.fluss.flink.utils.TimestampFormat;
-import com.alibaba.fluss.record.LogRecord;
-import com.alibaba.fluss.types.RowType;
-
-import org.apache.flink.api.common.typeinfo.TypeInformation;
-import org.apache.flink.api.common.typeinfo.Types;
+import org.apache.fluss.annotation.PublicEvolving;
+import org.apache.fluss.flink.utils.FlussRowToJsonConverters;
+import org.apache.fluss.flink.utils.TimestampFormat;
+import org.apache.fluss.record.LogRecord;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.SerializationFeature;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.node.ObjectNode;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import org.apache.fluss.types.RowType;
+
+import org.apache.flink.api.common.typeinfo.TypeInformation;
+import org.apache.flink.api.common.typeinfo.Types;
 
 import java.util.LinkedHashMap;
 import java.util.Map;
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/emitter/FlinkRecordEmitter.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/emitter/FlinkRecordEmitter.java
index 84602ca35..82a3ed87e 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/emitter/FlinkRecordEmitter.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/emitter/FlinkRecordEmitter.java
@@ -15,15 +15,15 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.source.emitter;
+package org.apache.fluss.flink.source.emitter;
 
-import com.alibaba.fluss.client.table.scanner.ScanRecord;
-import com.alibaba.fluss.flink.lake.LakeRecordRecordEmitter;
-import com.alibaba.fluss.flink.source.deserializer.FlussDeserializationSchema;
-import com.alibaba.fluss.flink.source.reader.FlinkSourceReader;
-import com.alibaba.fluss.flink.source.reader.RecordAndPos;
-import com.alibaba.fluss.flink.source.split.HybridSnapshotLogSplitState;
-import com.alibaba.fluss.flink.source.split.SourceSplitState;
+import org.apache.fluss.client.table.scanner.ScanRecord;
+import org.apache.fluss.flink.lake.LakeRecordRecordEmitter;
+import org.apache.fluss.flink.source.deserializer.FlussDeserializationSchema;
+import org.apache.fluss.flink.source.reader.FlinkSourceReader;
+import org.apache.fluss.flink.source.reader.RecordAndPos;
+import org.apache.fluss.flink.source.split.HybridSnapshotLogSplitState;
+import org.apache.fluss.flink.source.split.SourceSplitState;
 
 import org.apache.flink.api.connector.source.SourceOutput;
 import org.apache.flink.connector.base.source.reader.RecordEmitter;
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/enumerator/FlinkSourceEnumerator.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/enumerator/FlinkSourceEnumerator.java
index 3d29cbbf1..e63d286d0 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/enumerator/FlinkSourceEnumerator.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/enumerator/FlinkSourceEnumerator.java
@@ -15,35 +15,35 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.source.enumerator;
-
-import com.alibaba.fluss.client.Connection;
-import com.alibaba.fluss.client.ConnectionFactory;
-import com.alibaba.fluss.client.admin.Admin;
-import com.alibaba.fluss.client.metadata.KvSnapshots;
-import com.alibaba.fluss.config.ConfigOptions;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.flink.lake.LakeSplitGenerator;
-import com.alibaba.fluss.flink.source.enumerator.initializer.BucketOffsetsRetrieverImpl;
-import com.alibaba.fluss.flink.source.enumerator.initializer.NoStoppingOffsetsInitializer;
-import com.alibaba.fluss.flink.source.enumerator.initializer.OffsetsInitializer;
-import com.alibaba.fluss.flink.source.enumerator.initializer.OffsetsInitializer.BucketOffsetsRetriever;
-import com.alibaba.fluss.flink.source.enumerator.initializer.SnapshotOffsetsInitializer;
-import com.alibaba.fluss.flink.source.event.PartitionBucketsUnsubscribedEvent;
-import com.alibaba.fluss.flink.source.event.PartitionsRemovedEvent;
-import com.alibaba.fluss.flink.source.split.HybridSnapshotLogSplit;
-import com.alibaba.fluss.flink.source.split.LogSplit;
-import com.alibaba.fluss.flink.source.split.SourceSplitBase;
-import com.alibaba.fluss.flink.source.state.SourceEnumeratorState;
-import com.alibaba.fluss.flink.utils.PushdownUtils.FieldEqual;
-import com.alibaba.fluss.lake.source.LakeSource;
-import com.alibaba.fluss.lake.source.LakeSplit;
-import com.alibaba.fluss.metadata.PartitionInfo;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metadata.TableInfo;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.types.DataField;
-import com.alibaba.fluss.utils.ExceptionUtils;
+package org.apache.fluss.flink.source.enumerator;
+
+import org.apache.fluss.client.Connection;
+import org.apache.fluss.client.ConnectionFactory;
+import org.apache.fluss.client.admin.Admin;
+import org.apache.fluss.client.metadata.KvSnapshots;
+import org.apache.fluss.config.ConfigOptions;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.flink.lake.LakeSplitGenerator;
+import org.apache.fluss.flink.source.enumerator.initializer.BucketOffsetsRetrieverImpl;
+import org.apache.fluss.flink.source.enumerator.initializer.NoStoppingOffsetsInitializer;
+import org.apache.fluss.flink.source.enumerator.initializer.OffsetsInitializer;
+import org.apache.fluss.flink.source.enumerator.initializer.OffsetsInitializer.BucketOffsetsRetriever;
+import org.apache.fluss.flink.source.enumerator.initializer.SnapshotOffsetsInitializer;
+import org.apache.fluss.flink.source.event.PartitionBucketsUnsubscribedEvent;
+import org.apache.fluss.flink.source.event.PartitionsRemovedEvent;
+import org.apache.fluss.flink.source.split.HybridSnapshotLogSplit;
+import org.apache.fluss.flink.source.split.LogSplit;
+import org.apache.fluss.flink.source.split.SourceSplitBase;
+import org.apache.fluss.flink.source.state.SourceEnumeratorState;
+import org.apache.fluss.flink.utils.PushdownUtils.FieldEqual;
+import org.apache.fluss.lake.source.LakeSource;
+import org.apache.fluss.lake.source.LakeSplit;
+import org.apache.fluss.metadata.PartitionInfo;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.metadata.TableInfo;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.types.DataField;
+import org.apache.fluss.utils.ExceptionUtils;
 
 import org.apache.flink.annotation.VisibleForTesting;
 import org.apache.flink.api.connector.source.SourceEvent;
@@ -71,8 +71,8 @@ import java.util.OptionalLong;
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
-import static com.alibaba.fluss.utils.Preconditions.checkState;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkState;
 
 /**
  * An implementation of {@link SplitEnumerator} for the data of Fluss.
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/reader/FlinkSourceReader.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/reader/FlinkSourceReader.java
index 3efe46aa6..6364532bb 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/reader/FlinkSourceReader.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/reader/FlinkSourceReader.java
@@ -15,25 +15,25 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.source.reader;
+package org.apache.fluss.flink.source.reader;
 
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.flink.adapter.SingleThreadMultiplexSourceReaderBaseAdapter;
-import com.alibaba.fluss.flink.lake.LakeSplitStateInitializer;
-import com.alibaba.fluss.flink.source.emitter.FlinkRecordEmitter;
-import com.alibaba.fluss.flink.source.event.PartitionBucketsUnsubscribedEvent;
-import com.alibaba.fluss.flink.source.event.PartitionsRemovedEvent;
-import com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics;
-import com.alibaba.fluss.flink.source.reader.fetcher.FlinkSourceFetcherManager;
-import com.alibaba.fluss.flink.source.split.HybridSnapshotLogSplitState;
-import com.alibaba.fluss.flink.source.split.LogSplitState;
-import com.alibaba.fluss.flink.source.split.SourceSplitBase;
-import com.alibaba.fluss.flink.source.split.SourceSplitState;
-import com.alibaba.fluss.lake.source.LakeSource;
-import com.alibaba.fluss.lake.source.LakeSplit;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.types.RowType;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.flink.adapter.SingleThreadMultiplexSourceReaderBaseAdapter;
+import org.apache.fluss.flink.lake.LakeSplitStateInitializer;
+import org.apache.fluss.flink.source.emitter.FlinkRecordEmitter;
+import org.apache.fluss.flink.source.event.PartitionBucketsUnsubscribedEvent;
+import org.apache.fluss.flink.source.event.PartitionsRemovedEvent;
+import org.apache.fluss.flink.source.metrics.FlinkSourceReaderMetrics;
+import org.apache.fluss.flink.source.reader.fetcher.FlinkSourceFetcherManager;
+import org.apache.fluss.flink.source.split.HybridSnapshotLogSplitState;
+import org.apache.fluss.flink.source.split.LogSplitState;
+import org.apache.fluss.flink.source.split.SourceSplitBase;
+import org.apache.fluss.flink.source.split.SourceSplitState;
+import org.apache.fluss.lake.source.LakeSource;
+import org.apache.fluss.lake.source.LakeSplit;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.types.RowType;
 
 import org.apache.flink.api.connector.source.SourceEvent;
 import org.apache.flink.api.connector.source.SourceReaderContext;
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/reader/FlinkSourceSplitReader.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/reader/FlinkSourceSplitReader.java
index 9dfe4a028..b809feca5 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/reader/FlinkSourceSplitReader.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/reader/FlinkSourceSplitReader.java
@@ -15,31 +15,31 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.source.reader;
-
-import com.alibaba.fluss.client.Connection;
-import com.alibaba.fluss.client.ConnectionFactory;
-import com.alibaba.fluss.client.table.Table;
-import com.alibaba.fluss.client.table.scanner.ScanRecord;
-import com.alibaba.fluss.client.table.scanner.batch.BatchScanner;
-import com.alibaba.fluss.client.table.scanner.log.LogScanner;
-import com.alibaba.fluss.client.table.scanner.log.ScanRecords;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.exception.PartitionNotExistException;
-import com.alibaba.fluss.flink.lake.LakeSplitReaderGenerator;
-import com.alibaba.fluss.flink.metrics.FlinkMetricRegistry;
-import com.alibaba.fluss.flink.source.metrics.FlinkSourceReaderMetrics;
-import com.alibaba.fluss.flink.source.split.HybridSnapshotLogSplit;
-import com.alibaba.fluss.flink.source.split.LogSplit;
-import com.alibaba.fluss.flink.source.split.SnapshotSplit;
-import com.alibaba.fluss.flink.source.split.SourceSplitBase;
-import com.alibaba.fluss.lake.source.LakeSource;
-import com.alibaba.fluss.lake.source.LakeSplit;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.utils.CloseableIterator;
-import com.alibaba.fluss.utils.ExceptionUtils;
+package org.apache.fluss.flink.source.reader;
+
+import org.apache.fluss.client.Connection;
+import org.apache.fluss.client.ConnectionFactory;
+import org.apache.fluss.client.table.Table;
+import org.apache.fluss.client.table.scanner.ScanRecord;
+import org.apache.fluss.client.table.scanner.batch.BatchScanner;
+import org.apache.fluss.client.table.scanner.log.LogScanner;
+import org.apache.fluss.client.table.scanner.log.ScanRecords;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.exception.PartitionNotExistException;
+import org.apache.fluss.flink.lake.LakeSplitReaderGenerator;
+import org.apache.fluss.flink.metrics.FlinkMetricRegistry;
+import org.apache.fluss.flink.source.metrics.FlinkSourceReaderMetrics;
+import org.apache.fluss.flink.source.split.HybridSnapshotLogSplit;
+import org.apache.fluss.flink.source.split.LogSplit;
+import org.apache.fluss.flink.source.split.SnapshotSplit;
+import org.apache.fluss.flink.source.split.SourceSplitBase;
+import org.apache.fluss.lake.source.LakeSource;
+import org.apache.fluss.lake.source.LakeSplit;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.utils.CloseableIterator;
+import org.apache.fluss.utils.ExceptionUtils;
 
 import org.apache.flink.connector.base.source.reader.RecordsWithSplitIds;
 import org.apache.flink.connector.base.source.reader.splitreader.SplitReader;
@@ -67,8 +67,8 @@ import java.util.Optional;
 import java.util.Queue;
 import java.util.Set;
 
-import static com.alibaba.fluss.utils.Preconditions.checkArgument;
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkArgument;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /**
  * An implementation of {@link SplitReader} for reading splits into {@link RecordAndPos}.
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/reader/fetcher/FlinkSourceFetcherManager.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/reader/fetcher/FlinkSourceFetcherManager.java
index 001cd4a16..9b1c9ff0f 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/reader/fetcher/FlinkSourceFetcherManager.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/reader/fetcher/FlinkSourceFetcherManager.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.source.reader.fetcher;
+package org.apache.fluss.flink.source.reader.fetcher;
 
-import com.alibaba.fluss.flink.adapter.SingleThreadFetcherManagerAdapter;
-import com.alibaba.fluss.flink.source.reader.FlinkSourceSplitReader;
-import com.alibaba.fluss.flink.source.reader.RecordAndPos;
-import com.alibaba.fluss.flink.source.split.SourceSplitBase;
-import com.alibaba.fluss.metadata.TableBucket;
+import org.apache.fluss.flink.adapter.SingleThreadFetcherManagerAdapter;
+import org.apache.fluss.flink.source.reader.FlinkSourceSplitReader;
+import org.apache.fluss.flink.source.reader.RecordAndPos;
+import org.apache.fluss.flink.source.split.SourceSplitBase;
+import org.apache.fluss.metadata.TableBucket;
 
 import org.apache.flink.annotation.Internal;
 import org.apache.flink.configuration.Configuration;
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/split/SourceSplitSerializer.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/split/SourceSplitSerializer.java
index cdbbd3216..7ee92cef9 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/split/SourceSplitSerializer.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/source/split/SourceSplitSerializer.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.source.split;
+package org.apache.fluss.flink.source.split;
 
-import com.alibaba.fluss.flink.lake.LakeSplitSerializer;
-import com.alibaba.fluss.lake.source.LakeSource;
-import com.alibaba.fluss.lake.source.LakeSplit;
-import com.alibaba.fluss.metadata.TableBucket;
+import org.apache.fluss.flink.lake.LakeSplitSerializer;
+import org.apache.fluss.lake.source.LakeSource;
+import org.apache.fluss.lake.source.LakeSplit;
+import org.apache.fluss.metadata.TableBucket;
 
 import org.apache.flink.core.io.SimpleVersionedSerializer;
 import org.apache.flink.core.memory.DataInputDeserializer;
@@ -30,7 +30,7 @@ import javax.annotation.Nullable;
 
 import java.io.IOException;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** A serializer for the {@link SourceSplitBase}. */
 public class SourceSplitSerializer implements SimpleVersionedSerializer<SourceSplitBase> {
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/committer/FlussTableLakeSnapshot.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/committer/FlussTableLakeSnapshot.java
index a9207ca49..b0ddc062a 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/committer/FlussTableLakeSnapshot.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/committer/FlussTableLakeSnapshot.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.tiering.committer;
+package org.apache.fluss.flink.tiering.committer;
 
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.utils.types.Tuple2;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.utils.types.Tuple2;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/committer/FlussTableLakeSnapshotCommitter.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/committer/FlussTableLakeSnapshotCommitter.java
index e1b88e320..a0adc775b 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/committer/FlussTableLakeSnapshotCommitter.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/committer/FlussTableLakeSnapshotCommitter.java
@@ -15,24 +15,24 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.tiering.committer;
+package org.apache.fluss.flink.tiering.committer;
 
-import com.alibaba.fluss.client.metadata.MetadataUpdater;
-import com.alibaba.fluss.config.ConfigOptions;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.lake.committer.CommittedLakeSnapshot;
-import com.alibaba.fluss.metadata.ResolvedPartitionSpec;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metrics.registry.MetricRegistry;
-import com.alibaba.fluss.rpc.GatewayClientProxy;
-import com.alibaba.fluss.rpc.RpcClient;
-import com.alibaba.fluss.rpc.gateway.CoordinatorGateway;
-import com.alibaba.fluss.rpc.messages.CommitLakeTableSnapshotRequest;
-import com.alibaba.fluss.rpc.messages.PbLakeTableOffsetForBucket;
-import com.alibaba.fluss.rpc.messages.PbLakeTableSnapshotInfo;
-import com.alibaba.fluss.rpc.metrics.ClientMetricGroup;
-import com.alibaba.fluss.utils.ExceptionUtils;
-import com.alibaba.fluss.utils.types.Tuple2;
+import org.apache.fluss.client.metadata.MetadataUpdater;
+import org.apache.fluss.config.ConfigOptions;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.lake.committer.CommittedLakeSnapshot;
+import org.apache.fluss.metadata.ResolvedPartitionSpec;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.metrics.registry.MetricRegistry;
+import org.apache.fluss.rpc.GatewayClientProxy;
+import org.apache.fluss.rpc.RpcClient;
+import org.apache.fluss.rpc.gateway.CoordinatorGateway;
+import org.apache.fluss.rpc.messages.CommitLakeTableSnapshotRequest;
+import org.apache.fluss.rpc.messages.PbLakeTableOffsetForBucket;
+import org.apache.fluss.rpc.messages.PbLakeTableSnapshotInfo;
+import org.apache.fluss.rpc.metrics.ClientMetricGroup;
+import org.apache.fluss.utils.ExceptionUtils;
+import org.apache.fluss.utils.types.Tuple2;
 
 import java.io.IOException;
 import java.util.Map;
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/committer/TieringCommitOperator.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/committer/TieringCommitOperator.java
index 9ba32d0d6..fa52a86cd 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/committer/TieringCommitOperator.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/committer/TieringCommitOperator.java
@@ -15,29 +15,31 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.tiering.committer;
-
-import com.alibaba.fluss.client.Connection;
-import com.alibaba.fluss.client.ConnectionFactory;
-import com.alibaba.fluss.client.admin.Admin;
-import com.alibaba.fluss.client.metadata.LakeSnapshot;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.exception.LakeTableSnapshotNotExistException;
-import com.alibaba.fluss.flink.tiering.event.FailedTieringEvent;
-import com.alibaba.fluss.flink.tiering.event.FinishedTieringEvent;
-import com.alibaba.fluss.flink.tiering.source.TableBucketWriteResult;
-import com.alibaba.fluss.flink.tiering.source.TieringSource;
-import com.alibaba.fluss.lake.committer.BucketOffset;
-import com.alibaba.fluss.lake.committer.CommittedLakeSnapshot;
-import com.alibaba.fluss.lake.committer.LakeCommitter;
-import com.alibaba.fluss.lake.writer.LakeTieringFactory;
-import com.alibaba.fluss.lake.writer.LakeWriter;
-import com.alibaba.fluss.metadata.ResolvedPartitionSpec;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metadata.TableInfo;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.utils.ExceptionUtils;
-import com.alibaba.fluss.utils.json.BucketOffsetJsonSerde;
+package org.apache.fluss.flink.tiering.committer;
+
+import org.apache.fluss.client.Connection;
+import org.apache.fluss.client.ConnectionFactory;
+import org.apache.fluss.client.admin.Admin;
+import org.apache.fluss.client.metadata.LakeSnapshot;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.exception.LakeTableSnapshotNotExistException;
+import org.apache.fluss.flink.tiering.event.FailedTieringEvent;
+import org.apache.fluss.flink.tiering.event.FinishedTieringEvent;
+import org.apache.fluss.flink.tiering.source.TableBucketWriteResult;
+import org.apache.fluss.flink.tiering.source.TieringSource;
+import org.apache.fluss.lake.committer.BucketOffset;
+import org.apache.fluss.lake.committer.CommittedLakeSnapshot;
+import org.apache.fluss.lake.committer.LakeCommitter;
+import org.apache.fluss.lake.writer.LakeTieringFactory;
+import org.apache.fluss.lake.writer.LakeWriter;
+import org.apache.fluss.metadata.ResolvedPartitionSpec;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.metadata.TableInfo;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.core.JsonFactory;
+import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
+import org.apache.fluss.utils.ExceptionUtils;
+import org.apache.fluss.utils.json.BucketOffsetJsonSerde;
 
 import org.apache.flink.runtime.operators.coordination.OperatorEventGateway;
 import org.apache.flink.runtime.source.event.SourceEventWrapper;
@@ -45,8 +47,6 @@ import org.apache.flink.streaming.api.operators.AbstractStreamOperator;
 import org.apache.flink.streaming.api.operators.OneInputStreamOperator;
 import org.apache.flink.streaming.api.operators.StreamOperatorParameters;
 import org.apache.flink.streaming.runtime.streamrecord.StreamRecord;
-import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.core.JsonFactory;
-import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 
 import javax.annotation.Nullable;
 
@@ -60,8 +60,8 @@ import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import static com.alibaba.fluss.lake.committer.BucketOffset.FLUSS_LAKE_SNAP_BUCKET_OFFSET_PROPERTY;
-import static com.alibaba.fluss.utils.Preconditions.checkState;
+import static org.apache.fluss.lake.committer.BucketOffset.FLUSS_LAKE_SNAP_BUCKET_OFFSET_PROPERTY;
+import static org.apache.fluss.utils.Preconditions.checkState;
 
 /**
  * A Flink operator to aggregate {@link WriteResult}s by table to {@link Committable} which will
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/source/TieringSource.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/source/TieringSource.java
index 53038c488..1c1917987 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/source/TieringSource.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/source/TieringSource.java
@@ -15,15 +15,18 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.tiering.source;
-
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.flink.tiering.source.enumerator.TieringSourceEnumerator;
-import com.alibaba.fluss.flink.tiering.source.split.TieringSplit;
-import com.alibaba.fluss.flink.tiering.source.split.TieringSplitSerializer;
-import com.alibaba.fluss.flink.tiering.source.state.TieringSourceEnumeratorState;
-import com.alibaba.fluss.flink.tiering.source.state.TieringSourceEnumeratorStateSerializer;
-import com.alibaba.fluss.lake.writer.LakeTieringFactory;
+package org.apache.fluss.flink.tiering.source;
+
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.flink.tiering.source.enumerator.TieringSourceEnumerator;
+import org.apache.fluss.flink.tiering.source.split.TieringSplit;
+import org.apache.fluss.flink.tiering.source.split.TieringSplitSerializer;
+import org.apache.fluss.flink.tiering.source.state.TieringSourceEnumeratorState;
+import org.apache.fluss.flink.tiering.source.state.TieringSourceEnumeratorStateSerializer;
+import org.apache.fluss.lake.writer.LakeTieringFactory;
+import org.apache.fluss.shaded.guava32.com.google.common.hash.HashFunction;
+import org.apache.fluss.shaded.guava32.com.google.common.hash.Hasher;
+import org.apache.fluss.shaded.guava32.com.google.common.hash.Hashing;
 
 import org.apache.flink.api.connector.source.Boundedness;
 import org.apache.flink.api.connector.source.Source;
@@ -34,13 +37,10 @@ import org.apache.flink.api.connector.source.SplitEnumeratorContext;
 import org.apache.flink.core.io.SimpleVersionedSerializer;
 import org.apache.flink.runtime.jobgraph.OperatorID;
 import org.apache.flink.streaming.api.graph.StreamGraphHasherV2;
-import org.apache.fluss.shaded.guava32.com.google.common.hash.HashFunction;
-import org.apache.fluss.shaded.guava32.com.google.common.hash.Hasher;
-import org.apache.fluss.shaded.guava32.com.google.common.hash.Hashing;
 
 import java.nio.charset.StandardCharsets;
 
-import static com.alibaba.fluss.flink.tiering.source.TieringSourceOptions.POLL_TIERING_TABLE_INTERVAL;
+import static org.apache.fluss.flink.tiering.source.TieringSourceOptions.POLL_TIERING_TABLE_INTERVAL;
 
 /**
  * The flink source implementation for tiering data from Fluss to downstream lake.
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/utils/FlinkConversions.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/utils/FlinkConversions.java
index 49452d706..200f2075a 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/utils/FlinkConversions.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/utils/FlinkConversions.java
@@ -15,25 +15,25 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.utils;
-
-import com.alibaba.fluss.annotation.VisibleForTesting;
-import com.alibaba.fluss.config.ConfigOption;
-import com.alibaba.fluss.config.FlussConfigUtils;
-import com.alibaba.fluss.config.MemorySize;
-import com.alibaba.fluss.config.Password;
-import com.alibaba.fluss.flink.FlinkConnectorOptions;
-import com.alibaba.fluss.flink.catalog.FlinkCatalogFactory;
-import com.alibaba.fluss.metadata.DataLakeFormat;
-import com.alibaba.fluss.metadata.DatabaseDescriptor;
-import com.alibaba.fluss.metadata.Schema;
-import com.alibaba.fluss.metadata.TableDescriptor;
-import com.alibaba.fluss.metadata.TableInfo;
-import com.alibaba.fluss.record.ChangeType;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.utils.StringUtils;
-import com.alibaba.fluss.utils.TimeUtils;
+package org.apache.fluss.flink.utils;
+
+import org.apache.fluss.annotation.VisibleForTesting;
+import org.apache.fluss.config.ConfigOption;
+import org.apache.fluss.config.FlussConfigUtils;
+import org.apache.fluss.config.MemorySize;
+import org.apache.fluss.config.Password;
+import org.apache.fluss.flink.FlinkConnectorOptions;
+import org.apache.fluss.flink.catalog.FlinkCatalogFactory;
+import org.apache.fluss.metadata.DataLakeFormat;
+import org.apache.fluss.metadata.DatabaseDescriptor;
+import org.apache.fluss.metadata.Schema;
+import org.apache.fluss.metadata.TableDescriptor;
+import org.apache.fluss.metadata.TableInfo;
+import org.apache.fluss.record.ChangeType;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.utils.StringUtils;
+import org.apache.fluss.utils.TimeUtils;
 
 import org.apache.flink.configuration.Configuration;
 import org.apache.flink.table.catalog.CatalogDatabase;
@@ -55,10 +55,10 @@ import java.util.Map;
 import java.util.Optional;
 import java.util.stream.Collectors;
 
-import static com.alibaba.fluss.flink.FlinkConnectorOptions.BUCKET_KEY;
-import static com.alibaba.fluss.flink.FlinkConnectorOptions.BUCKET_NUMBER;
-import static com.alibaba.fluss.flink.adapter.CatalogTableAdapter.toCatalogTable;
 import static org.apache.flink.table.factories.FactoryUtil.CONNECTOR;
+import static org.apache.fluss.flink.FlinkConnectorOptions.BUCKET_KEY;
+import static org.apache.fluss.flink.FlinkConnectorOptions.BUCKET_NUMBER;
+import static org.apache.fluss.flink.adapter.CatalogTableAdapter.toCatalogTable;
 
 /** Utils for conversion between Flink and Fluss. */
 public class FlinkConversions {
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/utils/FlussRowToJsonConverters.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/utils/FlussRowToJsonConverters.java
index 041433b6d..680e697e1 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/utils/FlussRowToJsonConverters.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/utils/FlussRowToJsonConverters.java
@@ -15,21 +15,20 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.utils;
-
-import com.alibaba.fluss.row.Decimal;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.TimestampLtz;
-import com.alibaba.fluss.row.TimestampNtz;
-import com.alibaba.fluss.types.ArrayType;
-import com.alibaba.fluss.types.DataField;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.MapType;
-import com.alibaba.fluss.types.RowType;
+package org.apache.fluss.flink.utils;
 
+import org.apache.fluss.row.Decimal;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.row.TimestampLtz;
+import org.apache.fluss.row.TimestampNtz;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.JsonNode;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.node.ObjectNode;
+import org.apache.fluss.types.ArrayType;
+import org.apache.fluss.types.DataField;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.MapType;
+import org.apache.fluss.types.RowType;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
@@ -38,15 +37,15 @@ import java.time.LocalTime;
 import java.time.ZoneOffset;
 import java.util.Arrays;
 
-import static com.alibaba.fluss.flink.utils.TimeFormats.ISO8601_TIMESTAMP_FORMAT;
-import static com.alibaba.fluss.flink.utils.TimeFormats.ISO8601_TIMESTAMP_WITH_LOCAL_TIMEZONE_FORMAT;
-import static com.alibaba.fluss.flink.utils.TimeFormats.SQL_TIMESTAMP_FORMAT;
-import static com.alibaba.fluss.flink.utils.TimeFormats.SQL_TIMESTAMP_WITH_LOCAL_TIMEZONE_FORMAT;
-import static com.alibaba.fluss.flink.utils.TimeFormats.SQL_TIME_FORMAT;
 import static java.time.format.DateTimeFormatter.ISO_LOCAL_DATE;
+import static org.apache.fluss.flink.utils.TimeFormats.ISO8601_TIMESTAMP_FORMAT;
+import static org.apache.fluss.flink.utils.TimeFormats.ISO8601_TIMESTAMP_WITH_LOCAL_TIMEZONE_FORMAT;
+import static org.apache.fluss.flink.utils.TimeFormats.SQL_TIMESTAMP_FORMAT;
+import static org.apache.fluss.flink.utils.TimeFormats.SQL_TIMESTAMP_WITH_LOCAL_TIMEZONE_FORMAT;
+import static org.apache.fluss.flink.utils.TimeFormats.SQL_TIME_FORMAT;
 import static org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator.Feature.WRITE_BIGDECIMAL_AS_PLAIN;
 
-/** A converter to convert Fluss's {@link com.alibaba.fluss.row.InternalRow} to {@link JsonNode}. */
+/** A converter to convert Fluss's {@link org.apache.fluss.row.InternalRow} to {@link JsonNode}. */
 public class FlussRowToJsonConverters {
 
     /** Timestamp format specification which is used to parse timestamp. */
diff --git a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/utils/LakeSourceUtils.java b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/utils/LakeSourceUtils.java
index 6b849e243..88e0b5ddf 100644
--- a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/utils/LakeSourceUtils.java
+++ b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/utils/LakeSourceUtils.java
@@ -15,20 +15,20 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.utils;
+package org.apache.fluss.flink.utils;
 
-import com.alibaba.fluss.config.ConfigOptions;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.lake.lakestorage.LakeStorage;
-import com.alibaba.fluss.lake.lakestorage.LakeStoragePlugin;
-import com.alibaba.fluss.lake.lakestorage.LakeStoragePluginSetUp;
-import com.alibaba.fluss.lake.source.LakeSource;
-import com.alibaba.fluss.lake.source.LakeSplit;
-import com.alibaba.fluss.metadata.TablePath;
+import org.apache.fluss.config.ConfigOptions;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.lake.lakestorage.LakeStorage;
+import org.apache.fluss.lake.lakestorage.LakeStoragePlugin;
+import org.apache.fluss.lake.lakestorage.LakeStoragePluginSetUp;
+import org.apache.fluss.lake.source.LakeSource;
+import org.apache.fluss.lake.source.LakeSplit;
+import org.apache.fluss.metadata.TablePath;
 
 import java.util.Map;
 
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** Utils for create lake source. */
 public class LakeSourceUtils {
diff --git a/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/lake/LakeSplitSerializerTest.java b/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/lake/LakeSplitSerializerTest.java
similarity index 91%
rename from fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/lake/LakeSplitSerializerTest.java
rename to fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/lake/LakeSplitSerializerTest.java
index 2796f16e8..ff69bce92 100644
--- a/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/lake/LakeSplitSerializerTest.java
+++ b/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/lake/LakeSplitSerializerTest.java
@@ -16,14 +16,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.lake;
+package org.apache.fluss.flink.lake;
 
-import com.alibaba.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit;
-import com.alibaba.fluss.flink.lake.split.LakeSnapshotSplit;
-import com.alibaba.fluss.flink.source.split.SourceSplitBase;
-import com.alibaba.fluss.lake.serializer.SimpleVersionedSerializer;
-import com.alibaba.fluss.lake.source.LakeSplit;
-import com.alibaba.fluss.metadata.TableBucket;
+import org.apache.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit;
+import org.apache.fluss.flink.lake.split.LakeSnapshotSplit;
+import org.apache.fluss.flink.source.split.SourceSplitBase;
+import org.apache.fluss.lake.serializer.SimpleVersionedSerializer;
+import org.apache.fluss.lake.source.LakeSplit;
+import org.apache.fluss.metadata.TableBucket;
 
 import org.apache.flink.core.memory.DataInputDeserializer;
 import org.apache.flink.core.memory.DataOutputSerializer;
@@ -33,8 +33,8 @@ import java.io.IOException;
 import java.util.Collections;
 import java.util.List;
 
-import static com.alibaba.fluss.client.table.scanner.log.LogScanner.EARLIEST_OFFSET;
-import static com.alibaba.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit.LAKE_SNAPSHOT_FLUSS_LOG_SPLIT_KIND;
+import static org.apache.fluss.client.table.scanner.log.LogScanner.EARLIEST_OFFSET;
+import static org.apache.fluss.flink.lake.split.LakeSnapshotAndFlussLogSplit.LAKE_SNAPSHOT_FLUSS_LOG_SPLIT_KIND;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
diff --git a/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/lake/reader/SortMergeReaderTest.java b/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/lake/reader/SortMergeReaderTest.java
similarity index 84%
rename from fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/lake/reader/SortMergeReaderTest.java
rename to fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/lake/reader/SortMergeReaderTest.java
index dd6bc430d..edeee5829 100644
--- a/fluss-flink/fluss-flink-common/src/test/java/com/alibaba/fluss/flink/lake/reader/SortMergeReaderTest.java
+++ b/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/lake/reader/SortMergeReaderTest.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,19 +15,19 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.lake.reader;
+package org.apache.fluss.flink.lake.reader;
 
-import com.alibaba.fluss.client.table.scanner.ScanRecord;
-import com.alibaba.fluss.record.ChangeType;
-import com.alibaba.fluss.record.LogRecord;
-import com.alibaba.fluss.row.BinaryString;
-import com.alibaba.fluss.row.GenericRow;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.row.ProjectedRow;
-import com.alibaba.fluss.types.IntType;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.types.StringType;
-import com.alibaba.fluss.utils.CloseableIterator;
+import org.apache.fluss.client.table.scanner.ScanRecord;
+import org.apache.fluss.record.ChangeType;
+import org.apache.fluss.record.LogRecord;
+import org.apache.fluss.row.BinaryString;
+import org.apache.fluss.row.GenericRow;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.row.ProjectedRow;
+import org.apache.fluss.types.IntType;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.types.StringType;
+import org.apache.fluss.utils.CloseableIterator;
 
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.ValueSource;
@@ -39,7 +38,7 @@ import java.util.Comparator;
 import java.util.List;
 import java.util.stream.Collectors;
 
-import static com.alibaba.fluss.testutils.DataTestUtils.row;
+import static org.apache.fluss.testutils.DataTestUtils.row;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /** Test for {@link SortMergeReader}. */
diff --git a/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/security/acl/FlinkAuthorizationITCase.java b/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/security/acl/FlinkAuthorizationITCase.java
index 8e2afa937..05cbd7802 100644
--- a/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/security/acl/FlinkAuthorizationITCase.java
+++ b/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/security/acl/FlinkAuthorizationITCase.java
@@ -15,25 +15,25 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.security.acl;
-
-import com.alibaba.fluss.config.ConfigOptions;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.config.MemorySize;
-import com.alibaba.fluss.exception.AuthorizationException;
-import com.alibaba.fluss.flink.catalog.FlinkCatalogOptions;
-import com.alibaba.fluss.metadata.DataLakeFormat;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.security.acl.AccessControlEntry;
-import com.alibaba.fluss.security.acl.AclBinding;
-import com.alibaba.fluss.security.acl.FlussPrincipal;
-import com.alibaba.fluss.security.acl.OperationType;
-import com.alibaba.fluss.security.acl.PermissionType;
-import com.alibaba.fluss.security.acl.Resource;
-import com.alibaba.fluss.security.auth.sasl.jaas.LoginManager;
-import com.alibaba.fluss.server.testutils.FlussClusterExtension;
-import com.alibaba.fluss.utils.ParentResourceBlockingClassLoader;
-import com.alibaba.fluss.utils.TemporaryClassLoaderContext;
+package org.apache.fluss.flink.security.acl;
+
+import org.apache.fluss.config.ConfigOptions;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.config.MemorySize;
+import org.apache.fluss.exception.AuthorizationException;
+import org.apache.fluss.flink.catalog.FlinkCatalogOptions;
+import org.apache.fluss.metadata.DataLakeFormat;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.security.acl.AccessControlEntry;
+import org.apache.fluss.security.acl.AclBinding;
+import org.apache.fluss.security.acl.FlussPrincipal;
+import org.apache.fluss.security.acl.OperationType;
+import org.apache.fluss.security.acl.PermissionType;
+import org.apache.fluss.security.acl.Resource;
+import org.apache.fluss.security.auth.sasl.jaas.LoginManager;
+import org.apache.fluss.server.testutils.FlussClusterExtension;
+import org.apache.fluss.utils.ParentResourceBlockingClassLoader;
+import org.apache.fluss.utils.TemporaryClassLoaderContext;
 
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.flink.table.api.EnvironmentSettings;
@@ -55,13 +55,13 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.concurrent.ExecutionException;
 
-import static com.alibaba.fluss.flink.source.testutils.FlinkRowAssertionsUtils.assertQueryResultExactOrder;
-import static com.alibaba.fluss.flink.utils.FlinkTestBase.waitUntilPartitions;
-import static com.alibaba.fluss.security.acl.OperationType.CREATE;
-import static com.alibaba.fluss.security.acl.OperationType.DESCRIBE;
-import static com.alibaba.fluss.security.acl.OperationType.DROP;
-import static com.alibaba.fluss.security.acl.OperationType.READ;
-import static com.alibaba.fluss.security.acl.OperationType.WRITE;
+import static org.apache.fluss.flink.source.testutils.FlinkRowAssertionsUtils.assertQueryResultExactOrder;
+import static org.apache.fluss.flink.utils.FlinkTestBase.waitUntilPartitions;
+import static org.apache.fluss.security.acl.OperationType.CREATE;
+import static org.apache.fluss.security.acl.OperationType.DESCRIBE;
+import static org.apache.fluss.security.acl.OperationType.DROP;
+import static org.apache.fluss.security.acl.OperationType.READ;
+import static org.apache.fluss.security.acl.OperationType.WRITE;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
@@ -470,7 +470,7 @@ abstract class FlinkAuthorizationITCase extends AbstractTestBase {
         conf.setString("security.sasl.enabled.mechanisms", "plain");
         conf.setString(
                 "security.sasl.plain.jaas.config",
-                "com.alibaba.fluss.security.auth.sasl.plain.PlainLoginModule required "
+                "org.apache.fluss.security.auth.sasl.plain.PlainLoginModule required "
                         + "    user_root=\"password\" "
                         + "    user_guest=\"password2\";");
         conf.set(ConfigOptions.SUPER_USERS, "User:root");
diff --git a/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/source/FlinkTableSourceITCase.java b/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/source/FlinkTableSourceITCase.java
index da88014b3..24757cb05 100644
--- a/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/source/FlinkTableSourceITCase.java
+++ b/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/source/FlinkTableSourceITCase.java
@@ -15,21 +15,21 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.source;
-
-import com.alibaba.fluss.client.Connection;
-import com.alibaba.fluss.client.ConnectionFactory;
-import com.alibaba.fluss.client.admin.Admin;
-import com.alibaba.fluss.client.metadata.KvSnapshots;
-import com.alibaba.fluss.client.table.Table;
-import com.alibaba.fluss.client.table.writer.UpsertWriter;
-import com.alibaba.fluss.config.ConfigOptions;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.row.GenericRow;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.server.testutils.FlussClusterExtension;
-import com.alibaba.fluss.utils.clock.ManualClock;
+package org.apache.fluss.flink.source;
+
+import org.apache.fluss.client.Connection;
+import org.apache.fluss.client.ConnectionFactory;
+import org.apache.fluss.client.admin.Admin;
+import org.apache.fluss.client.metadata.KvSnapshots;
+import org.apache.fluss.client.table.Table;
+import org.apache.fluss.client.table.writer.UpsertWriter;
+import org.apache.fluss.config.ConfigOptions;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.row.GenericRow;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.server.testutils.FlussClusterExtension;
+import org.apache.fluss.utils.clock.ManualClock;
 
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
@@ -69,14 +69,14 @@ import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import static com.alibaba.fluss.flink.FlinkConnectorOptions.BOOTSTRAP_SERVERS;
-import static com.alibaba.fluss.flink.source.testutils.FlinkRowAssertionsUtils.assertResultsIgnoreOrder;
-import static com.alibaba.fluss.flink.utils.FlinkTestBase.waitUntilPartitions;
-import static com.alibaba.fluss.flink.utils.FlinkTestBase.writeRows;
-import static com.alibaba.fluss.flink.utils.FlinkTestBase.writeRowsToPartition;
-import static com.alibaba.fluss.server.testutils.FlussClusterExtension.BUILTIN_DATABASE;
-import static com.alibaba.fluss.testutils.DataTestUtils.row;
-import static com.alibaba.fluss.testutils.common.CommonTestUtils.waitUntil;
+import static org.apache.fluss.flink.FlinkConnectorOptions.BOOTSTRAP_SERVERS;
+import static org.apache.fluss.flink.source.testutils.FlinkRowAssertionsUtils.assertResultsIgnoreOrder;
+import static org.apache.fluss.flink.utils.FlinkTestBase.waitUntilPartitions;
+import static org.apache.fluss.flink.utils.FlinkTestBase.writeRows;
+import static org.apache.fluss.flink.utils.FlinkTestBase.writeRowsToPartition;
+import static org.apache.fluss.server.testutils.FlussClusterExtension.BUILTIN_DATABASE;
+import static org.apache.fluss.testutils.DataTestUtils.row;
+import static org.apache.fluss.testutils.common.CommonTestUtils.waitUntil;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
diff --git a/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/tiering/committer/FlussTableLakeSnapshotCommitterTest.java b/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/tiering/committer/FlussTableLakeSnapshotCommitterTest.java
index c73cd4999..d1b3ddc6d 100644
--- a/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/tiering/committer/FlussTableLakeSnapshotCommitterTest.java
+++ b/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/tiering/committer/FlussTableLakeSnapshotCommitterTest.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.tiering.committer;
+package org.apache.fluss.flink.tiering.committer;
 
-import com.alibaba.fluss.client.metadata.LakeSnapshot;
-import com.alibaba.fluss.flink.utils.FlinkTestBase;
-import com.alibaba.fluss.lake.committer.CommittedLakeSnapshot;
-import com.alibaba.fluss.metadata.ResolvedPartitionSpec;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metadata.TablePath;
+import org.apache.fluss.client.metadata.LakeSnapshot;
+import org.apache.fluss.flink.utils.FlinkTestBase;
+import org.apache.fluss.lake.committer.CommittedLakeSnapshot;
+import org.apache.fluss.metadata.ResolvedPartitionSpec;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.metadata.TablePath;
 
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
@@ -35,8 +35,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import static com.alibaba.fluss.record.TestData.DATA1_PARTITIONED_TABLE_DESCRIPTOR;
-import static com.alibaba.fluss.record.TestData.DATA1_TABLE_DESCRIPTOR;
+import static org.apache.fluss.record.TestData.DATA1_PARTITIONED_TABLE_DESCRIPTOR;
+import static org.apache.fluss.record.TestData.DATA1_TABLE_DESCRIPTOR;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /** Test for {@link FlussTableLakeSnapshotCommitter}. */
diff --git a/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/tiering/committer/TieringCommitOperatorTest.java b/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/tiering/committer/TieringCommitOperatorTest.java
index 53721c4e1..e6c412cad 100644
--- a/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/tiering/committer/TieringCommitOperatorTest.java
+++ b/fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/tiering/committer/TieringCommitOperatorTest.java
@@ -15,21 +15,21 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.flink.tiering.committer;
-
-import com.alibaba.fluss.client.metadata.LakeSnapshot;
-import com.alibaba.fluss.exception.LakeTableSnapshotNotExistException;
-import com.alibaba.fluss.flink.tiering.TestingLakeTieringFactory;
-import com.alibaba.fluss.flink.tiering.TestingWriteResult;
-import com.alibaba.fluss.flink.tiering.event.FailedTieringEvent;
-import com.alibaba.fluss.flink.tiering.event.FinishedTieringEvent;
-import com.alibaba.fluss.flink.tiering.source.TableBucketWriteResult;
-import com.alibaba.fluss.flink.utils.FlinkTestBase;
-import com.alibaba.fluss.lake.committer.CommittedLakeSnapshot;
-import com.alibaba.fluss.metadata.ResolvedPartitionSpec;
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.utils.types.Tuple2;
+package org.apache.fluss.flink.tiering.committer;
+
+import org.apache.fluss.client.metadata.LakeSnapshot;
+import org.apache.fluss.exception.LakeTableSnapshotNotExistException;
+import org.apache.fluss.flink.tiering.TestingLakeTieringFactory;
+import org.apache.fluss.flink.tiering.TestingWriteResult;
+import org.apache.fluss.flink.tiering.event.FailedTieringEvent;
+import org.apache.fluss.flink.tiering.event.FinishedTieringEvent;
+import org.apache.fluss.flink.tiering.source.TableBucketWriteResult;
+import org.apache.fluss.flink.utils.FlinkTestBase;
+import org.apache.fluss.lake.committer.CommittedLakeSnapshot;
+import org.apache.fluss.metadata.ResolvedPartitionSpec;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.utils.types.Tuple2;
 
 import org.apache.flink.configuration.Configuration;
 import org.apache.flink.runtime.jobgraph.OperatorID;
@@ -57,7 +57,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import static com.alibaba.fluss.record.TestData.DATA1_PARTITIONED_TABLE_DESCRIPTOR;
+import static org.apache.fluss.record.TestData.DATA1_PARTITIONED_TABLE_DESCRIPTOR;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
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 81%
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 775ce4aa1..55bc62ba7 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,35 +15,8 @@
  * limitations under the License.
  */
 
-<<<<<<<< HEAD:fluss-jmh/src/test/java/com/alibaba/fluss/jmh/ArrowReadableChannelBenchmark.java
-package com.alibaba.fluss.jmh;
+package org.apache.fluss.jmh;
 
-import com.alibaba.fluss.utils.ByteBufferReadableChannel;
-
-========
-package org.apache.fluss.benchmark;
-
-import org.apache.fluss.utils.ByteBufferReadableChannel;
-
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.memory.RootAllocator;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.IntVector;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.LargeVarBinaryVector;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.VectorLoader;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.VectorSchemaRoot;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.VectorUnloader;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.ipc.ReadChannel;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.ipc.WriteChannel;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.ipc.message.ArrowRecordBatch;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.ipc.message.IpcOption;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.ipc.message.MessageSerializer;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.ArrowType;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.Field;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.FieldType;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.Schema;
-import com.alibaba.fluss.shaded.zookeeper3.org.apache.zookeeper.server.ByteBufferInputStream;
->>>>>>>> c4d07399 ([INFRA] The project package name updated to org.apache.fluss.):fluss-benchmark/src/test/java/org/apache/fluss/benchmark/ArrowReadableChannelBenchmark.java
-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;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.IntVector;
@@ -61,6 +34,9 @@ import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.Field;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.FieldType;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.Schema;
 import org.apache.fluss.shaded.zookeeper3.org.apache.zookeeper.server.ByteBufferInputStream;
+import org.apache.fluss.utils.ByteBufferReadableChannel;
+
+import org.apache.commons.lang3.RandomUtils;
 import org.openjdk.jmh.annotations.Benchmark;
 import org.openjdk.jmh.annotations.Fork;
 import org.openjdk.jmh.annotations.Level;
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 81%
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 fb1f9c029..a15f52a4b 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,34 +15,9 @@
  * limitations under the License.
  */
 
-<<<<<<<< HEAD:fluss-jmh/src/test/java/com/alibaba/fluss/jmh/ArrowWritableChannelBenchmark.java
-package com.alibaba.fluss.jmh;
-
-import com.alibaba.fluss.memory.MemorySegment;
-import com.alibaba.fluss.utils.MemorySegmentWritableChannel;
-
-========
-package org.apache.fluss.benchmark;
+package org.apache.fluss.jmh;
 
 import org.apache.fluss.memory.MemorySegment;
-import org.apache.fluss.utils.MemorySegmentWritableChannel;
-
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.memory.BufferAllocator;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.memory.RootAllocator;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.IntVector;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.LargeVarBinaryVector;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.VectorSchemaRoot;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.VectorUnloader;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.ipc.WriteChannel;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.ipc.message.ArrowRecordBatch;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.ipc.message.IpcOption;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.ipc.message.MessageSerializer;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.ArrowType;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.Field;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.FieldType;
-import com.alibaba.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.Schema;
->>>>>>>> c4d07399 ([INFRA] The project package name updated to org.apache.fluss.):fluss-benchmark/src/test/java/org/apache/fluss/benchmark/ArrowWritableChannelBenchmark.java
-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;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.IntVector;
@@ -57,6 +32,9 @@ import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.ArrowTyp
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.Field;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.FieldType;
 import org.apache.fluss.shaded.arrow.org.apache.arrow.vector.types.pojo.Schema;
+import org.apache.fluss.utils.MemorySegmentWritableChannel;
+
+import org.apache.commons.lang3.RandomUtils;
 import org.openjdk.jmh.annotations.Benchmark;
 import org.openjdk.jmh.annotations.Fork;
 import org.openjdk.jmh.annotations.Level;
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 94%
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 1e45582cf..cd5ff67f2 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,11 +15,7 @@
  * limitations under the License.
  */
 
-<<<<<<<< HEAD:fluss-jmh/src/test/java/com/alibaba/fluss/jmh/LogScannerBenchmark.java
-package com.alibaba.fluss.jmh;
-========
-package org.apache.fluss.benchmark;
->>>>>>>> c4d07399 ([INFRA] The project package name updated to org.apache.fluss.):fluss-benchmark/src/test/java/org/apache/fluss/benchmark/LogScannerBenchmark.java
+package org.apache.fluss.jmh;
 
 import org.apache.fluss.client.Connection;
 import org.apache.fluss.client.ConnectionFactory;
diff --git a/fluss-kafka/pom.xml b/fluss-kafka/pom.xml
index de8894d31..ce2bd5bd4 100644
--- a/fluss-kafka/pom.xml
+++ b/fluss-kafka/pom.xml
@@ -21,7 +21,7 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>com.alibaba.fluss</groupId>
+        <groupId>org.apache.fluss</groupId>
         <artifactId>fluss</artifactId>
         <version>0.8-SNAPSHOT</version>
     </parent>
@@ -65,12 +65,12 @@
 
         <!-- test dependency -->
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-test-utils</artifactId>
         </dependency>
 
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-common</artifactId>
             <version>${project.version}</version>
             <type>test-jar</type>
@@ -78,7 +78,7 @@
         </dependency>
 
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-server</artifactId>
             <version>${project.version}</version>
             <type>test-jar</type>
diff --git a/fluss-kafka/src/main/java/org/apache/fluss/kafka/KafkaChannelInitializer.java b/fluss-kafka/src/main/java/org/apache/fluss/kafka/KafkaChannelInitializer.java
index 34e986690..bf57ea0d5 100644
--- a/fluss-kafka/src/main/java/org/apache/fluss/kafka/KafkaChannelInitializer.java
+++ b/fluss-kafka/src/main/java/org/apache/fluss/kafka/KafkaChannelInitializer.java
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.kafka;
-
-import com.alibaba.fluss.rpc.netty.NettyChannelInitializer;
-import com.alibaba.fluss.rpc.netty.server.RequestChannel;
+package org.apache.fluss.kafka;
 
+import org.apache.fluss.rpc.netty.NettyChannelInitializer;
+import org.apache.fluss.rpc.netty.server.RequestChannel;
 import org.apache.fluss.shaded.netty4.io.netty.channel.ChannelInitializer;
 import org.apache.fluss.shaded.netty4.io.netty.channel.socket.SocketChannel;
 import org.apache.fluss.shaded.netty4.io.netty.handler.codec.LengthFieldPrepender;
diff --git a/fluss-kafka/src/main/java/org/apache/fluss/kafka/KafkaCommandDecoder.java b/fluss-kafka/src/main/java/org/apache/fluss/kafka/KafkaCommandDecoder.java
index c0d892595..43a0533b2 100644
--- a/fluss-kafka/src/main/java/org/apache/fluss/kafka/KafkaCommandDecoder.java
+++ b/fluss-kafka/src/main/java/org/apache/fluss/kafka/KafkaCommandDecoder.java
@@ -15,17 +15,17 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.kafka;
-
-import com.alibaba.fluss.rpc.netty.server.RequestChannel;
-import com.alibaba.fluss.utils.MathUtils;
+package org.apache.fluss.kafka;
 
+import org.apache.fluss.rpc.netty.server.RequestChannel;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.ByteBuf;
 import org.apache.fluss.shaded.netty4.io.netty.channel.ChannelHandlerContext;
 import org.apache.fluss.shaded.netty4.io.netty.channel.SimpleChannelInboundHandler;
 import org.apache.fluss.shaded.netty4.io.netty.handler.timeout.IdleState;
 import org.apache.fluss.shaded.netty4.io.netty.handler.timeout.IdleStateEvent;
 import org.apache.fluss.shaded.netty4.io.netty.util.ReferenceCountUtil;
+import org.apache.fluss.utils.MathUtils;
+
 import org.apache.kafka.common.errors.LeaderNotAvailableException;
 import org.apache.kafka.common.protocol.ApiKeys;
 import org.apache.kafka.common.requests.AbstractRequest;
diff --git a/fluss-kafka/src/main/java/org/apache/fluss/kafka/KafkaProtocolPlugin.java b/fluss-kafka/src/main/java/org/apache/fluss/kafka/KafkaProtocolPlugin.java
index 861bb5ce0..076641759 100644
--- a/fluss-kafka/src/main/java/org/apache/fluss/kafka/KafkaProtocolPlugin.java
+++ b/fluss-kafka/src/main/java/org/apache/fluss/kafka/KafkaProtocolPlugin.java
@@ -15,16 +15,15 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.kafka;
-
-import com.alibaba.fluss.config.ConfigOptions;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.rpc.RpcGatewayService;
-import com.alibaba.fluss.rpc.gateway.TabletServerGateway;
-import com.alibaba.fluss.rpc.netty.server.RequestChannel;
-import com.alibaba.fluss.rpc.netty.server.RequestHandler;
-import com.alibaba.fluss.rpc.protocol.NetworkProtocolPlugin;
+package org.apache.fluss.kafka;
 
+import org.apache.fluss.config.ConfigOptions;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.rpc.RpcGatewayService;
+import org.apache.fluss.rpc.gateway.TabletServerGateway;
+import org.apache.fluss.rpc.netty.server.RequestChannel;
+import org.apache.fluss.rpc.netty.server.RequestHandler;
+import org.apache.fluss.rpc.protocol.NetworkProtocolPlugin;
 import org.apache.fluss.shaded.netty4.io.netty.channel.ChannelHandler;
 
 import java.util.List;
diff --git a/fluss-kafka/src/main/java/org/apache/fluss/kafka/KafkaRequest.java b/fluss-kafka/src/main/java/org/apache/fluss/kafka/KafkaRequest.java
index 449969926..25e409a74 100644
--- a/fluss-kafka/src/main/java/org/apache/fluss/kafka/KafkaRequest.java
+++ b/fluss-kafka/src/main/java/org/apache/fluss/kafka/KafkaRequest.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.kafka;
-
-import com.alibaba.fluss.rpc.netty.server.RpcRequest;
-import com.alibaba.fluss.rpc.protocol.RequestType;
+package org.apache.fluss.kafka;
 
+import org.apache.fluss.rpc.netty.server.RpcRequest;
+import org.apache.fluss.rpc.protocol.RequestType;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.ByteBuf;
 import org.apache.fluss.shaded.netty4.io.netty.channel.ChannelHandlerContext;
 import org.apache.fluss.shaded.netty4.io.netty.util.ReferenceCountUtil;
+
 import org.apache.kafka.common.protocol.ApiKeys;
 import org.apache.kafka.common.protocol.ApiMessage;
 import org.apache.kafka.common.protocol.ByteBufferAccessor;
diff --git a/fluss-kafka/src/test/java/org/apache/fluss/kafka/KafkaRequestHandlerTest.java b/fluss-kafka/src/test/java/org/apache/fluss/kafka/KafkaRequestHandlerTest.java
index 13a59c263..24e4ce8a6 100644
--- a/fluss-kafka/src/test/java/org/apache/fluss/kafka/KafkaRequestHandlerTest.java
+++ b/fluss-kafka/src/test/java/org/apache/fluss/kafka/KafkaRequestHandlerTest.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.kafka;
-
-import com.alibaba.fluss.rpc.TestingTabletGatewayService;
+package org.apache.fluss.kafka;
 
+import org.apache.fluss.rpc.TestingTabletGatewayService;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.ByteBuf;
 import org.apache.fluss.shaded.netty4.io.netty.buffer.ByteBufAllocator;
 import org.apache.fluss.shaded.netty4.io.netty.channel.ChannelHandlerContext;
+
 import org.apache.kafka.common.protocol.ApiKeys;
 import org.apache.kafka.common.protocol.Errors;
 import org.apache.kafka.common.requests.AbstractResponse;
diff --git a/fluss-lake/fluss-lake-iceberg/pom.xml b/fluss-lake/fluss-lake-iceberg/pom.xml
index e0443c49b..0b328c1bc 100644
--- a/fluss-lake/fluss-lake-iceberg/pom.xml
+++ b/fluss-lake/fluss-lake-iceberg/pom.xml
@@ -22,7 +22,7 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>com.alibaba.fluss</groupId>
+        <groupId>org.apache.fluss</groupId>
         <artifactId>fluss-lake</artifactId>
         <version>0.8-SNAPSHOT</version>
     </parent>
@@ -71,25 +71,25 @@
 
         <!-- test dependency -->
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-common</artifactId>
             <version>${project.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-flink-common</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-server</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-server</artifactId>
             <version>${project.version}</version>
             <type>test-jar</type>
@@ -97,7 +97,7 @@
         </dependency>
 
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-common</artifactId>
             <version>${project.version}</version>
             <type>test-jar</type>
@@ -105,7 +105,7 @@
         </dependency>
 
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-test-utils</artifactId>
         </dependency>
 
@@ -180,13 +180,13 @@
 
         <!-- Flink test dependency -->
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-flink-${flink.major.version}</artifactId>
             <scope>test</scope>
         </dependency>
 
         <dependency>
-            <groupId>com.alibaba.fluss</groupId>
+            <groupId>org.apache.fluss</groupId>
             <artifactId>fluss-flink-common</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/FlussDataTypeToIcebergDataType.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/FlussDataTypeToIcebergDataType.java
similarity index 78%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/FlussDataTypeToIcebergDataType.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/FlussDataTypeToIcebergDataType.java
index bfd47b05b..aa1a97b44 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/FlussDataTypeToIcebergDataType.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/FlussDataTypeToIcebergDataType.java
@@ -15,28 +15,28 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg;
-
-import com.alibaba.fluss.types.ArrayType;
-import com.alibaba.fluss.types.BigIntType;
-import com.alibaba.fluss.types.BinaryType;
-import com.alibaba.fluss.types.BooleanType;
-import com.alibaba.fluss.types.BytesType;
-import com.alibaba.fluss.types.CharType;
-import com.alibaba.fluss.types.DataTypeVisitor;
-import com.alibaba.fluss.types.DateType;
-import com.alibaba.fluss.types.DecimalType;
-import com.alibaba.fluss.types.DoubleType;
-import com.alibaba.fluss.types.FloatType;
-import com.alibaba.fluss.types.IntType;
-import com.alibaba.fluss.types.LocalZonedTimestampType;
-import com.alibaba.fluss.types.MapType;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.types.SmallIntType;
-import com.alibaba.fluss.types.StringType;
-import com.alibaba.fluss.types.TimeType;
-import com.alibaba.fluss.types.TimestampType;
-import com.alibaba.fluss.types.TinyIntType;
+package org.apache.fluss.lake.iceberg;
+
+import org.apache.fluss.types.ArrayType;
+import org.apache.fluss.types.BigIntType;
+import org.apache.fluss.types.BinaryType;
+import org.apache.fluss.types.BooleanType;
+import org.apache.fluss.types.BytesType;
+import org.apache.fluss.types.CharType;
+import org.apache.fluss.types.DataTypeVisitor;
+import org.apache.fluss.types.DateType;
+import org.apache.fluss.types.DecimalType;
+import org.apache.fluss.types.DoubleType;
+import org.apache.fluss.types.FloatType;
+import org.apache.fluss.types.IntType;
+import org.apache.fluss.types.LocalZonedTimestampType;
+import org.apache.fluss.types.MapType;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.types.SmallIntType;
+import org.apache.fluss.types.StringType;
+import org.apache.fluss.types.TimeType;
+import org.apache.fluss.types.TimestampType;
+import org.apache.fluss.types.TinyIntType;
 
 import org.apache.iceberg.types.Type;
 import org.apache.iceberg.types.Types;
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/IcebergLakeCatalog.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalog.java
similarity index 93%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/IcebergLakeCatalog.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalog.java
index 46eb9f65d..25b101608 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/IcebergLakeCatalog.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalog.java
@@ -15,16 +15,16 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg;
+package org.apache.fluss.lake.iceberg;
 
-import com.alibaba.fluss.annotation.VisibleForTesting;
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.exception.TableAlreadyExistException;
-import com.alibaba.fluss.lake.iceberg.conf.IcebergConfiguration;
-import com.alibaba.fluss.lake.lakestorage.LakeCatalog;
-import com.alibaba.fluss.metadata.TableDescriptor;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.utils.IOUtils;
+import org.apache.fluss.annotation.VisibleForTesting;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.exception.TableAlreadyExistException;
+import org.apache.fluss.lake.iceberg.conf.IcebergConfiguration;
+import org.apache.fluss.lake.lakestorage.LakeCatalog;
+import org.apache.fluss.metadata.TableDescriptor;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.utils.IOUtils;
 
 import org.apache.iceberg.PartitionSpec;
 import org.apache.iceberg.Schema;
@@ -46,9 +46,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import static com.alibaba.fluss.metadata.TableDescriptor.BUCKET_COLUMN_NAME;
-import static com.alibaba.fluss.metadata.TableDescriptor.OFFSET_COLUMN_NAME;
-import static com.alibaba.fluss.metadata.TableDescriptor.TIMESTAMP_COLUMN_NAME;
+import static org.apache.fluss.metadata.TableDescriptor.BUCKET_COLUMN_NAME;
+import static org.apache.fluss.metadata.TableDescriptor.OFFSET_COLUMN_NAME;
+import static org.apache.fluss.metadata.TableDescriptor.TIMESTAMP_COLUMN_NAME;
 import static org.apache.iceberg.CatalogUtil.buildIcebergCatalog;
 
 /** An Iceberg implementation of {@link LakeCatalog}. */
@@ -139,7 +139,7 @@ public class IcebergLakeCatalog implements LakeCatalog {
         int fieldId = 0;
 
         // general columns
-        for (com.alibaba.fluss.metadata.Schema.Column column :
+        for (org.apache.fluss.metadata.Schema.Column column :
                 tableDescriptor.getSchema().getColumns()) {
             String colName = column.getName();
             if (SYSTEM_COLUMNS.containsKey(colName)) {
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/IcebergLakeStorage.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/IcebergLakeStorage.java
similarity index 80%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/IcebergLakeStorage.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/IcebergLakeStorage.java
index 9e8daf365..fc3bf97c7 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/IcebergLakeStorage.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/IcebergLakeStorage.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg;
-
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.lake.iceberg.tiering.IcebergLakeTieringFactory;
-import com.alibaba.fluss.lake.lakestorage.LakeStorage;
-import com.alibaba.fluss.lake.source.LakeSource;
-import com.alibaba.fluss.lake.writer.LakeTieringFactory;
-import com.alibaba.fluss.metadata.TablePath;
+package org.apache.fluss.lake.iceberg;
+
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.lake.iceberg.tiering.IcebergLakeTieringFactory;
+import org.apache.fluss.lake.lakestorage.LakeStorage;
+import org.apache.fluss.lake.source.LakeSource;
+import org.apache.fluss.lake.writer.LakeTieringFactory;
+import org.apache.fluss.metadata.TablePath;
 
 /** Iceberg implementation of {@link LakeStorage}. */
 public class IcebergLakeStorage implements LakeStorage {
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/IcebergLakeStoragePlugin.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/IcebergLakeStoragePlugin.java
similarity index 85%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/IcebergLakeStoragePlugin.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/IcebergLakeStoragePlugin.java
index 8c5ece2ba..28ec4d19c 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/IcebergLakeStoragePlugin.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/IcebergLakeStoragePlugin.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg;
+package org.apache.fluss.lake.iceberg;
 
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.lake.lakestorage.LakeStorage;
-import com.alibaba.fluss.lake.lakestorage.LakeStoragePlugin;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.lake.lakestorage.LakeStorage;
+import org.apache.fluss.lake.lakestorage.LakeStoragePlugin;
 
 /** Iceberg implementation of {@link LakeStoragePlugin}. */
 public class IcebergLakeStoragePlugin implements LakeStoragePlugin {
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/conf/HadoopConfSerde.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/conf/HadoopConfSerde.java
similarity index 97%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/conf/HadoopConfSerde.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/conf/HadoopConfSerde.java
index ffb26c56d..d0334af0f 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/conf/HadoopConfSerde.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/conf/HadoopConfSerde.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.conf;
+package org.apache.fluss.lake.iceberg.conf;
 
 import org.apache.hadoop.conf.Configuration;
 
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/conf/HadoopUtils.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/conf/HadoopUtils.java
similarity index 97%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/conf/HadoopUtils.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/conf/HadoopUtils.java
index f93cdd7df..5aad1d5bf 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/conf/HadoopUtils.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/conf/HadoopUtils.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.conf;
+package org.apache.fluss.lake.iceberg.conf;
 
-import com.alibaba.fluss.config.ConfigBuilder;
+import org.apache.fluss.config.ConfigBuilder;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hdfs.HdfsConfiguration;
@@ -40,7 +40,7 @@ public class HadoopUtils {
     private static final String[] FLUSS_CONFIG_PREFIXES = {"iceberg.hadoop."};
 
     public static Configuration getHadoopConfiguration(
-            com.alibaba.fluss.config.Configuration flussConfiguration) {
+            org.apache.fluss.config.Configuration flussConfiguration) {
 
         // Instantiate an HdfsConfiguration to load the hdfs-site.xml and hdfs-default.xml
         // from the classpath
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/conf/IcebergConfiguration.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/conf/IcebergConfiguration.java
similarity index 95%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/conf/IcebergConfiguration.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/conf/IcebergConfiguration.java
index b2b277745..285febb43 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/conf/IcebergConfiguration.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/conf/IcebergConfiguration.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.conf;
+package org.apache.fluss.lake.iceberg.conf;
 
-import com.alibaba.fluss.annotation.VisibleForTesting;
-import com.alibaba.fluss.config.Configuration;
+import org.apache.fluss.annotation.VisibleForTesting;
+import org.apache.fluss.config.Configuration;
 
 import org.apache.iceberg.common.DynClasses;
 import org.slf4j.Logger;
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/FlussRecordAsIcebergRecord.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/FlussRecordAsIcebergRecord.java
similarity index 82%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/FlussRecordAsIcebergRecord.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/FlussRecordAsIcebergRecord.java
index a28378d0b..0748c89c3 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/FlussRecordAsIcebergRecord.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/FlussRecordAsIcebergRecord.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,29 +15,29 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.tiering;
-
-import com.alibaba.fluss.record.LogRecord;
-import com.alibaba.fluss.row.InternalRow;
-import com.alibaba.fluss.types.BigIntType;
-import com.alibaba.fluss.types.BinaryType;
-import com.alibaba.fluss.types.BooleanType;
-import com.alibaba.fluss.types.BytesType;
-import com.alibaba.fluss.types.CharType;
-import com.alibaba.fluss.types.DataType;
-import com.alibaba.fluss.types.DateType;
-import com.alibaba.fluss.types.DecimalType;
-import com.alibaba.fluss.types.DoubleType;
-import com.alibaba.fluss.types.FloatType;
-import com.alibaba.fluss.types.IntType;
-import com.alibaba.fluss.types.LocalZonedTimestampType;
-import com.alibaba.fluss.types.RowType;
-import com.alibaba.fluss.types.SmallIntType;
-import com.alibaba.fluss.types.StringType;
-import com.alibaba.fluss.types.TimeType;
-import com.alibaba.fluss.types.TimestampType;
-import com.alibaba.fluss.types.TinyIntType;
-import com.alibaba.fluss.utils.DateTimeUtils;
+package org.apache.fluss.lake.iceberg.tiering;
+
+import org.apache.fluss.record.LogRecord;
+import org.apache.fluss.row.InternalRow;
+import org.apache.fluss.types.BigIntType;
+import org.apache.fluss.types.BinaryType;
+import org.apache.fluss.types.BooleanType;
+import org.apache.fluss.types.BytesType;
+import org.apache.fluss.types.CharType;
+import org.apache.fluss.types.DataType;
+import org.apache.fluss.types.DateType;
+import org.apache.fluss.types.DecimalType;
+import org.apache.fluss.types.DoubleType;
+import org.apache.fluss.types.FloatType;
+import org.apache.fluss.types.IntType;
+import org.apache.fluss.types.LocalZonedTimestampType;
+import org.apache.fluss.types.RowType;
+import org.apache.fluss.types.SmallIntType;
+import org.apache.fluss.types.StringType;
+import org.apache.fluss.types.TimeType;
+import org.apache.fluss.types.TimestampType;
+import org.apache.fluss.types.TinyIntType;
+import org.apache.fluss.utils.DateTimeUtils;
 
 import org.apache.iceberg.Schema;
 import org.apache.iceberg.data.Record;
@@ -50,7 +49,7 @@ import java.time.OffsetDateTime;
 import java.time.ZoneOffset;
 import java.util.Map;
 
-import static com.alibaba.fluss.utils.Preconditions.checkState;
+import static org.apache.fluss.utils.Preconditions.checkState;
 
 /**
  * Wrap Fluss {@link LogRecord} as Iceberg {@link Record}.
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergCatalogProvider.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergCatalogProvider.java
similarity index 86%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergCatalogProvider.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergCatalogProvider.java
index b27f94e02..3c53918ec 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergCatalogProvider.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergCatalogProvider.java
@@ -15,17 +15,17 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.tiering;
+package org.apache.fluss.lake.iceberg.tiering;
 
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.lake.iceberg.conf.IcebergConfiguration;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.lake.iceberg.conf.IcebergConfiguration;
 
 import org.apache.iceberg.catalog.Catalog;
 
 import java.io.Serializable;
 import java.util.Map;
 
-import static com.alibaba.fluss.lake.iceberg.IcebergLakeCatalog.ICEBERG_CATALOG_DEFAULT_NAME;
+import static org.apache.fluss.lake.iceberg.IcebergLakeCatalog.ICEBERG_CATALOG_DEFAULT_NAME;
 import static org.apache.iceberg.CatalogUtil.buildIcebergCatalog;
 
 /** A provider for Iceberg catalog. */
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergCommittable.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergCommittable.java
similarity index 98%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergCommittable.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergCommittable.java
index 938ebc477..1019eab45 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergCommittable.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergCommittable.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.tiering;
+package org.apache.fluss.lake.iceberg.tiering;
 
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.DeleteFile;
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergCommittableSerializer.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergCommittableSerializer.java
similarity index 91%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergCommittableSerializer.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergCommittableSerializer.java
index 0ec247a74..fc722293a 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergCommittableSerializer.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergCommittableSerializer.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.tiering;
+package org.apache.fluss.lake.iceberg.tiering;
 
-import com.alibaba.fluss.lake.serializer.SimpleVersionedSerializer;
-import com.alibaba.fluss.utils.InstantiationUtils;
+import org.apache.fluss.lake.serializer.SimpleVersionedSerializer;
+import org.apache.fluss.utils.InstantiationUtils;
 
 import java.io.IOException;
 
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergLakeCommitter.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergLakeCommitter.java
similarity index 94%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergLakeCommitter.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergLakeCommitter.java
index 376589d3a..2df44d3de 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergLakeCommitter.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergLakeCommitter.java
@@ -15,16 +15,16 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.tiering;
-
-import com.alibaba.fluss.lake.committer.BucketOffset;
-import com.alibaba.fluss.lake.committer.CommittedLakeSnapshot;
-import com.alibaba.fluss.lake.committer.LakeCommitter;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.utils.json.BucketOffsetJsonSerde;
+package org.apache.fluss.lake.iceberg.tiering;
 
+import org.apache.fluss.lake.committer.BucketOffset;
+import org.apache.fluss.lake.committer.CommittedLakeSnapshot;
+import org.apache.fluss.lake.committer.LakeCommitter;
+import org.apache.fluss.metadata.TablePath;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.JsonNode;
 import org.apache.fluss.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.fluss.utils.json.BucketOffsetJsonSerde;
+
 import org.apache.iceberg.AppendFiles;
 import org.apache.iceberg.CatalogUtil;
 import org.apache.iceberg.DataFile;
@@ -48,10 +48,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
-import static com.alibaba.fluss.lake.committer.BucketOffset.FLUSS_LAKE_SNAP_BUCKET_OFFSET_PROPERTY;
-import static com.alibaba.fluss.lake.iceberg.utils.IcebergConversions.toIceberg;
-import static com.alibaba.fluss.lake.writer.LakeTieringFactory.FLUSS_LAKE_TIERING_COMMIT_USER;
-import static com.alibaba.fluss.utils.Preconditions.checkNotNull;
+import static org.apache.fluss.lake.committer.BucketOffset.FLUSS_LAKE_SNAP_BUCKET_OFFSET_PROPERTY;
+import static org.apache.fluss.lake.iceberg.utils.IcebergConversions.toIceberg;
+import static org.apache.fluss.lake.writer.LakeTieringFactory.FLUSS_LAKE_TIERING_COMMIT_USER;
+import static org.apache.fluss.utils.Preconditions.checkNotNull;
 
 /** Implementation of {@link LakeCommitter} for Iceberg. */
 public class IcebergLakeCommitter implements LakeCommitter<IcebergWriteResult, IcebergCommittable> {
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergLakeTieringFactory.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergLakeTieringFactory.java
similarity index 82%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergLakeTieringFactory.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergLakeTieringFactory.java
index e3a101c4a..9f5510479 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergLakeTieringFactory.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergLakeTieringFactory.java
@@ -15,15 +15,15 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.tiering;
-
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.lake.committer.CommitterInitContext;
-import com.alibaba.fluss.lake.committer.LakeCommitter;
-import com.alibaba.fluss.lake.serializer.SimpleVersionedSerializer;
-import com.alibaba.fluss.lake.writer.LakeTieringFactory;
-import com.alibaba.fluss.lake.writer.LakeWriter;
-import com.alibaba.fluss.lake.writer.WriterInitContext;
+package org.apache.fluss.lake.iceberg.tiering;
+
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.lake.committer.CommitterInitContext;
+import org.apache.fluss.lake.committer.LakeCommitter;
+import org.apache.fluss.lake.serializer.SimpleVersionedSerializer;
+import org.apache.fluss.lake.writer.LakeTieringFactory;
+import org.apache.fluss.lake.writer.LakeWriter;
+import org.apache.fluss.lake.writer.WriterInitContext;
 
 import java.io.IOException;
 
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergLakeWriter.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergLakeWriter.java
similarity index 91%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergLakeWriter.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergLakeWriter.java
index 8c3feb64e..c5765b7d1 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergLakeWriter.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergLakeWriter.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.tiering;
+package org.apache.fluss.lake.iceberg.tiering;
 
-import com.alibaba.fluss.lake.iceberg.tiering.writer.AppendOnlyTaskWriter;
-import com.alibaba.fluss.lake.iceberg.tiering.writer.DeltaTaskWriter;
-import com.alibaba.fluss.lake.writer.LakeWriter;
-import com.alibaba.fluss.lake.writer.WriterInitContext;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.record.LogRecord;
+import org.apache.fluss.lake.iceberg.tiering.writer.AppendOnlyTaskWriter;
+import org.apache.fluss.lake.iceberg.tiering.writer.DeltaTaskWriter;
+import org.apache.fluss.lake.writer.LakeWriter;
+import org.apache.fluss.lake.writer.WriterInitContext;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.record.LogRecord;
 
 import org.apache.iceberg.FileFormat;
 import org.apache.iceberg.Schema;
@@ -38,7 +38,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-import static com.alibaba.fluss.lake.iceberg.utils.IcebergConversions.toIceberg;
+import static org.apache.fluss.lake.iceberg.utils.IcebergConversions.toIceberg;
 import static org.apache.iceberg.TableProperties.WRITE_TARGET_FILE_SIZE_BYTES;
 import static org.apache.iceberg.TableProperties.WRITE_TARGET_FILE_SIZE_BYTES_DEFAULT;
 
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergWriteResult.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergWriteResult.java
similarity index 97%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergWriteResult.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergWriteResult.java
index bc0c0605f..cd2825ce5 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergWriteResult.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergWriteResult.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.tiering;
+package org.apache.fluss.lake.iceberg.tiering;
 
 import org.apache.iceberg.io.WriteResult;
 
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergWriteResultSerializer.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergWriteResultSerializer.java
similarity index 91%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergWriteResultSerializer.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergWriteResultSerializer.java
index 86c6e6849..26bb02a77 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/IcebergWriteResultSerializer.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/IcebergWriteResultSerializer.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.tiering;
+package org.apache.fluss.lake.iceberg.tiering;
 
-import com.alibaba.fluss.lake.serializer.SimpleVersionedSerializer;
-import com.alibaba.fluss.utils.InstantiationUtils;
+import org.apache.fluss.lake.serializer.SimpleVersionedSerializer;
+import org.apache.fluss.utils.InstantiationUtils;
 
 import org.apache.iceberg.io.WriteResult;
 
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/RecordWriter.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/RecordWriter.java
similarity index 92%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/RecordWriter.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/RecordWriter.java
index 444338e3e..6a78cec15 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/RecordWriter.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/RecordWriter.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.tiering;
+package org.apache.fluss.lake.iceberg.tiering;
 
-import com.alibaba.fluss.metadata.TableBucket;
-import com.alibaba.fluss.record.LogRecord;
-import com.alibaba.fluss.types.RowType;
+import org.apache.fluss.metadata.TableBucket;
+import org.apache.fluss.record.LogRecord;
+import org.apache.fluss.types.RowType;
 
 import org.apache.iceberg.Schema;
 import org.apache.iceberg.data.Record;
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/writer/AppendOnlyTaskWriter.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/writer/AppendOnlyTaskWriter.java
similarity index 92%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/writer/AppendOnlyTaskWriter.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/writer/AppendOnlyTaskWriter.java
index 59c05f7d6..6f204ca30 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/writer/AppendOnlyTaskWriter.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/writer/AppendOnlyTaskWriter.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.tiering.writer;
+package org.apache.fluss.lake.iceberg.tiering.writer;
 
-import com.alibaba.fluss.lake.iceberg.tiering.RecordWriter;
-import com.alibaba.fluss.lake.writer.WriterInitContext;
-import com.alibaba.fluss.record.LogRecord;
+import org.apache.fluss.lake.iceberg.tiering.RecordWriter;
+import org.apache.fluss.lake.writer.WriterInitContext;
+import org.apache.fluss.record.LogRecord;
 
 import org.apache.iceberg.FileFormat;
 import org.apache.iceberg.Table;
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/writer/DeltaTaskWriter.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/writer/DeltaTaskWriter.java
similarity index 94%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/writer/DeltaTaskWriter.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/writer/DeltaTaskWriter.java
index 573ca1265..677ae1e67 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/writer/DeltaTaskWriter.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/writer/DeltaTaskWriter.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.tiering.writer;
+package org.apache.fluss.lake.iceberg.tiering.writer;
 
-import com.alibaba.fluss.lake.iceberg.tiering.RecordWriter;
-import com.alibaba.fluss.lake.writer.WriterInitContext;
-import com.alibaba.fluss.record.LogRecord;
+import org.apache.fluss.lake.iceberg.tiering.RecordWriter;
+import org.apache.fluss.lake.writer.WriterInitContext;
+import org.apache.fluss.record.LogRecord;
 
 import org.apache.iceberg.FileFormat;
 import org.apache.iceberg.Schema;
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/writer/GenericRecordAppendOnlyWriter.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/writer/GenericRecordAppendOnlyWriter.java
similarity index 92%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/writer/GenericRecordAppendOnlyWriter.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/writer/GenericRecordAppendOnlyWriter.java
index 864414ee7..8d5130304 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/writer/GenericRecordAppendOnlyWriter.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/writer/GenericRecordAppendOnlyWriter.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.tiering.writer;
+package org.apache.fluss.lake.iceberg.tiering.writer;
 
-import com.alibaba.fluss.lake.writer.WriterInitContext;
+import org.apache.fluss.lake.writer.WriterInitContext;
 
 import org.apache.iceberg.FileFormat;
 import org.apache.iceberg.Table;
@@ -30,7 +30,7 @@ import org.apache.iceberg.io.OutputFileFactory;
 
 import java.io.IOException;
 
-import static com.alibaba.fluss.lake.iceberg.utils.IcebergConversions.toPartition;
+import static org.apache.fluss.lake.iceberg.utils.IcebergConversions.toPartition;
 
 /** A generic task writer to write {@link Record} for append-only table. * */
 public class GenericRecordAppendOnlyWriter extends BaseTaskWriter<Record> {
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/writer/GenericRecordDeltaWriter.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/writer/GenericRecordDeltaWriter.java
similarity index 94%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/writer/GenericRecordDeltaWriter.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/writer/GenericRecordDeltaWriter.java
index 5adae1a3a..d327ef176 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/tiering/writer/GenericRecordDeltaWriter.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/tiering/writer/GenericRecordDeltaWriter.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.tiering.writer;
+package org.apache.fluss.lake.iceberg.tiering.writer;
 
-import com.alibaba.fluss.lake.writer.WriterInitContext;
+import org.apache.fluss.lake.writer.WriterInitContext;
 
 import org.apache.iceberg.FileFormat;
 import org.apache.iceberg.PartitionKey;
@@ -32,7 +32,7 @@ import org.apache.iceberg.io.OutputFileFactory;
 
 import java.io.IOException;
 
-import static com.alibaba.fluss.lake.iceberg.utils.IcebergConversions.toPartition;
+import static org.apache.fluss.lake.iceberg.utils.IcebergConversions.toPartition;
 
 /** A generic task equality delta writer. * */
 class GenericRecordDeltaWriter extends BaseTaskWriter<Record> {
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/utils/IcebergConversions.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/utils/IcebergConversions.java
similarity index 91%
rename from fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/utils/IcebergConversions.java
rename to fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/utils/IcebergConversions.java
index 617f33959..2b53fe7a3 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/com/alibaba/fluss/lake/iceberg/utils/IcebergConversions.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/utils/IcebergConversions.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.utils;
+package org.apache.fluss.lake.iceberg.utils;
 
-import com.alibaba.fluss.metadata.TablePath;
+import org.apache.fluss.metadata.TablePath;
 
 import org.apache.iceberg.PartitionKey;
 import org.apache.iceberg.PartitionSpec;
@@ -27,7 +27,7 @@ import org.apache.iceberg.catalog.TableIdentifier;
 
 import javax.annotation.Nullable;
 
-import static com.alibaba.fluss.metadata.ResolvedPartitionSpec.PARTITION_SPEC_SEPARATOR;
+import static org.apache.fluss.metadata.ResolvedPartitionSpec.PARTITION_SPEC_SEPARATOR;
 
 /** Utility class for static conversions between Fluss and Iceberg types. */
 public class IcebergConversions {
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/resources/META-INF/services/com.alibaba.fluss.lake.lakestorage.LakeStoragePlugin b/fluss-lake/fluss-lake-iceberg/src/main/resources/META-INF/services/com.alibaba.fluss.lake.lakestorage.LakeStoragePlugin
deleted file mode 100644
index 164379dfc..000000000
--- a/fluss-lake/fluss-lake-iceberg/src/main/resources/META-INF/services/com.alibaba.fluss.lake.lakestorage.LakeStoragePlugin
+++ /dev/null
@@ -1,19 +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.
-#
-
-com.alibaba.fluss.lake.iceberg.IcebergLakeStoragePlugin
\ No newline at end of file
diff --git a/fluss-filesystems/fluss-fs-obs/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/fluss-lake/fluss-lake-iceberg/src/main/resources/META-INF/services/org.apache.fluss.lake.lakestorage.LakeStoragePlugin
similarity index 93%
copy from fluss-filesystems/fluss-fs-obs/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
copy to fluss-lake/fluss-lake-iceberg/src/main/resources/META-INF/services/org.apache.fluss.lake.lakestorage.LakeStoragePlugin
index 590243ea8..60cb90c3f 100644
--- a/fluss-filesystems/fluss-fs-obs/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
+++ b/fluss-lake/fluss-lake-iceberg/src/main/resources/META-INF/services/org.apache.fluss.lake.lakestorage.LakeStoragePlugin
@@ -16,4 +16,4 @@
 # limitations under the License.
 #
 
-com.alibaba.fluss.testutils.common.TestLoggerExtension
\ No newline at end of file
+org.apache.fluss.lake.iceberg.IcebergLakeStoragePlugin
\ No newline at end of file
diff --git a/fluss-lake/fluss-lake-iceberg/src/test/java/com/alibaba/fluss/lake/iceberg/IcebergLakeCatalogTest.java b/fluss-lake/fluss-lake-iceberg/src/test/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalogTest.java
similarity index 97%
rename from fluss-lake/fluss-lake-iceberg/src/test/java/com/alibaba/fluss/lake/iceberg/IcebergLakeCatalogTest.java
rename to fluss-lake/fluss-lake-iceberg/src/test/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalogTest.java
index 393f5a17e..ef6bdb45e 100644
--- a/fluss-lake/fluss-lake-iceberg/src/test/java/com/alibaba/fluss/lake/iceberg/IcebergLakeCatalogTest.java
+++ b/fluss-lake/fluss-lake-iceberg/src/test/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalogTest.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg;
+package org.apache.fluss.lake.iceberg;
 
-import com.alibaba.fluss.config.Configuration;
-import com.alibaba.fluss.metadata.Schema;
-import com.alibaba.fluss.metadata.TableDescriptor;
-import com.alibaba.fluss.metadata.TablePath;
-import com.alibaba.fluss.types.DataTypes;
+import org.apache.fluss.config.Configuration;
+import org.apache.fluss.metadata.Schema;
+import org.apache.fluss.metadata.TableDescriptor;
+import org.apache.fluss.metadata.TablePath;
+import org.apache.fluss.types.DataTypes;
 
 import org.apache.iceberg.PartitionField;
 import org.apache.iceberg.SortDirection;
@@ -39,9 +39,9 @@ import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
 
-import static com.alibaba.fluss.metadata.TableDescriptor.BUCKET_COLUMN_NAME;
-import static com.alibaba.fluss.metadata.TableDescriptor.OFFSET_COLUMN_NAME;
-import static com.alibaba.fluss.metadata.TableDescriptor.TIMESTAMP_COLUMN_NAME;
+import static org.apache.fluss.metadata.TableDescriptor.BUCKET_COLUMN_NAME;
+import static org.apache.fluss.metadata.TableDescriptor.OFFSET_COLUMN_NAME;
+import static org.apache.fluss.metadata.TableDescriptor.TIMESTAMP_COLUMN_NAME;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.AssertionsForClassTypes.assertThatThrownBy;
 
diff --git a/fluss-lake/fluss-lake-iceberg/src/test/java/com/alibaba/fluss/lake/iceberg/conf/IcebergConfigurationTest.java b/fluss-lake/fluss-lake-iceberg/src/test/java/org/apache/fluss/lake/iceberg/conf/IcebergConfigurationTest.java
similarity index 98%
rename from fluss-lake/fluss-lake-iceberg/src/test/java/com/alibaba/fluss/lake/iceberg/conf/IcebergConfigurationTest.java
rename to fluss-lake/fluss-lake-iceberg/src/test/java/org/apache/fluss/lake/iceberg/conf/IcebergConfigurationTest.java
index 749ae86ab..aa99af70a 100644
--- a/fluss-lake/fluss-lake-iceberg/src/test/java/com/alibaba/fluss/lake/iceberg/conf/IcebergConfigurationTest.java
+++ b/fluss-lake/fluss-lake-iceberg/src/test/java/org/apache/fluss/lake/iceberg/conf/IcebergConfigurationTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.conf;
+package org.apache.fluss.lake.iceberg.conf;
 
 import org.apache.hadoop.conf.Configuration;
 import org.junit.jupiter.api.Test;
diff --git a/fluss-lake/fluss-lake-iceberg/src/test/java/com/alibaba/fluss/lake/iceberg/testutils/FlinkIcebergTieringTestBase.java b/fluss-lake/fluss-lake-iceberg/src/test/java/org/apache/fluss/lake/iceberg/testutils/FlinkIcebergTieringTestBase.java
similarity index 91%
rename from fluss-lake/fluss-lake-iceberg/src/test/java/com/alibaba/fluss/lake/iceberg/testutils/FlinkIcebergTieringTestBase.java
rename to fluss-lake/fluss-lake-iceberg/src/test/java/org/apache/fluss/lake/iceberg/testutils/FlinkIcebergTieringTestBase.java
index 26de89e09..5eafb47e8 100644
--- a/fluss-lake/fluss-lake-iceberg/src/test/java/com/alibaba/fluss/lake/iceberg/testutils/FlinkIcebergTieringTestBase.java
+++ b/fluss-lake/fluss-lake-iceberg/src/test/java/org/apache/fluss/lake/iceberg/testutils/FlinkIcebergTieringTestBase.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,31 +15,31 @@
  * limitations under the License.
  */
 
-package com.alibaba.fluss.lake.iceberg.testutils;
... 7340 lines suppressed ...