OpenSearch
OpenSearch copied to clipboard
Introduce TranslogFactory for Local/Remote Translog support
Signed-off-by: Bukhtawar Khan [email protected]
Description
[Describe what this change achieves]
Issues Resolved
[List any issues this PR will resolve]
Check List
- [ ] New functionality includes testing.
- [ ] All tests pass
- [ ] New functionality has been documented.
- [ ] New functionality has javadoc added
- [ ] Commits are signed per the DCO using --signoff
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. For more information on following Developer Certificate of Origin and signing off your commits, please check here.
Gradle Check (Jenkins) Run Completed with:
- RESULT: FAILURE :x:
- URL: https://build.ci.opensearch.org/job/gradle-check/1613/
- CommitID: 4c0bfc4537bd3b23af6fa2e6685eb679c3e93357
Gradle Check (Jenkins) Run Completed with:
- RESULT: FAILURE :x:
- URL: https://build.ci.opensearch.org/job/gradle-check/1615/
- CommitID: 1e022c65a81f6281369e5ab1d2e4cf0bdd098788
Gradle Check (Jenkins) Run Completed with:
- RESULT: SUCCESS :white_check_mark:
- URL: https://build.ci.opensearch.org/job/gradle-check/1616/
- CommitID: 8a560769d6b79a00e3afd52d8411c31c01ac0484
Codecov Report
Merging #4172 (8a56076) into main (a469a3c) will increase coverage by
0.03%
. The diff coverage is85.71%
.
@@ Coverage Diff @@
## main #4172 +/- ##
============================================
+ Coverage 70.59% 70.63% +0.03%
+ Complexity 57083 57081 -2
============================================
Files 4603 4604 +1
Lines 274551 274561 +10
Branches 40210 40211 +1
============================================
+ Hits 193831 193933 +102
+ Misses 64514 64394 -120
- Partials 16206 16234 +28
Impacted Files | Coverage Δ | |
---|---|---|
...c/main/java/org/opensearch/index/IndexService.java | 73.63% <0.00%> (-0.17%) |
:arrow_down: |
...g/opensearch/index/engine/EngineConfigFactory.java | 88.63% <ø> (ø) |
|
...earch/index/translog/WriteOnlyTranslogManager.java | 60.00% <ø> (ø) |
|
...org/opensearch/index/shard/IndexShardTestCase.java | 91.45% <ø> (-2.60%) |
:arrow_down: |
...n/java/org/opensearch/index/engine/NoOpEngine.java | 65.27% <80.00%> (+0.48%) |
:arrow_up: |
...va/org/opensearch/index/engine/ReadOnlyEngine.java | 74.07% <80.00%> (+1.68%) |
:arrow_up: |
...java/org/opensearch/index/engine/EngineConfig.java | 97.40% <100.00%> (+0.06%) |
:arrow_up: |
...va/org/opensearch/index/engine/InternalEngine.java | 75.39% <100.00%> (-0.70%) |
:arrow_down: |
.../opensearch/index/engine/NRTReplicationEngine.java | 76.19% <100.00%> (+0.99%) |
:arrow_up: |
...in/java/org/opensearch/index/shard/IndexShard.java | 69.10% <100.00%> (-0.24%) |
:arrow_down: |
... and 477 more |
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.
Please add description, issue link and update the checklist.
This looks good. There is one thing which will probably play a crucial role in defining the lower level semantics - We have TranslogManager, & TranslogFactory. Basis my understanding, TranslogFactory would provide us different abstraction for storage (local/remote) and TranslogManager helps us define integration of the Engine with the underlying Translog provided by TranslogFactory. This makes it look that TranslogFactory and TranslogManager implementation might be hardwired, is it fairly right understanding? I think this is a good extensibility point - but may be in future we might want to converge to single TranslogManagerCumFactory that helps us with both the needs?
The backport to 2.x
failed:
The process '/usr/bin/git' failed with exit code 128
To backport manually, run these commands in your terminal:
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/backport-2.x
# Create a new branch
git switch --create backport/backport-4172-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 551f7c3481040a3b4b051a27eec973c90fb5def6
# Push it to GitHub
git push --set-upstream origin backport/backport-4172-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/backport-2.x
Then, create a pull request where the base
branch is 2.x
and the compare
/head
branch is backport/backport-4172-to-2.x
.