Skip to content

Conversation

@kingherc
Copy link
Contributor

@kingherc kingherc commented Dec 9, 2025

Migrating:

  • PrimaryTermAndGeneration
  • ClosedShardService
  • BlobFile
  • BatchedCompoundCommit
  • Blob ranges
  • ReplicatedContent
  • VirtualBatchedCompoundCommit. Needed to make some functions public, but will revert them to package private in the future, when more classes will have been migrated.

and related functionality and tests.
Also migrating thread pools.

Relates ES-13590

@kingherc kingherc requested a review from Copilot December 9, 2025 17:35
@kingherc kingherc self-assigned this Dec 9, 2025
@kingherc kingherc added >non-issue :Distributed Indexing/Distributed A catch all label for anything in the Distributed Indexing Area. Please avoid if you can. Team:Distributed Indexing Meta label for Distributed Indexing team v9.3.0 labels Dec 9, 2025
Copy link
Contributor

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 pull request migrates commit-related classes and functionality from one location to the stateless plugin module, along with related thread pool configurations. The changes support the stateless architecture by consolidating commit management, blob storage handling, and resource allocation in a centralized location.

Key changes:

  • Migration of core commit classes (StatelessCompoundCommit, BatchedCompoundCommit, VirtualBatchedCompoundCommit) and supporting types
  • Addition of thread pool configurations for stateless operations
  • Implementation of test utilities and comprehensive test coverage for migrated classes

Reviewed changes

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

Show a summary per file
File Description
PrimaryTermAndGenerationTests.java Test suite for primary term and generation tracking
VirtualBatchedCompoundCommitTestUtils.java Test utilities for virtual batched compound commits
StatelessCompoundCommitTests.java Comprehensive tests for stateless compound commit functionality
StatelessCompoundCommitTestUtils.java Helper utilities for creating test instances
StatelessCompoundCommitInternalFileTests.java Tests for internal file sorting logic
ReplicatedContentTests.java Tests for replicated content handling in commits
InternalFilesReplicatedRangesTests.java Tests for replicated range serialization
BlobLocationTests.java Tests for blob location handling
BlobLocationTestUtils.java Test utilities for blob locations
BlobFileRangesTestUtils.java Test utilities for blob file ranges
Lucene90CompoundEntriesReaderTests.java Tests for compound file entry reading
StatelessCommitRef.java Wrapper for Lucene commits with additional stateless metadata
PrimaryTermAndGeneration.java Record for tracking primary term and generation pairs
NewCommitNotification.java Notification record for newly created compound commits
VirtualBatchedCompoundCommit.java Implementation of virtual batched compound commits with ref-counting
StatelessCompoundCommit.java Core implementation of stateless compound commits
ReplicatedContent.java Implementation of replicated content for compound commits
InternalFilesReplicatedRanges.java Representation of replicated byte ranges in commits
ClosedShardService.java Service for managing state of closed shards
BlobLocation.java Record representing file locations within blob storage
BlobFileRanges.java Implementation for determining read positions in blob files
BlobFile.java Record representing blob files in storage
BatchedCompoundCommit.java Implementation of batched compound commits
AbstractBatchedCompoundCommit.java Interface for batched compound commit implementations
Lucene90CompoundEntriesReader.java Reader for Lucene 90 compound file entries
StatelessPlugin.java Plugin configuration with thread pool setup
module-info.java Module descriptor with updated dependencies and exports

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

@elasticsearchmachine elasticsearchmachine added the serverless-linked Added by automation, don't add manually label Dec 9, 2025
Migrating:
* PrimaryTermAndGeneration
* ClosedShardService
* BlobFile
* BatchedCompoundCommit
* Blob ranges
* ReplicatedContent
* VirtualBatchedCompoundCommit

and related functionality and tests.

Relates ES-13590
@kingherc kingherc force-pushed the non-issue/ES-13590-stateless-commits branch from 7a5eca9 to 8c22e6f Compare December 9, 2025 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Distributed Indexing/Distributed A catch all label for anything in the Distributed Indexing Area. Please avoid if you can. >non-issue serverless-linked Added by automation, don't add manually Team:Distributed Indexing Meta label for Distributed Indexing team v9.3.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants