diff --git a/swh/storage/cassandra/storage.py b/swh/storage/cassandra/storage.py --- a/swh/storage/cassandra/storage.py +++ b/swh/storage/cassandra/storage.py @@ -1105,9 +1105,7 @@ return None return converters.row_to_visit_status(rows[0]) - def origin_visit_status_get_random( - self, type: str - ) -> Optional[Tuple[OriginVisit, OriginVisitStatus]]: + def origin_visit_status_get_random(self, type: str) -> Optional[OriginVisitStatus]: back_in_the_day = now() - datetime.timedelta(weeks=12) # 3 months back # Random position to start iteration at @@ -1119,7 +1117,7 @@ visit = converters.row_to_visit(row) visit_status = self._origin_visit_get_latest_status(visit) if visit.date > back_in_the_day and visit_status.status == "full": - return visit, visit_status + return visit_status return None def stat_counters(self): diff --git a/swh/storage/interface.py b/swh/storage/interface.py --- a/swh/storage/interface.py +++ b/swh/storage/interface.py @@ -924,15 +924,12 @@ ... @remote_api_endpoint("origin/visit_status/get_random") - def origin_visit_status_get_random( - self, type: str - ) -> Optional[Tuple[OriginVisit, OriginVisitStatus]]: + def origin_visit_status_get_random(self, type: str) -> Optional[OriginVisitStatus]: """Randomly select one successful origin visit with made in the last 3 months. Returns: - One random tuple of (OriginVisit, OriginVisitStatus) matching the - selection criteria + One random OriginVisitStatus matching the selection criteria """ ... diff --git a/swh/storage/postgresql/storage.py b/swh/storage/postgresql/storage.py --- a/swh/storage/postgresql/storage.py +++ b/swh/storage/postgresql/storage.py @@ -1070,16 +1070,10 @@ @db_transaction() def origin_visit_status_get_random( self, type: str, db=None, cur=None - ) -> Optional[Tuple[OriginVisit, OriginVisitStatus]]: + ) -> Optional[OriginVisitStatus]: row = db.origin_visit_get_random(type, cur) if row is not None: row_d = dict(zip(db.origin_visit_get_cols, row)) - visit = OriginVisit( - origin=row_d["origin"], - visit=row_d["visit"], - date=row_d["date"], - type=row_d["type"], - ) visit_status = OriginVisitStatus( origin=row_d["origin"], visit=row_d["visit"], @@ -1089,7 +1083,7 @@ metadata=row_d["metadata"], snapshot=row_d["snapshot"], ) - return visit, visit_status + return visit_status return None @timed diff --git a/swh/storage/tests/storage_tests.py b/swh/storage/tests/storage_tests.py --- a/swh/storage/tests/storage_tests.py +++ b/swh/storage/tests/storage_tests.py @@ -1596,11 +1596,11 @@ assert stats["origin"] == len(origins) assert stats["origin_visit"] == len(origins) * len(visits) - random_ov, random_ovs = swh_storage.origin_visit_status_get_random(visit_type) - assert random_ov and random_ovs - assert random_ov.origin is not None - assert random_ov.origin == random_ovs.origin - assert random_ov.origin in [o.url for o in origins] + random_ovs = swh_storage.origin_visit_status_get_random(visit_type) + assert random_ovs + assert random_ovs.origin is not None + assert random_ovs.origin in [o.url for o in origins] + assert random_ovs.type is not None def test_origin_visit_status_get_random_nothing_found( self, swh_storage, sample_data