Skip to content

feat: support external path for global index#52

Merged
lszskye merged 7 commits intoalibaba:mainfrom
lszskye:external_path_for_global_index
Jan 13, 2026
Merged

feat: support external path for global index#52
lszskye merged 7 commits intoalibaba:mainfrom
lszskye:external_path_for_global_index

Conversation

@lszskye
Copy link
Copy Markdown
Collaborator

@lszskye lszskye commented Jan 12, 2026

Purpose

Enable global index store in external path

Linked issue: #5

Tests

GlobalIndexTest.TestDataEvolutionBatchScanWithExternalPath

@lszskye lszskye requested a review from lxy-9602 January 12, 2026 08:39
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for storing global index files in an external path, allowing users to separate index storage from the main table directory.

Changes:

  • Added new configuration option global-index.external-path to specify an external directory for global index files
  • Renamed GlobalIndexIOMeta::file_name to file_path to support full path tracking for external indices
  • Updated IndexFileMeta constructor to accept dv_ranges and external_path parameters consistently across all usages

Reviewed changes

Copilot reviewed 45 out of 45 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
include/paimon/defs.h Added new option constant GLOBAL_INDEX_EXTERNAL_PATH with documentation
src/paimon/common/defs.cpp Implemented the new option constant
src/paimon/core/core_options.h Added getter and creator methods for global index external path
src/paimon/core/core_options.cpp Implemented parsing and validation logic for the new option
src/paimon/core/utils/file_store_path_factory.h Added parameter and getter for global index external path
src/paimon/core/utils/file_store_path_factory.cpp Implemented path resolution logic that respects external paths
include/paimon/global_index/global_index_io_meta.h Renamed field from file_name to file_path for clarity
include/paimon/global_index/io/global_index_file_writer.h Added ToPath method to interface
src/paimon/core/global_index/global_index_file_manager.h Enhanced file manager to handle external paths
src/paimon/core/global_index/global_index_write_task.cpp Updated to extract file name from full path and store external path in metadata
src/paimon/core/global_index/row_range_global_index_scanner_impl.cpp Updated to use full file path instead of just file name
src/paimon/core/index/index_file_meta.h Removed deprecated 4-parameter constructor that omitted dv_ranges and external_path
src/paimon/global_index/lumina/lumina_global_index.cpp Updated to use file_path field and extract file name for path operations
src/paimon/common/global_index/bitmap/bitmap_global_index.cpp Updated to use file_path field
src/paimon/common/global_index/wrap/file_index_writer_wrapper.h Updated to store full path in metadata
test/inte/global_index_test.cpp Added comprehensive test TestDataEvolutionBatchScanWithExternalPath and updated existing tests
Multiple test files Updated all test files with new constructor signatures for IndexFileMeta
Multiple operation files Updated all file store operations to pass the new global index external path parameter

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@lucasfang
Copy link
Copy Markdown
Collaborator

+1

@lszskye lszskye merged commit 001d5d6 into alibaba:main Jan 13, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants