Skip to content

Commit 020a14d

Browse files
committed
docs: preserve comments across refactoring
1 parent e357418 commit 020a14d

4 files changed

Lines changed: 10 additions & 1 deletion

File tree

include/paimon/realtime/arrow_realtime_store_factory.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ namespace paimon {
2626
/// Factory for Paimon's default Arrow-backed `RealtimeStore`.
2727
class PAIMON_EXPORT ArrowRealtimeStoreFactory : public RealtimeStoreFactory {
2828
public:
29+
/// Creates an Arrow-backed store for one partition and bucket.
2930
Result<std::shared_ptr<RealtimeStore>> Create(RealtimeStoreCreateRequest&& request) override;
3031
};
3132

include/paimon/realtime/realtime_store.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ class PAIMON_EXPORT RealtimeStoreFactory {
189189
public:
190190
virtual ~RealtimeStoreFactory() = default;
191191

192+
/// Creates a store configured with the supplied schema, statistics, options, and memory pool.
192193
/// Creates a store for the requested table mode.
193194
/// The factory consumes `request`, including ownership of `request.write_schema`.
194195
virtual Result<std::shared_ptr<RealtimeStore>> Create(RealtimeStoreCreateRequest&& request) = 0;

src/paimon/core/mergetree/merge_tree_writer.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,16 +172,20 @@ Status MergeTreeWriter::WriteSortedReadersToFiles(
172172
}
173173
}
174174

175+
// 2. prepare loser tree sort merge reader
175176
auto sort_merge_reader = std::make_unique<SortMergeReaderWithLoserTree>(
176177
std::move(readers), key_comparator_, user_defined_seq_comparator_, merge_function_wrapper_);
177178
raw_readers_guard.Release();
179+
// 3. project key value to arrow array
178180
auto create_consumer = [target_schema = write_schema_, pool = pool_]()
179181
-> Result<std::unique_ptr<RowToArrowArrayConverter<KeyValue, KeyValueBatch>>> {
180182
return KeyValueMetaProjectionConsumer::Create(target_schema, pool);
181183
};
184+
// consumer batch size is WriteBatchSize
182185
auto async_key_value_producer_consumer =
183186
std::make_unique<AsyncKeyValueProducerAndConsumer<KeyValue, KeyValueBatch>>(
184-
std::move(sort_merge_reader), create_consumer, options_.GetWriteBatchSize(), 1, pool_);
187+
std::move(sort_merge_reader), create_consumer, options_.GetWriteBatchSize(),
188+
/*projection_thread_num=*/1, pool_);
185189
ScopeGuard async_readers_guard([&]() -> void { async_key_value_producer_consumer->Close(); });
186190
std::unique_ptr<RollingFileWriter<KeyValueBatch, std::shared_ptr<DataFileMeta>>> rolling_writer;
187191
PAIMON_ASSIGN_OR_RAISE(rolling_writer, CreateRollingRowWriter());
@@ -309,6 +313,7 @@ Status MergeTreeWriter::FlushWriteBuffer(bool wait_for_latest_compaction,
309313
wait_for_latest_compaction = true;
310314
}
311315
auto cleanup_guard = ScopeGuard([&]() { write_buffer_->Clear(); });
316+
// 1. flush write buffer to get sorted readers
312317
PAIMON_ASSIGN_OR_RAISE(std::vector<std::unique_ptr<KeyValueRecordReader>> readers,
313318
write_buffer_->CreateReaders());
314319
PAIMON_RETURN_NOT_OK(WriteSortedReadersToFiles(std::move(readers)));

src/paimon/core/operation/merge_file_split_read.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -663,6 +663,7 @@ MergeFileSplitRead::CreateRecordReadersForSection(
663663
std::vector<std::unique_ptr<KeyValueRecordReader>> record_readers;
664664
record_readers.reserve(section.size());
665665
for (const SortedRun& run : section) {
666+
// no overlap in a run
666667
PAIMON_ASSIGN_OR_RAISE(
667668
std::unique_ptr<KeyValueRecordReader> run_reader,
668669
CreateReaderForRun(partition, run, dv_factory, predicate, data_file_path_factory));
@@ -722,6 +723,7 @@ Result<std::unique_ptr<SortMergeReader>> MergeFileSplitRead::CreateSortMergeRead
722723
DeletionVector::Factory dv_factory, const std::shared_ptr<Predicate>& predicate,
723724
const std::shared_ptr<DataFilePathFactory>& data_file_path_factory, bool drop_delete,
724725
const std::shared_ptr<MergeFunctionWrapper<KeyValue>>& merge_function_wrapper) {
726+
// with overlap in one section
725727
PAIMON_ASSIGN_OR_RAISE(std::vector<std::unique_ptr<KeyValueRecordReader>> record_readers,
726728
CreateRecordReadersForSection(section, partition, dv_factory, predicate,
727729
data_file_path_factory));

0 commit comments

Comments
 (0)