This is an automated email from the ASF dual-hosted git repository.
jark pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/fluss.git
from 543c703fb [FLUSS-1961][docs] Upgrade Docusaurus to 3.9.2 (#1962)
new ea2d61c76 [server][client] Support Schema Evolution (ADD COLUMN LAST)
in Fluss and connector (#2010)
new 07721fe6e [server][client] Improve the design and performance of ADD
COLUMN operation
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../org/apache/fluss/client/FlussConnection.java | 1 -
.../org/apache/fluss/client/admin/FlussAdmin.java | 16 +-
.../fluss/client/lookup/AbstractLookuper.java | 180 +++++++++++++
.../fluss/client/lookup/PrefixKeyLookuper.java | 49 ++--
.../apache/fluss/client/lookup/PrefixLookup.java | 5 +-
.../fluss/client/lookup/PrimaryKeyLookuper.java | 51 ++--
.../apache/fluss/client/lookup/TableLookup.java | 18 +-
.../fluss/client/metadata/ClientSchemaGetter.java | 117 +++++++++
.../org/apache/fluss/client/table/FlussTable.java | 10 +-
.../fluss/client/table/scanner/TableScan.java | 29 ++-
.../scanner/batch/KvSnapshotBatchScanner.java | 22 +-
.../table/scanner/batch/LimitBatchScanner.java | 45 +++-
.../table/scanner/batch/SnapshotFilesReader.java | 45 +++-
.../fluss/client/table/scanner/log/LogFetcher.java | 15 +-
.../client/table/scanner/log/LogScannerImpl.java | 9 +-
.../fluss/client/utils/ClientRpcMessageUtils.java | 91 +++++++
.../apache/fluss/client/write/KvWriteBatch.java | 9 +
.../fluss/client/write/RecordAccumulator.java | 6 +-
.../org/apache/fluss/client/write/WriteRecord.java | 6 +-
.../apache/fluss/client/write/WriterClient.java | 1 +
.../client/admin/ClientToServerITCaseBase.java | 4 +
.../fluss/client/admin/FlussAdminITCase.java | 119 ++++++++-
.../fluss/client/lookup/LookupSenderTest.java | 3 +-
.../client/metadata/TestingMetadataUpdater.java | 4 +-
.../fluss/client/table/FlussTableITCase.java | 205 +++++++++++++++
.../fluss/client/table/PartitionedTableITCase.java | 2 +-
.../batch/KvSnapshotBatchScannerITCase.java | 83 +++++-
.../scanner/log/DefaultCompletedFetchTest.java | 24 +-
.../table/scanner/log/LogFetchBufferTest.java | 4 +-
.../table/scanner/log/LogFetchCollectorTest.java | 6 +-
.../client/table/scanner/log/LogFetcherTest.java | 131 +++++++++-
.../scanner/log/RemoteCompletedFetchTest.java | 20 +-
.../fluss/client/write/ArrowLogWriteBatchTest.java | 11 +-
.../client/write/IndexedLogWriteBatchTest.java | 11 +-
.../fluss/client/write/KvWriteBatchTest.java | 5 +-
.../fluss/client/write/RecordAccumulatorTest.java | 9 +-
...erConfigOpType.java => ColumnPositionType.java} | 38 ++-
.../org/apache/fluss/exception/ApiException.java | 16 +-
...stException.java => SchemaChangeException.java} | 19 +-
.../java/org/apache/fluss/metadata/Schema.java | 96 +++++--
.../org/apache/fluss/metadata/SchemaGetter.java | 75 ++++++
.../org/apache/fluss/metadata/TableChange.java | 279 ++++++++++++++++++++
.../java/org/apache/fluss/metadata/TableInfo.java | 22 ++
.../{TimestampAndOffset.java => BinaryValue.java} | 57 ++---
.../apache/fluss/record/DefaultLogRecordBatch.java | 43 +++-
.../fluss/record/DefaultValueRecordBatch.java | 1 +
.../org/apache/fluss/record/FileLogProjection.java | 187 +++++++++-----
.../org/apache/fluss/record/IndexedLogRecord.java | 2 +-
.../apache/fluss/record/KvRecordReadContext.java | 29 ++-
.../org/apache/fluss/record/LogRecordBatch.java | 16 ++
.../apache/fluss/record/LogRecordReadContext.java | 137 ++++++----
.../fluss/record/ProjectionPushdownCache.java | 90 +++++++
.../fluss/record/ValueRecordReadContext.java | 29 ++-
.../main/java/org/apache/fluss/row/PaddingRow.java | 133 ++++++++++
.../java/org/apache/fluss/row/ProjectedRow.java | 18 ++
.../fluss/row/decode/FixedSchemaDecoder.java | 95 +++++++
.../org/apache/fluss/row/decode/RowDecoder.java | 5 +-
.../org/apache/fluss/row/encode/ValueDecoder.java | 49 ++--
.../org/apache/fluss/row/encode/ValueEncoder.java | 2 +-
.../main/java/org/apache/fluss/types/RowType.java | 8 +-
.../java/org/apache/fluss/utils/Projection.java | 84 +++++--
.../java/org/apache/fluss/utils/SchemaUtil.java | 81 ++++++
.../java/org/apache/fluss/utils/UnsafeUtils.java | 4 +
.../apache/fluss/utils/json/ColumnJsonSerde.java | 14 +-
.../apache/fluss/utils/json/SchemaJsonSerde.java | 7 +
.../fluss/record/DefaultKvRecordBatchTest.java | 3 +-
.../apache/fluss/record/DefaultKvRecordTest.java | 7 +-
.../fluss/record/DefaultLogRecordBatchTest.java | 21 +-
.../fluss/record/FileLogInputStreamTest.java | 5 +-
.../apache/fluss/record/FileLogProjectionTest.java | 212 +++++++++++-----
.../org/apache/fluss/record/LogRecordsTest.java | 10 +-
.../java/org/apache/fluss/record/LogTestBase.java | 7 +-
.../record/MemoryLogRecordsArrowBuilderTest.java | 6 +-
.../java/org/apache/fluss/record/TestData.java | 3 +
.../apache/fluss/record/TestingSchemaGetter.java | 83 ++++++
.../java/org/apache/fluss/row/PaddingRowTest.java | 79 ++++++
.../org/apache/fluss/row/ProjectedRowTest.java | 69 +++++
.../org/apache/fluss/testutils/DataTestUtils.java | 94 +++++--
.../fluss/testutils/LogRecordBatchAssert.java | 11 +-
.../apache/fluss/testutils/LogRecordsAssert.java | 9 +
.../org/apache/fluss/utils/ProjectionTest.java | 14 +-
.../fluss/utils/json/ColumnJsonSerdeTest.java | 31 ++-
.../fluss/utils/json/SchemaJsonSerdeTest.java | 40 ++-
.../flink/sink/FlinkRowDataChannelComputer.java | 2 +
.../sink/serializer/FlussSerializationSchema.java | 10 +-
.../serializer/RowDataSerializationSchema.java | 74 +++++-
.../sink/serializer/SerializerInitContextImpl.java | 19 +-
.../fluss/flink/sink/writer/FlinkSinkWriter.java | 23 +-
.../deserializer/RowDataDeserializationSchema.java | 5 +-
.../source/lookup/FlinkAsyncLookupFunction.java | 9 +-
.../flink/source/lookup/FlinkLookupFunction.java | 9 +-
.../source/reader/FlinkSourceSplitReader.java | 11 +-
.../apache/fluss/flink/utils/FlinkConversions.java | 55 ++++
.../fluss/flink/catalog/FlinkCatalogITCase.java | 21 +-
.../fluss/flink/sink/FlinkTableSinkITCase.java | 152 +++++++++++
.../flink/sink/writer/FlinkSinkWriterTest.java | 52 +++-
.../FlussDeserializationSchemaTest.java | 13 +-
.../source/lookup/FlinkLookupFunctionTest.java | 127 +++++++++-
.../source/reader/FlinkSourceSplitReaderTest.java | 38 +--
.../committer/TieringCommitOperatorTest.java | 4 +-
fluss-rpc/src/main/proto/FlussApi.proto | 33 ++-
.../coordinator/CoordinatorEventProcessor.java | 44 ++++
.../coordinator/CoordinatorRequestBatch.java | 5 +-
.../server/coordinator/CoordinatorService.java | 43 +++-
.../fluss/server/coordinator/MetadataManager.java | 37 ++-
.../fluss/server/coordinator/SchemaUpdate.java | 123 +++++++++
...bletServerEvent.java => SchemaChangeEvent.java} | 44 ++--
.../event/watcher/TableChangeWatcher.java | 29 +++
.../java/org/apache/fluss/server/kv/KvManager.java | 22 +-
.../apache/fluss/server/kv/KvRecoverHelper.java | 94 ++++---
.../java/org/apache/fluss/server/kv/KvTablet.java | 150 +++++++----
.../server/kv/partialupdate/PartialUpdater.java | 45 ++--
.../kv/partialupdate/PartialUpdaterCache.java | 17 +-
.../server/kv/rowmerger/DefaultRowMerger.java | 28 +--
.../server/kv/rowmerger/FirstRowRowMerger.java | 12 +-
.../fluss/server/kv/rowmerger/RowMerger.java | 33 +--
.../server/kv/rowmerger/VersionedRowMerger.java | 31 ++-
.../org/apache/fluss/server/log/FetchParams.java | 13 +-
.../fluss/server/metadata/ServerSchemaCache.java | 206 +++++++++++++++
.../server/metadata/TabletServerMetadataCache.java | 28 +++
.../org/apache/fluss/server/replica/Replica.java | 67 ++---
.../fluss/server/replica/ReplicaManager.java | 22 +-
.../fluss/server/utils/ServerRpcMessageUtils.java | 84 ++++++-
.../apache/fluss/server/zk/ZooKeeperClient.java | 64 +++--
.../org/apache/fluss/server/zk/data/ZkData.java | 28 +++
.../coordinator/CoordinatorEventProcessorTest.java | 108 +++++++-
.../server/coordinator/CoordinatorTestUtils.java | 23 +-
.../event/watcher/TableChangeWatcherTest.java | 92 ++++++-
.../org/apache/fluss/server/kv/KvManagerTest.java | 84 ++++++-
.../org/apache/fluss/server/kv/KvTabletTest.java | 280 +++++++++++++++++----
.../server/kv/rowmerger/DefaultRowMergerTest.java | 67 +++--
.../kv/rowmerger/VersionedRowMergerTest.java | 74 ++++--
.../fluss/server/log/DroppedTableRecoveryTest.java | 11 +-
.../apache/fluss/server/log/FetchParamsTest.java | 36 ++-
.../apache/fluss/server/log/LogManagerTest.java | 4 +-
.../apache/fluss/server/log/LogSegmentTest.java | 4 +-
.../org/apache/fluss/server/log/LogTabletTest.java | 7 +-
.../server/metadata/ServerSchemaCacheTest.java | 173 +++++++++++++
.../fluss/server/replica/ReplicaManagerTest.java | 79 ++++--
.../apache/fluss/server/replica/ReplicaTest.java | 142 ++++++++++-
.../fluss/server/replica/ReplicaTestBase.java | 8 +-
.../replica/fetcher/ReplicaFetcherManagerTest.java | 2 +-
.../replica/fetcher/ReplicaFetcherThreadTest.java | 2 +-
.../fluss/server/tablet/TabletServiceITCase.java | 9 +-
.../server/tablet/TestTabletServerGateway.java | 15 +-
.../server/testutils/FlussClusterExtension.java | 29 +++
.../server/testutils/RpcMessageTestUtils.java | 37 ++-
.../fluss/server/zk/ZooKeeperClientTest.java | 9 +-
.../apache/fluss/server/zk/data/ZkDataTest.java | 18 ++
149 files changed, 5892 insertions(+), 1053 deletions(-)
create mode 100644
fluss-client/src/main/java/org/apache/fluss/client/lookup/AbstractLookuper.java
create mode 100644
fluss-client/src/main/java/org/apache/fluss/client/metadata/ClientSchemaGetter.java
copy
fluss-common/src/main/java/org/apache/fluss/config/cluster/{AlterConfigOpType.java
=> ColumnPositionType.java} (58%)
copy
fluss-common/src/main/java/org/apache/fluss/exception/{DatabaseAlreadyExistException.java
=> SchemaChangeException.java} (71%)
create mode 100644
fluss-common/src/main/java/org/apache/fluss/metadata/SchemaGetter.java
copy
fluss-common/src/main/java/org/apache/fluss/record/{TimestampAndOffset.java =>
BinaryValue.java} (53%)
create mode 100644
fluss-common/src/main/java/org/apache/fluss/record/ProjectionPushdownCache.java
create mode 100644
fluss-common/src/main/java/org/apache/fluss/row/PaddingRow.java
create mode 100644
fluss-common/src/main/java/org/apache/fluss/row/decode/FixedSchemaDecoder.java
create mode 100644
fluss-common/src/main/java/org/apache/fluss/utils/SchemaUtil.java
create mode 100644
fluss-common/src/test/java/org/apache/fluss/record/TestingSchemaGetter.java
create mode 100644
fluss-common/src/test/java/org/apache/fluss/row/PaddingRowTest.java
create mode 100644
fluss-server/src/main/java/org/apache/fluss/server/coordinator/SchemaUpdate.java
copy
fluss-server/src/main/java/org/apache/fluss/server/coordinator/event/{DeadTabletServerEvent.java
=> SchemaChangeEvent.java} (54%)
create mode 100644
fluss-server/src/main/java/org/apache/fluss/server/metadata/ServerSchemaCache.java
create mode 100644
fluss-server/src/test/java/org/apache/fluss/server/metadata/ServerSchemaCacheTest.java