Skip to content

Rebuild index based on current data, including updates#2408

Open
RobinTF wants to merge 70 commits intoad-freiburg:masterfrom
RobinTF:rebuild-index-and-vocab
Open

Rebuild index based on current data, including updates#2408
RobinTF wants to merge 70 commits intoad-freiburg:masterfrom
RobinTF:rebuild-index-and-vocab

Conversation

@RobinTF
Copy link
Collaborator

@RobinTF RobinTF commented Oct 2, 2025

This is a WIP experiment to see how we can use QLever to build a new index based on current changes resulting from update operations. Not ready for production use yet.

A build can be triggered by curl http://yourserver:port/?cmd=rebuild-index, which will build some files required for an index in the current working directory of the process called "tmp_index" that can be used to override the actual files in the actual directory of the index (expect bugs though it might not always work, or not at all).

@codecov
Copy link

codecov bot commented Oct 2, 2025

Codecov Report

❌ Patch coverage is 25.30612% with 183 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.21%. Comparing base (f35a290) to head (2ae2d6f).

Files with missing lines Patch % Lines
src/index/IndexRebuilder.cpp 24.12% 150 Missing and 1 partial ⚠️
src/engine/Server.cpp 0.00% 26 Missing and 1 partial ⚠️
src/index/IndexImpl.h 40.00% 3 Missing ⚠️
src/index/IndexImpl.cpp 85.71% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2408      +/-   ##
==========================================
- Coverage   91.60%   91.21%   -0.40%     
==========================================
  Files         483      484       +1     
  Lines       41386    41630     +244     
  Branches     5496     5523      +27     
==========================================
+ Hits        37912    37971      +59     
- Misses       1897     2079     +182     
- Partials     1577     1580       +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@hannahbast hannahbast changed the title Experiment with first prototype to rebuild an index based on current data Rebuild index based on current data, including updates Oct 12, 2025
@hannahbast hannahbast marked this pull request as ready for review October 12, 2025 01:58
@RobinTF RobinTF force-pushed the rebuild-index-and-vocab branch from 5c40c11 to 5d942d7 Compare January 9, 2026 15:17
hannahbast pushed a commit that referenced this pull request Jan 19, 2026
…es (#2640)

Implement the functions for recomputing the triple statistics, as preparation for #2408 (rebuild index)

NOTE: This could also be used to recompute the triple statistics stored in the `.meta-data.json` file, either periodically in the background, or when they are requested via `cmd=stats`. That is work for a separate PR
marvin7122 pushed a commit to marvin7122/qlever that referenced this pull request Jan 22, 2026
…es (ad-freiburg#2640)

Implement the functions for recomputing the triple statistics, as preparation for ad-freiburg#2408 (rebuild index)

NOTE: This could also be used to recompute the triple statistics stored in the `.meta-data.json` file, either periodically in the background, or when they are requested via `cmd=stats`. That is work for a separate PR
hannahbast pushed a commit that referenced this pull request Jan 30, 2026
Implement the functions `IndexImpl::createPermutation` (to build a single permutation from a triple generator), `DeltaTriplesManager::getCurrentLocatedTriplesSharedStateWithVocab` (to have all the information needed to remap a permutation), and `Pattern::cloneAndRemap` (to rewrite the list of patterns). On the side, refactor and simplify `test/CompactStringVectorTest.cpp`. All this is preparation for #2408
@sparql-conformance
Copy link

Overview

Number of Tests Passed ✅ Intended ✅ Failed ❌ Not tested
547 449 73 25 0

Conformance check passed ✅

No test result changes.

Details: https://qlever.dev/sparql-conformance-ui?cur=2ae2d6f691832cc52a73b54f6a17cf3a1438dcd4&prev=f35a290fc35e28fefdc9ac56139660fad14ab860

@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 5, 2026

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