diff --git a/src/main/java/io/cryostat/graphql/ArchivedRecordings.java b/src/main/java/io/cryostat/graphql/ArchivedRecordings.java index e03a4115b..fe3075019 100644 --- a/src/main/java/io/cryostat/graphql/ArchivedRecordings.java +++ b/src/main/java/io/cryostat/graphql/ArchivedRecordings.java @@ -43,7 +43,7 @@ public class ArchivedRecordings { @Query("archivedRecordings") public TargetNodes.ArchivedRecordings listArchivedRecordings(ArchivedRecordingsFilter filter) { var r = new TargetNodes.ArchivedRecordings(); - r.data = List.of(); + r.data = recordingHelper.listArchivedRecordings(); r.aggregate = new AggregateInfo(); r.aggregate.size = 0; r.aggregate.count = r.data.size(); diff --git a/src/main/java/io/cryostat/graphql/TargetNodes.java b/src/main/java/io/cryostat/graphql/TargetNodes.java index e7306bcb8..747678abf 100644 --- a/src/main/java/io/cryostat/graphql/TargetNodes.java +++ b/src/main/java/io/cryostat/graphql/TargetNodes.java @@ -20,9 +20,6 @@ import java.util.List; import java.util.Objects; import java.util.Optional; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; -import java.util.function.Function; import java.util.function.Predicate; import org.openjdk.jmc.common.unit.QuantityConversionException; @@ -101,16 +98,19 @@ public List getTargetNodes(DiscoveryNodeFilter filter) { // load the entire discovery tree out of the database, then perform the filtering at the // application level. return Target.findAll().stream() - .filter(distinctWith(t -> t.jvmId)) + // FIXME filtering by distinct JVM ID breaks clients that expect to be able to use a + // different connection URL (in the node filter or for client-side filtering) than + // the one we end up selecting for here. + // .filter(distinctWith(t -> t.jvmId)) .map(t -> t.discoveryNode) .filter(n -> filter == null ? true : filter.test(n)) .toList(); } - private static Predicate distinctWith(Function fn) { - Set observed = ConcurrentHashMap.newKeySet(); - return t -> observed.add(fn.apply(t)); - } + // private static Predicate distinctWith(Function fn) { + // Set observed = ConcurrentHashMap.newKeySet(); + // return t -> observed.add(fn.apply(t)); + // } @Blocking @Description("Get the active and archived recordings belonging to this target")