Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@
*/
package org.apache.polaris.service.it.test;

import com.google.common.base.Strings;
import java.util.List;
import java.util.Optional;
import java.util.stream.Stream;
import org.apache.polaris.core.admin.model.AwsStorageConfigInfo;
import org.apache.polaris.core.admin.model.StorageConfigInfo;
import org.assertj.core.util.Strings;

/** Runs PolarisRestCatalogViewIntegrationTest on AWS. */
public class PolarisRestCatalogViewAwsIntegrationTest
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@
*/
package org.apache.polaris.service.it.test;

import com.google.common.base.Strings;
import java.util.List;
import java.util.stream.Stream;
import org.apache.polaris.core.admin.model.AzureStorageConfigInfo;
import org.apache.polaris.core.admin.model.StorageConfigInfo;
import org.assertj.core.util.Strings;

/** Runs PolarisRestCatalogViewIntegrationTest on Azure. */
public class PolarisRestCatalogViewAzureIntegrationTest
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@
*/
package org.apache.polaris.service.it.test;

import com.google.common.base.Strings;
import java.util.List;
import java.util.stream.Stream;
import org.apache.polaris.core.admin.model.GcpStorageConfigInfo;
import org.apache.polaris.core.admin.model.StorageConfigInfo;
import org.assertj.core.util.Strings;

