Skip to content

HBASE-29588: New HFile Design For MultiTenant Support#7296

Open
sairampola wants to merge 139 commits intoapache:HBASE-29588-featurefrom
sairampola:hfilev4logical
Open

HBASE-29588: New HFile Design For MultiTenant Support#7296
sairampola wants to merge 139 commits intoapache:HBASE-29588-featurefrom
sairampola:hfilev4logical

Conversation

@sairampola
Copy link
Copy Markdown

No description provided.

sairampola added 30 commits April 15, 2025 19:31
sairampola added 30 commits February 25, 2026 19:21
…ection entries to ensure non-negative offsets and positive sizes, maintaining order integrity
…cient next-section lookup. Added resolveCurrentSectionIndex method and updated findNextTenantSectionId to utilize the new index, improving performance and clarity
…nt exceeding maximum limits. Update MultiTenantHFileWriter to remove write verification and improve bloom filter handling. Refactor BucketCache to utilize BlockCacheUtil for HFile name matching, enhancing code clarity and maintainability
…egative offsets in constructors and seek/read methods. Update logging in TenantExtractorFactory to use debug level for improved clarity. Refactor MultiTenantStreamReader to optimize initialization checks. Adjust MultiTenantHFileSplittingTest to simplify table name generation.
…ader with section size validation and improved seek/read methods. Introduce new methods for checking bounds and clamping read lengths. Update MultiTenantBloomSupport interface to include row prefix bloom filter checks. Add tests for seekBefore functionality across tenant sections to ensure correct fallback behavior.
…gement of parent streams, improving resource management during closure. Update AbstractMultiTenantReader to handle section size validation and improve error handling for section initialization. Introduce checks for invalid tenant prefix lengths in SectionIndexManager, ensuring robust validation of section entries. Refactor logging for clarity and consistency across various components.
…cle by ensuring prevCell references are copied to on-heap before scanner recycling. This change aligns with the v4 bloom filter management strategy, improving resource handling during the shipping process.
…ingFSStream to reduce allocation overhead. Update AbstractMultiTenantReader's toString method for improved readability. Refactor DefaultTenantExtractor to enforce maximum prefix length validation. Modify MultiTenantReaderFactory to use a switch statement for reader type creation, improving clarity and error handling. Enhance SectionIndexManager with a fast prefix-to-entry lookup and refactor section entry handling for better performance.
…ror handling. Update MultiTenantFSDataInputStreamWrapper to ensure non-negative offsets and enforce section boundaries during read operations. Refactor AbstractMultiTenantReader to handle tenant index metadata more robustly, including checks for valid prefix lengths and improved logging for section initialization. Introduce a new test for the reseekTo functionality in MultiTenantScanner to ensure compliance with forward-only movement requirements. Additionally, adjust DefaultTenantExtractor to prevent allocation during tenant section ID comparisons, enhancing performance.
…FileReader to improve validation. Introduce checks for section count in bloom filter retrieval methods. Update passesDeleteFamilyBloomFilter and passesGeneralRowBloomFilter methods to streamline logic and enhance error handling. Add a new test for multi-tenant bloom filter correctness across multiple sections.
…d flag and streamline the close method. Update MultiTenantHFileWriter to catch and rethrow exceptions as IOException for improved error handling during section closure.
…lude DEFAULT_ERROR_TOLERATION_DURATION and configuration parameters. This change enhances error handling and ensures consistent cache restoration behavior during tests.
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.

2 participants