Skip to content

Commit

Permalink
Ensure faulty resultProviders dont cause complete lockouts. Also impr…
Browse files Browse the repository at this point in the history
…ove logging around faulty resultproviders
  • Loading branch information
awildturtok committed Sep 26, 2024
1 parent d1347f2 commit 97a9f69
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 17 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package com.bakdata.conquery.apiv1;

import java.net.MalformedURLException;
import java.net.URISyntaxException;
import java.text.NumberFormat;
import java.time.LocalDate;
import java.util.ArrayList;
Expand All @@ -21,12 +19,6 @@
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;
import jakarta.inject.Inject;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Validator;
import jakarta.ws.rs.BadRequestException;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.core.UriBuilder;

import com.bakdata.conquery.apiv1.execution.ExecutionStatus;
import com.bakdata.conquery.apiv1.execution.FullExecutionStatus;
Expand Down Expand Up @@ -89,6 +81,12 @@
import com.bakdata.conquery.util.QueryUtils;
import com.bakdata.conquery.util.QueryUtils.NamespacedIdentifiableCollector;
import com.bakdata.conquery.util.io.IdColumnUtil;
import jakarta.inject.Inject;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Validator;
import jakarta.ws.rs.BadRequestException;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.core.UriBuilder;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
Expand Down Expand Up @@ -174,12 +172,12 @@ private static boolean canFrontendRender(ManagedExecution q) {
public static List<ResultAsset> getResultAssets(List<ResultRendererProvider> renderer, ManagedExecution exec, UriBuilder uriBuilder, boolean allProviders) {

return renderer.stream()
.map(r -> {
.map(rendererProvider -> {
try {
return r.generateResultURLs(exec, uriBuilder.clone(), allProviders);
return rendererProvider.generateResultURLs(exec, uriBuilder.clone(), allProviders);
}
catch (MalformedURLException | URISyntaxException e) {
log.error("Cannot generate result urls for execution '{}' with provider '{}'", exec.getId(), r.getClass().getName());
catch (Exception e) {
log.error("Cannot generate result urls for execution '{}' with provider {}", exec.getId(), rendererProvider, e);
return null;
}
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,12 @@
import com.bakdata.conquery.resources.api.ResultCsvResource;
import io.dropwizard.jersey.DropwizardResourceConfig;
import jakarta.ws.rs.core.UriBuilder;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.glassfish.jersey.internal.inject.AbstractBinder;

@Slf4j
@NoArgsConstructor
@AllArgsConstructor
@Data
@CPSType(base = ResultRendererProvider.class, id = "CSV")
public class CsvResultProvider implements ResultRendererProvider {
private boolean hidden = false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import java.util.Collection;
import java.util.Collections;
import jakarta.ws.rs.core.UriBuilder;

import com.bakdata.conquery.apiv1.execution.ResultAsset;
import com.bakdata.conquery.commands.ManagerNode;
Expand All @@ -13,11 +12,14 @@
import com.bakdata.conquery.models.forms.managed.ExternalExecution;
import com.bakdata.conquery.resources.api.ResultExternalResource;
import io.dropwizard.jersey.DropwizardResourceConfig;
import jakarta.ws.rs.core.UriBuilder;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import org.glassfish.hk2.utilities.binding.AbstractBinder;

@Getter
@Data
@CPSType(base = ResultRendererProvider.class, id = "EXTERNAL")
public class ExternalResultProvider implements ResultRendererProvider {

Expand Down

0 comments on commit 97a9f69

Please sign in to comment.