/** Runs PolarisRestCatalogViewIntegrationTest on GCP. */
public class PolarisRestCatalogViewGcpIntegrationTest
Expand Down
1 change: 0 additions & 1 deletion polaris-core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ dependencies {
runtimeOnly("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")

implementation(libs.caffeine)
implementation(libs.commons.lang3)
implementation(libs.commons.codec)
implementation(libs.guava)
implementation(libs.slf4j.api)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import com.azure.storage.file.datalake.DataLakeFileSystemClientBuilder;
import com.azure.storage.file.datalake.models.DataLakeStorageException;
import com.azure.storage.file.datalake.models.PathItem;
import com.google.common.base.Strings;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.lang.annotation.ElementType;
Expand All @@ -52,7 +53,6 @@
import org.apache.polaris.core.storage.azure.AzureStorageConfigurationInfo;
import org.assertj.core.api.Assertions;
import org.assertj.core.api.Assumptions;
import org.assertj.core.util.Strings;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtensionContext;
import org.junit.jupiter.params.ParameterizedTest;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkState;

import com.google.common.base.Strings;
import jakarta.annotation.Nonnull;
import jakarta.annotation.Nullable;
import jakarta.validation.constraints.NotNull;
Expand All @@ -37,7 +38,6 @@
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Stream;
import org.apache.commons.lang3.StringUtils;
import org.apache.iceberg.catalog.Namespace;
import org.apache.iceberg.catalog.TableIdentifier;
import org.apache.iceberg.exceptions.AlreadyExistsException;
Expand Down Expand Up @@ -907,14 +907,14 @@ private void validateUpdateCatalogDiffOrThrow(
// additionalProperties while neglecting to "echo" the default-base-location from the
// fetched catalog, it's most user-friendly to treat a null or empty default-base-location
// as meaning no intended change to the default-base-location.
if (StringUtils.isNotEmpty(newDefaultBaseLocation)) {
// New base location is already in the updated properties; we'll also potentially
// plumb it into the logic for setting an updated StorageConfigurationInfo.
defaultBaseLocation = newDefaultBaseLocation;
} else {
if (Strings.isNullOrEmpty(newDefaultBaseLocation)) {
// No default-base-location present at all in the properties of the update request,
// so we must restore it explicitly in the updateBuilder.
updateBuilder.setDefaultBaseLocation(defaultBaseLocation);
} else {
// New base location is already in the updated properties; we'll also potentially
// plumb it into the logic for setting an updated StorageConfigurationInfo.
defaultBaseLocation = newDefaultBaseLocation;
}
}
if (updateRequest.getStorageConfigInfo() != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@
*/
package org.apache.polaris.service.auth;

import com.google.common.base.Throwables;
import io.smallrye.common.annotation.Identifier;
import jakarta.enterprise.context.RequestScoped;
import jakarta.inject.Inject;
import java.util.List;
import java.util.Set;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.iceberg.exceptions.NotAuthorizedException;
import org.apache.iceberg.exceptions.ServiceFailureException;
import org.apache.polaris.core.PolarisCallContext;
Expand Down Expand Up @@ -61,7 +61,7 @@ public Set<String> getActiveRoles(PolarisPrincipal principal) {
LOGGER.error(
"Expected an PersistedPolarisPrincipal, but got {}: {}",
principal.getClass().getName(),
ExceptionUtils.getStackTrace(new ServiceFailureException("Invalid principal type")));
Throwables.getStackTraceAsString(new ServiceFailureException("Invalid principal type")));
throw new NotAuthorizedException("Unable to authenticate");
}
List<PrincipalRoleEntity> activeRoles =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@
*/
package org.apache.polaris.service.auth;

import com.google.common.base.Throwables;
import io.smallrye.common.annotation.Identifier;
import jakarta.enterprise.context.RequestScoped;
import jakarta.inject.Inject;
import java.util.HashSet;
import java.util.Set;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.iceberg.exceptions.NotAuthorizedException;
import org.apache.iceberg.exceptions.ServiceFailureException;
import org.apache.polaris.core.auth.PolarisPrincipal;
Expand Down Expand Up @@ -81,7 +81,7 @@ public PolarisPrincipal authenticate(PolarisCredential credentials) {
LOGGER
.atError()
.addKeyValue("errMsg", e.getMessage())
.addKeyValue("stackTrace", ExceptionUtils.getStackTrace(e))
.addKeyValue("stackTrace", Throwables.getStackTraceAsString(e))
.log("Unable to authenticate user with token");
throw new ServiceFailureException("Unable to fetch principal entity");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
import java.util.Objects;
import java.util.Optional;
import java.util.UUID;
import org.apache.commons.lang3.StringUtils;
import org.apache.iceberg.exceptions.NotAuthorizedException;
import org.apache.polaris.core.PolarisCallContext;
import org.apache.polaris.core.entity.PolarisEntityType;
Expand Down Expand Up @@ -108,7 +107,7 @@ public TokenResponse generateFromToken(
if (!TokenType.ACCESS_TOKEN.equals(subjectTokenType)) {
return new TokenResponse(OAuthTokenErrorResponse.Error.invalid_request);
}
if (StringUtils.isBlank(subjectToken)) {
if (subjectToken == null || subjectToken.isBlank()) {
return new TokenResponse(OAuthTokenErrorResponse.Error.invalid_request);
}
DecodedToken decodedToken;
Expand Down Expand Up @@ -188,6 +187,6 @@ public boolean supportsRequestedTokenType(TokenType tokenType) {
}

private String scopes(String scope) {
return StringUtils.isNotBlank(scope) ? scope : DefaultAuthenticator.PRINCIPAL_ROLE_ALL;
return scope == null || scope.isBlank() ? DefaultAuthenticator.PRINCIPAL_ROLE_ALL : scope;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import com.google.common.base.Joiner;
import com.google.common.base.Objects;
import com.google.common.base.Preconditions;
import com.google.common.base.Throwables;
import com.google.common.collect.ImmutableMap;
import jakarta.annotation.Nonnull;
import jakarta.annotation.Nullable;
Expand All @@ -47,7 +48,6 @@
import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.iceberg.BaseTable;
import org.apache.iceberg.CatalogProperties;
import org.apache.iceberg.CatalogUtil;
Expand Down Expand Up @@ -165,7 +165,7 @@ public class IcebergCatalog extends BaseMetastoreViewCatalog
&& !(ex instanceof ForbiddenException)
&& !(ex instanceof UnprocessableEntityException)
&& (isStorageProviderRetryableException(ex)
|| isStorageProviderRetryableException(ExceptionUtils.getRootCause(ex)));
|| isStorageProviderRetryableException(Throwables.getRootCause(ex)));
};

private final StorageCredentialCache storageCredentialCache;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@
package org.apache.polaris.service.catalog.io;

import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Throwables;
import java.net.UnknownHostException;
import java.util.Map;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.iceberg.io.FileIO;
import org.apache.iceberg.io.InputFile;
import org.apache.iceberg.io.OutputFile;
Expand All @@ -36,7 +36,7 @@ public ExceptionMappingFileIO(FileIO io) {
}

private void handleException(RuntimeException e) {
for (Throwable t : ExceptionUtils.getThrowables(e)) {
for (Throwable t : Throwables.getCausalChain(e)) {
// UnknownHostException isn't a RuntimeException so it's always wrapped
if (t instanceof UnknownHostException) {
throw new FileIOUnknownHostException("UnknownHostException during File IO", t);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import com.google.cloud.BaseServiceException;
import com.google.cloud.storage.StorageException;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Throwables;
import com.google.common.collect.ImmutableSet;
import jakarta.ws.rs.WebApplicationException;
import jakarta.ws.rs.core.MediaType;
Expand All @@ -34,7 +35,6 @@
import java.util.Locale;
import java.util.Optional;
import java.util.Set;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.iceberg.exceptions.AlreadyExistsException;
import org.apache.iceberg.exceptions.CherrypickAncestorCommitException;
import org.apache.iceberg.exceptions.CleanableFailure;
Expand Down Expand Up @@ -156,7 +156,7 @@ public static Collection<String> getAccessDeniedHints() {
}

static int mapExceptionToResponseCode(RuntimeException rex) {
for (Throwable t : ExceptionUtils.getThrowables(rex)) {
for (Throwable t : Throwables.getCausalChain(rex)) {
// Cloud exceptions can be wrapped by the Iceberg SDK
Optional<Integer> code = mapCloudExceptionToResponseCode(t);
if (code.isPresent()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.commons.lang3.function.TriFunction;
import org.apache.iceberg.CatalogProperties;
import org.apache.iceberg.catalog.TableIdentifier;
import org.apache.iceberg.io.FileIO;
Expand All @@ -37,16 +36,14 @@
import org.apache.polaris.service.catalog.io.FileIOFactory;

@ApplicationScoped
public class TaskFileIOSupplier
implements TriFunction<TaskEntity, TableIdentifier, CallContext, FileIO> {
public class TaskFileIOSupplier {
private final FileIOFactory fileIOFactory;

@Inject
public TaskFileIOSupplier(FileIOFactory fileIOFactory) {
this.fileIOFactory = fileIOFactory;
}

@Override
public FileIO apply(TaskEntity task, TableIdentifier identifier, CallContext callContext) {
Map<String, String> internalProperties = task.getInternalPropertiesAsMap();
Map<String, String> properties = new HashMap<>(internalProperties);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

package org.apache.polaris.service.catalog.iceberg;

import com.google.common.base.Strings;
import java.io.IOException;
import java.lang.reflect.Field;
import java.util.List;
Expand All @@ -41,7 +42,6 @@
import org.apache.polaris.core.admin.model.StorageConfigInfo;
import org.apache.polaris.service.TestServices;
import org.assertj.core.api.Assertions;
import org.assertj.core.util.Strings;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
Expand Down