diff --git a/code/common/linkdb/src/main/java/nu/marginalia/linkdb/DomainLinkDb.java b/code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/DomainLinkDb.java similarity index 97% rename from code/common/linkdb/src/main/java/nu/marginalia/linkdb/DomainLinkDb.java rename to code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/DomainLinkDb.java index b9af1dea..bb7c43c1 100644 --- a/code/common/linkdb/src/main/java/nu/marginalia/linkdb/DomainLinkDb.java +++ b/code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/DomainLinkDb.java @@ -1,4 +1,4 @@ -package nu.marginalia.linkdb; +package nu.marginalia.linkdb.dlinks; import gnu.trove.list.array.TIntArrayList; diff --git a/code/common/linkdb/src/main/java/nu/marginalia/linkdb/DomainLinkDbLoader.java b/code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/DomainLinkDbLoader.java similarity index 96% rename from code/common/linkdb/src/main/java/nu/marginalia/linkdb/DomainLinkDbLoader.java rename to code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/DomainLinkDbLoader.java index de8c6d96..83af733d 100644 --- a/code/common/linkdb/src/main/java/nu/marginalia/linkdb/DomainLinkDbLoader.java +++ b/code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/DomainLinkDbLoader.java @@ -1,4 +1,4 @@ -package nu.marginalia.linkdb; +package nu.marginalia.linkdb.dlinks; import java.io.DataInputStream; import java.io.IOException; diff --git a/code/common/linkdb/src/main/java/nu/marginalia/linkdb/DomainLinkDbWriter.java b/code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/DomainLinkDbWriter.java similarity index 95% rename from code/common/linkdb/src/main/java/nu/marginalia/linkdb/DomainLinkDbWriter.java rename to code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/DomainLinkDbWriter.java index f275ba01..99830443 100644 --- a/code/common/linkdb/src/main/java/nu/marginalia/linkdb/DomainLinkDbWriter.java +++ b/code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/DomainLinkDbWriter.java @@ -1,4 +1,4 @@ -package nu.marginalia.linkdb; +package nu.marginalia.linkdb.dlinks; import java.io.DataOutputStream; import java.io.IOException; diff --git a/code/common/linkdb/src/main/java/nu/marginalia/linkdb/FileDomainLinkDb.java b/code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/FileDomainLinkDb.java similarity index 96% rename from code/common/linkdb/src/main/java/nu/marginalia/linkdb/FileDomainLinkDb.java rename to code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/FileDomainLinkDb.java index 53f53417..c548ab81 100644 --- a/code/common/linkdb/src/main/java/nu/marginalia/linkdb/FileDomainLinkDb.java +++ b/code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/FileDomainLinkDb.java @@ -1,4 +1,4 @@ -package nu.marginalia.linkdb; +package nu.marginalia.linkdb.dlinks; import com.google.inject.name.Named; import gnu.trove.list.array.TIntArrayList; @@ -22,9 +22,8 @@ public class FileDomainLinkDb implements DomainLinkDb { public FileDomainLinkDb(@Named("domain-linkdb-file") Path filename) throws IOException { this.filename = filename; - if (Files.exists(filename)) { - switchInput(filename); - } + + loadInput(filename); } @Override diff --git a/code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/SelectingDomainLinkDb.java b/code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/SelectingDomainLinkDb.java new file mode 100644 index 00000000..d6220336 --- /dev/null +++ b/code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/SelectingDomainLinkDb.java @@ -0,0 +1,104 @@ +package nu.marginalia.linkdb.dlinks; + +import com.google.inject.name.Named; +import com.zaxxer.hikari.HikariDataSource; +import gnu.trove.list.array.TIntArrayList; +import nu.marginalia.service.module.ServiceConfiguration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.StandardCopyOption; + +/** DomainLinkDb that delegates to either a FileDomainLinkDb or a SqlDomainLinkDb, + * depending on whether the file exists. This is part of the migration path to + * always using FileDomainLinkDb. + */ +public class SelectingDomainLinkDb implements DomainLinkDb { + private final static Logger logger = LoggerFactory.getLogger(SelectingDomainLinkDb.class); + + private volatile DomainLinkDb currentDb; + private final Path filename; + public SelectingDomainLinkDb(@Named("domain-linkdb-file") Path filename, + ServiceConfiguration serviceConfiguration, + HikariDataSource dataSource) { + this.filename = filename; + + // Load the database in a separate thread, so that the constructor can return + // immediately. This would otherwise add a lot of time to the startup of the + // index service. + + Thread.ofPlatform().start(() -> { + try { + if (Files.exists(filename)) { + currentDb = new FileDomainLinkDb(filename); + } + else { + currentDb = new SqlDomainLinkDb(filename, dataSource, serviceConfiguration); + } + logger.info("Loaded linkdb"); + } catch (Exception e) { + logger.error("Failed to load linkdb", e); + } + }); + } + + @Override + public void switchInput(Path newFilename) throws Exception { + Files.move(newFilename, filename, StandardCopyOption.REPLACE_EXISTING); + + Thread.ofPlatform().start(() -> { + try { + currentDb = new FileDomainLinkDb(filename); + } catch (IOException e) { + logger.error("Failed to load linkdb", e); + } + }); + + } + + @Override + public TIntArrayList findDestinations(int source) { + // A race condition is not possible here, as the nullity of currentDb only changes from + // null to non-null + + if (currentDb == null) + return new TIntArrayList(); + + return currentDb.findDestinations(source); + } + + @Override + public int countDestinations(int source) { + if (currentDb == null) + return 0; + + return currentDb.countDestinations(source); + } + + @Override + public TIntArrayList findSources(int dest) { + if (currentDb == null) + return new TIntArrayList(); + + return currentDb.findSources(dest); + } + + @Override + public int countSources(int source) { + if (currentDb == null) + return 0; + + return currentDb.countSources(source); + } + + @Override + public void forEach(SourceDestConsumer consumer) { + if (currentDb == null) + throw new IllegalStateException("No linkdb loaded"); + + currentDb.forEach(consumer); + } +} diff --git a/code/common/linkdb/src/main/java/nu/marginalia/linkdb/SqlDomainLinkDb.java b/code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/SqlDomainLinkDb.java similarity index 93% rename from code/common/linkdb/src/main/java/nu/marginalia/linkdb/SqlDomainLinkDb.java rename to code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/SqlDomainLinkDb.java index 4a98eaa9..883f8881 100644 --- a/code/common/linkdb/src/main/java/nu/marginalia/linkdb/SqlDomainLinkDb.java +++ b/code/common/linkdb/src/main/java/nu/marginalia/linkdb/dlinks/SqlDomainLinkDb.java @@ -1,4 +1,4 @@ -package nu.marginalia.linkdb; +package nu.marginalia.linkdb.dlinks; import com.google.inject.name.Named; import com.zaxxer.hikari.HikariDataSource; @@ -9,6 +9,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; +import java.io.UnsupportedEncodingException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.StandardCopyOption; @@ -37,21 +38,12 @@ public class SqlDomainLinkDb implements DomainLinkDb { this.dataSource = dataSource; node = configuration.node(); - - Thread.ofPlatform().start(() -> { - try { - loadDb(); - } catch (Exception e) { - logger.error("Failed to load linkdb", e); - } - }); + loadDb(); } @Override public void switchInput(Path newFilename) throws IOException { - Files.move(newFilename, filename, StandardCopyOption.REPLACE_EXISTING); - - loadDb(); + throw new UnsupportedEncodingException(); } public void loadDb() { diff --git a/code/common/linkdb/src/main/java/nu/marginalia/linkdb/DocumentDbReader.java b/code/common/linkdb/src/main/java/nu/marginalia/linkdb/docs/DocumentDbReader.java similarity index 99% rename from code/common/linkdb/src/main/java/nu/marginalia/linkdb/DocumentDbReader.java rename to code/common/linkdb/src/main/java/nu/marginalia/linkdb/docs/DocumentDbReader.java index 6d7aefd6..ba48f3ec 100644 --- a/code/common/linkdb/src/main/java/nu/marginalia/linkdb/DocumentDbReader.java +++ b/code/common/linkdb/src/main/java/nu/marginalia/linkdb/docs/DocumentDbReader.java @@ -1,4 +1,4 @@ -package nu.marginalia.linkdb; +package nu.marginalia.linkdb.docs; import com.google.inject.Inject; import com.google.inject.Singleton; diff --git a/code/common/linkdb/src/main/java/nu/marginalia/linkdb/DocumentDbWriter.java b/code/common/linkdb/src/main/java/nu/marginalia/linkdb/docs/DocumentDbWriter.java similarity index 98% rename from code/common/linkdb/src/main/java/nu/marginalia/linkdb/DocumentDbWriter.java rename to code/common/linkdb/src/main/java/nu/marginalia/linkdb/docs/DocumentDbWriter.java index 88277e9d..e843e826 100644 --- a/code/common/linkdb/src/main/java/nu/marginalia/linkdb/DocumentDbWriter.java +++ b/code/common/linkdb/src/main/java/nu/marginalia/linkdb/docs/DocumentDbWriter.java @@ -1,4 +1,4 @@ -package nu.marginalia.linkdb; +package nu.marginalia.linkdb.docs; import nu.marginalia.linkdb.model.DocdbUrlDetail; diff --git a/code/common/linkdb/src/test/java/nu/marginalia/linkdb/DocumentDbWriterTest.java b/code/common/linkdb/src/test/java/nu/marginalia/linkdb/DocumentDbWriterTest.java index b28b5ed4..29f9c7fb 100644 --- a/code/common/linkdb/src/test/java/nu/marginalia/linkdb/DocumentDbWriterTest.java +++ b/code/common/linkdb/src/test/java/nu/marginalia/linkdb/DocumentDbWriterTest.java @@ -1,6 +1,8 @@ package nu.marginalia.linkdb; import gnu.trove.list.array.TLongArrayList; +import nu.marginalia.linkdb.docs.DocumentDbReader; +import nu.marginalia.linkdb.docs.DocumentDbWriter; import nu.marginalia.linkdb.model.DocdbUrlDetail; import nu.marginalia.model.EdgeDomain; import org.junit.jupiter.api.Test; diff --git a/code/common/linkdb/src/test/java/nu/marginalia/linkdb/DomainLinkDbTest.java b/code/common/linkdb/src/test/java/nu/marginalia/linkdb/DomainLinkDbTest.java index 1014ba73..6db4a8cf 100644 --- a/code/common/linkdb/src/test/java/nu/marginalia/linkdb/DomainLinkDbTest.java +++ b/code/common/linkdb/src/test/java/nu/marginalia/linkdb/DomainLinkDbTest.java @@ -1,5 +1,7 @@ package nu.marginalia.linkdb; +import nu.marginalia.linkdb.dlinks.DomainLinkDbLoader; +import nu.marginalia.linkdb.dlinks.DomainLinkDbWriter; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; diff --git a/code/processes/converting-process/src/main/java/nu/marginalia/converting/ConverterMain.java b/code/processes/converting-process/src/main/java/nu/marginalia/converting/ConverterMain.java index b4b3f96e..6115cbb1 100644 --- a/code/processes/converting-process/src/main/java/nu/marginalia/converting/ConverterMain.java +++ b/code/processes/converting-process/src/main/java/nu/marginalia/converting/ConverterMain.java @@ -46,7 +46,6 @@ public class ConverterMain { private final MessageQueueFactory messageQueueFactory; private final FileStorageService fileStorageService; private final SideloadSourceFactory sideloadSourceFactory; - private final int node; public static void main(String... args) throws Exception { diff --git a/code/processes/loading-process/src/main/java/nu/marginalia/loading/LoaderMain.java b/code/processes/loading-process/src/main/java/nu/marginalia/loading/LoaderMain.java index a91678d8..6babfa7e 100644 --- a/code/processes/loading-process/src/main/java/nu/marginalia/loading/LoaderMain.java +++ b/code/processes/loading-process/src/main/java/nu/marginalia/loading/LoaderMain.java @@ -9,7 +9,7 @@ import lombok.SneakyThrows; import nu.marginalia.ProcessConfiguration; import nu.marginalia.ProcessConfigurationModule; import nu.marginalia.storage.FileStorageService; -import nu.marginalia.linkdb.DocumentDbWriter; +import nu.marginalia.linkdb.docs.DocumentDbWriter; import nu.marginalia.loading.documents.DocumentLoaderService; import nu.marginalia.loading.documents.KeywordLoaderService; import nu.marginalia.loading.domains.DomainIdRegistry; diff --git a/code/processes/loading-process/src/main/java/nu/marginalia/loading/LoaderModule.java b/code/processes/loading-process/src/main/java/nu/marginalia/loading/LoaderModule.java index 1ba5d9ca..35c98fc6 100644 --- a/code/processes/loading-process/src/main/java/nu/marginalia/loading/LoaderModule.java +++ b/code/processes/loading-process/src/main/java/nu/marginalia/loading/LoaderModule.java @@ -9,9 +9,9 @@ import com.google.inject.name.Names; import nu.marginalia.LanguageModels; import nu.marginalia.WmsaHome; import nu.marginalia.IndexLocations; -import nu.marginalia.linkdb.DomainLinkDbWriter; +import nu.marginalia.linkdb.dlinks.DomainLinkDbWriter; import nu.marginalia.storage.FileStorageService; -import nu.marginalia.linkdb.DocumentDbWriter; +import nu.marginalia.linkdb.docs.DocumentDbWriter; import nu.marginalia.model.gson.GsonFactory; import nu.marginalia.service.SearchServiceDescriptors; import nu.marginalia.service.descriptor.ServiceDescriptors; diff --git a/code/processes/loading-process/src/main/java/nu/marginalia/loading/documents/DocumentLoaderService.java b/code/processes/loading-process/src/main/java/nu/marginalia/loading/documents/DocumentLoaderService.java index bed93d7e..5909a9aa 100644 --- a/code/processes/loading-process/src/main/java/nu/marginalia/loading/documents/DocumentLoaderService.java +++ b/code/processes/loading-process/src/main/java/nu/marginalia/loading/documents/DocumentLoaderService.java @@ -4,7 +4,7 @@ import com.google.inject.Inject; import com.google.inject.Singleton; import lombok.SneakyThrows; import nu.marginalia.io.processed.DocumentRecordParquetFileReader; -import nu.marginalia.linkdb.DocumentDbWriter; +import nu.marginalia.linkdb.docs.DocumentDbWriter; import nu.marginalia.linkdb.model.DocdbUrlDetail; import nu.marginalia.loading.LoaderInputData; import nu.marginalia.loading.domains.DomainIdRegistry; diff --git a/code/processes/loading-process/src/main/java/nu/marginalia/loading/links/DomainLinksLoaderService.java b/code/processes/loading-process/src/main/java/nu/marginalia/loading/links/DomainLinksLoaderService.java index 272b3936..8cf42218 100644 --- a/code/processes/loading-process/src/main/java/nu/marginalia/loading/links/DomainLinksLoaderService.java +++ b/code/processes/loading-process/src/main/java/nu/marginalia/loading/links/DomainLinksLoaderService.java @@ -4,7 +4,7 @@ import com.google.inject.Inject; import com.google.inject.Singleton; import lombok.SneakyThrows; import nu.marginalia.io.processed.DomainLinkRecordParquetFileReader; -import nu.marginalia.linkdb.DomainLinkDbWriter; +import nu.marginalia.linkdb.dlinks.DomainLinkDbWriter; import nu.marginalia.loading.LoaderInputData; import nu.marginalia.loading.domains.DomainIdRegistry; import nu.marginalia.model.processed.DomainLinkRecord; diff --git a/code/services-core/index-service/src/main/java/nu/marginalia/index/IndexModule.java b/code/services-core/index-service/src/main/java/nu/marginalia/index/IndexModule.java index 179df9ec..d0b2dcf9 100644 --- a/code/services-core/index-service/src/main/java/nu/marginalia/index/IndexModule.java +++ b/code/services-core/index-service/src/main/java/nu/marginalia/index/IndexModule.java @@ -5,9 +5,10 @@ import com.google.inject.Provides; import com.google.inject.Singleton; import com.google.inject.name.Named; import com.zaxxer.hikari.HikariDataSource; -import nu.marginalia.linkdb.DomainLinkDb; -import nu.marginalia.linkdb.FileDomainLinkDb; -import nu.marginalia.linkdb.SqlDomainLinkDb; +import nu.marginalia.linkdb.dlinks.DomainLinkDb; +import nu.marginalia.linkdb.dlinks.FileDomainLinkDb; +import nu.marginalia.linkdb.dlinks.SelectingDomainLinkDb; +import nu.marginalia.linkdb.dlinks.SqlDomainLinkDb; import nu.marginalia.service.module.ServiceConfiguration; import nu.marginalia.storage.FileStorageService; import nu.marginalia.IndexLocations; @@ -41,18 +42,11 @@ public class IndexModule extends AbstractModule { FileStorageService storageService, HikariDataSource dataSource, ServiceConfiguration serviceConfiguration - ) throws IOException + ) { Path path = IndexLocations.getLinkdbLivePath(storageService).resolve(DOMAIN_LINKS_FILE_NAME); - if (Files.exists(path)) { - logger.info("Using file domain link db {}", path); - return new FileDomainLinkDb(path); - } - else { - logger.warn("Using legacy sql domain link db"); - return new SqlDomainLinkDb(path, dataSource, serviceConfiguration); - } + return new SelectingDomainLinkDb(path, serviceConfiguration, dataSource); } @Provides diff --git a/code/services-core/index-service/src/main/java/nu/marginalia/index/IndexService.java b/code/services-core/index-service/src/main/java/nu/marginalia/index/IndexService.java index 9602b469..325b132c 100644 --- a/code/services-core/index-service/src/main/java/nu/marginalia/index/IndexService.java +++ b/code/services-core/index-service/src/main/java/nu/marginalia/index/IndexService.java @@ -7,13 +7,13 @@ import io.reactivex.rxjava3.schedulers.Schedulers; import lombok.SneakyThrows; import nu.marginalia.IndexLocations; import nu.marginalia.index.svc.IndexDomainLinksService; -import nu.marginalia.linkdb.DomainLinkDb; +import nu.marginalia.linkdb.dlinks.DomainLinkDb; import nu.marginalia.storage.FileStorageService; import nu.marginalia.index.client.IndexMqEndpoints; import nu.marginalia.index.index.SearchIndex; import nu.marginalia.index.svc.IndexOpsService; import nu.marginalia.index.svc.IndexQueryService; -import nu.marginalia.linkdb.DocumentDbReader; +import nu.marginalia.linkdb.docs.DocumentDbReader; import nu.marginalia.model.gson.GsonFactory; import nu.marginalia.service.control.ServiceEventLog; import nu.marginalia.service.server.*; diff --git a/code/services-core/index-service/src/main/java/nu/marginalia/index/results/IndexResultDecorator.java b/code/services-core/index-service/src/main/java/nu/marginalia/index/results/IndexResultDecorator.java index 0994fcbc..0c8f6acc 100644 --- a/code/services-core/index-service/src/main/java/nu/marginalia/index/results/IndexResultDecorator.java +++ b/code/services-core/index-service/src/main/java/nu/marginalia/index/results/IndexResultDecorator.java @@ -7,7 +7,7 @@ import gnu.trove.list.array.TLongArrayList; import nu.marginalia.index.client.model.results.DecoratedSearchResultItem; import nu.marginalia.index.client.model.results.ResultRankingContext; import nu.marginalia.index.client.model.results.SearchResultItem; -import nu.marginalia.linkdb.DocumentDbReader; +import nu.marginalia.linkdb.docs.DocumentDbReader; import nu.marginalia.linkdb.model.DocdbUrlDetail; import nu.marginalia.ranking.ResultValuator; import org.slf4j.Logger; diff --git a/code/services-core/index-service/src/main/java/nu/marginalia/index/svc/IndexDomainLinksService.java b/code/services-core/index-service/src/main/java/nu/marginalia/index/svc/IndexDomainLinksService.java index 04b33e6c..b368d289 100644 --- a/code/services-core/index-service/src/main/java/nu/marginalia/index/svc/IndexDomainLinksService.java +++ b/code/services-core/index-service/src/main/java/nu/marginalia/index/svc/IndexDomainLinksService.java @@ -3,9 +3,7 @@ package nu.marginalia.index.svc; import com.google.inject.Inject; import io.grpc.stub.StreamObserver; import nu.marginalia.index.api.*; -import nu.marginalia.linkdb.DomainLinkDb; - -import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall; +import nu.marginalia.linkdb.dlinks.DomainLinkDb; /** GRPC service for interrogating domain links */ diff --git a/code/services-core/index-service/src/test/java/nu/marginalia/index/svc/IndexQueryServiceIntegrationSmokeTest.java b/code/services-core/index-service/src/test/java/nu/marginalia/index/svc/IndexQueryServiceIntegrationSmokeTest.java index cd69188c..f8c95cf2 100644 --- a/code/services-core/index-service/src/test/java/nu/marginalia/index/svc/IndexQueryServiceIntegrationSmokeTest.java +++ b/code/services-core/index-service/src/test/java/nu/marginalia/index/svc/IndexQueryServiceIntegrationSmokeTest.java @@ -24,8 +24,8 @@ import nu.marginalia.index.journal.writer.IndexJournalWriter; import nu.marginalia.index.query.limit.QueryLimits; import nu.marginalia.index.query.limit.QueryStrategy; import nu.marginalia.index.query.limit.SpecificationLimit; -import nu.marginalia.linkdb.DocumentDbReader; -import nu.marginalia.linkdb.DocumentDbWriter; +import nu.marginalia.linkdb.docs.DocumentDbReader; +import nu.marginalia.linkdb.docs.DocumentDbWriter; import nu.marginalia.linkdb.model.DocdbUrlDetail; import nu.marginalia.model.EdgeUrl; import nu.marginalia.model.id.UrlIdCodec; diff --git a/code/services-core/index-service/src/test/java/nu/marginalia/index/svc/IndexQueryServiceIntegrationTest.java b/code/services-core/index-service/src/test/java/nu/marginalia/index/svc/IndexQueryServiceIntegrationTest.java index 17acc7c4..ca5cafe0 100644 --- a/code/services-core/index-service/src/test/java/nu/marginalia/index/svc/IndexQueryServiceIntegrationTest.java +++ b/code/services-core/index-service/src/test/java/nu/marginalia/index/svc/IndexQueryServiceIntegrationTest.java @@ -23,8 +23,8 @@ import nu.marginalia.index.journal.writer.IndexJournalWriter; import nu.marginalia.index.query.limit.QueryLimits; import nu.marginalia.index.query.limit.QueryStrategy; import nu.marginalia.index.query.limit.SpecificationLimit; -import nu.marginalia.linkdb.DocumentDbReader; -import nu.marginalia.linkdb.DocumentDbWriter; +import nu.marginalia.linkdb.docs.DocumentDbReader; +import nu.marginalia.linkdb.docs.DocumentDbWriter; import nu.marginalia.linkdb.model.DocdbUrlDetail; import nu.marginalia.model.EdgeUrl; import nu.marginalia.model.crawl.PubDate; diff --git a/code/services-core/index-service/src/test/java/nu/marginalia/index/svc/IndexQueryServiceIntegrationTestModule.java b/code/services-core/index-service/src/test/java/nu/marginalia/index/svc/IndexQueryServiceIntegrationTestModule.java index 79e722a0..746657d8 100644 --- a/code/services-core/index-service/src/test/java/nu/marginalia/index/svc/IndexQueryServiceIntegrationTestModule.java +++ b/code/services-core/index-service/src/test/java/nu/marginalia/index/svc/IndexQueryServiceIntegrationTestModule.java @@ -7,7 +7,7 @@ import nu.marginalia.storage.model.FileStorageBase; import nu.marginalia.storage.model.FileStorageBaseType; import nu.marginalia.index.journal.writer.IndexJournalWriter; import nu.marginalia.index.journal.writer.IndexJournalWriterPagingImpl; -import nu.marginalia.linkdb.DocumentDbReader; +import nu.marginalia.linkdb.docs.DocumentDbReader; import nu.marginalia.process.control.FakeProcessHeartbeat; import nu.marginalia.process.control.ProcessHeartbeat; import nu.marginalia.ranking.DomainRankings;