From 1c9ec738b7b045ffdd7df9940b17d124bdef0e97 Mon Sep 17 00:00:00 2001 From: Nick Molcanov <32801560+nck-mlcnv@users.noreply.github.com> Date: Fri, 27 Sep 2024 15:27:08 +0200 Subject: [PATCH] Fix minor bug that caused an infinite loop --- graalvm/suite.yml | 9 +++++---- .../org/aksw/iguana/cc/query/handler/QueryHandler.java | 9 +++++++++ .../org/aksw/iguana/cc/utils/http/RequestFactory.java | 3 +-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/graalvm/suite.yml b/graalvm/suite.yml index 75c9bd4c..c3ee89d3 100644 --- a/graalvm/suite.yml +++ b/graalvm/suite.yml @@ -6,7 +6,7 @@ connections: - name: "Blazegraph" version: "1.1.1" dataset: "DatasetName" - endpoint: "http://localhost:9999/blazegraph/sparql" + endpoint: "https://dbpedia.org/sparql" authentication: user: "user" password: "test" @@ -60,13 +60,14 @@ tasks: seed: 123 lang: "SPARQL" template: - endpoint: "http://dbpedia.org/sparql" + endpoint: "https://dbpedia.org/sparql" limit: 1 save: false + individualResults: false timeout: 2s connection: Blazegraph completionTarget: - duration: 1s + duration: 0.5s acceptHeader: "application/sparql-results+json" requestType: get query parseResults: true @@ -78,7 +79,7 @@ tasks: timeout: 3m connection: Blazegraph completionTarget: - duration: 1s + duration: 0.5s requestType: get query acceptHeader: "application/sparql-results+json" - number: 1 diff --git a/src/main/java/org/aksw/iguana/cc/query/handler/QueryHandler.java b/src/main/java/org/aksw/iguana/cc/query/handler/QueryHandler.java index efce866b..f1ead708 100644 --- a/src/main/java/org/aksw/iguana/cc/query/handler/QueryHandler.java +++ b/src/main/java/org/aksw/iguana/cc/query/handler/QueryHandler.java @@ -347,6 +347,15 @@ public QuerySelector getQuerySelectorInstance() { throw new IllegalStateException("Unknown query selection order: " + config.order()); } + public QuerySelector getQuerySelectorInstance(Config.Order type) { + switch (type) { + case LINEAR -> { return new LinearQuerySelector(queryList.size()); } + case RANDOM -> { return new RandomQuerySelector(queryList.size(), config.seed() + workerCount++); } + } + + throw new IllegalStateException("Unknown query selection order: " + type); + } + public QueryStringWrapper getNextQuery(QuerySelector querySelector) throws IOException { final var queryIndex = getNextQueryIndex(querySelector); return new QueryStringWrapper(queryData.get(queryIndex[0]).queryId(), queryList.getQuery(queryIndex[0]), queryData.get(queryIndex[0]).update(), queryIndex[1]); diff --git a/src/main/java/org/aksw/iguana/cc/utils/http/RequestFactory.java b/src/main/java/org/aksw/iguana/cc/utils/http/RequestFactory.java index ca305a0d..9d44cb95 100644 --- a/src/main/java/org/aksw/iguana/cc/utils/http/RequestFactory.java +++ b/src/main/java/org/aksw/iguana/cc/utils/http/RequestFactory.java @@ -4,7 +4,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import org.aksw.iguana.cc.config.elements.ConnectionConfig; import org.aksw.iguana.cc.query.handler.QueryHandler; -import org.aksw.iguana.cc.query.selector.impl.LinearQuerySelector; import org.aksw.iguana.cc.worker.HttpWorker; import org.aksw.iguana.cc.worker.impl.SPARQLProtocolWorker; import org.apache.hc.core5.http.HttpHeaders; @@ -173,7 +172,7 @@ public AsyncRequestProducer buildHttpRequest(QueryHandler.QueryStreamWrapper que * @param queryHandler the query handler to preload requests for */ public void preloadRequests(QueryHandler queryHandler) { - final var selector = new LinearQuerySelector(queryHandler.getExecutableQueryCount()); + final var selector = queryHandler.getQuerySelectorInstance(QueryHandler.Config.Order.LINEAR); for (int i = 0; i < queryHandler.getExecutableQueryCount(); i++) { try { // build request and discard it