From 37363100fd914b05c09a240d39f537d45d9cd9c3 Mon Sep 17 00:00:00 2001 From: LSmyrnaios Date: Mon, 10 Apr 2023 15:00:23 +0300 Subject: [PATCH] Prioritize most recent publications. --- .../openaire/urls_controller/services/UrlsServiceImpl.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/eu/openaire/urls_controller/services/UrlsServiceImpl.java b/src/main/java/eu/openaire/urls_controller/services/UrlsServiceImpl.java index 7620bdf..24add38 100644 --- a/src/main/java/eu/openaire/urls_controller/services/UrlsServiceImpl.java +++ b/src/main/java/eu/openaire/urls_controller/services/UrlsServiceImpl.java @@ -87,8 +87,8 @@ public class UrlsServiceImpl implements UrlsService { // Create the Assignments from the id-urls stored in the database up to the < assignmentsLimit >. String findAssignmentsQuery = "select pubid, url, datasourceid, datasourcename\n" + - "from (select distinct pubid, url, datasourceid, datasourcename, attempt_count\n" + - " from (select p.id as pubid, pu.url as url, d.id as datasourceid, d.name as datasourcename, attempts.counts as attempt_count\n" + + "from (select distinct pubid, url, datasourceid, datasourcename, attempt_count, pub_year\n" + + " from (select p.id as pubid, p.year as pub_year, pu.url as url, d.id as datasourceid, d.name as datasourcename, attempts.counts as attempt_count\n" + " from " + ImpalaConnector.databaseName + ".publication p\n" + " join " + ImpalaConnector.databaseName + ".publication_urls pu on pu.id=p.id\n" + " join " + ImpalaConnector.databaseName + ".datasource d on d.id=p.datasourceid\n" + @@ -106,10 +106,11 @@ public class UrlsServiceImpl implements UrlsService { " and pu.url != '' and pu.url is not null\n" + // Some IDs have empty-string urls, there are no "null" urls, but keep the relevant check for future-proofing. " limit " + (assignmentsLimit * 10) + ")\n" + " as non_distinct_results\n" + - " order by coalesce(attempt_count, 0), reverse(pubid), url\n" + + " order by coalesce(attempt_count, 0), coalesce(pub_year, 0) desc, reverse(pubid), url\n" + " limit " + assignmentsLimit + ")\n" + "as findAssignmentsQuery"; + // The "order by" in the end makes sure the older attempted records will be re-attempted after a long time. //logger.debug("findAssignmentsQuery:\n" + findAssignmentsQuery); // DEBUG!