Skip to content

Commit cc3d000

Browse files
committed
Use official Polaris Catalog docker image
1 parent e00bd87 commit cc3d000

File tree

3 files changed

+52
-5
lines changed

3 files changed

+52
-5
lines changed

plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/IcebergQueryRunner.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,11 @@ public static void main(String[] args)
235235
throws Exception
236236
{
237237
Path warehouseLocation = Files.createTempDirectory(null);
238-
warehouseLocation.toFile().deleteOnExit();
238+
File warehouseDir = warehouseLocation.toFile();
239+
warehouseDir.deleteOnExit();
240+
warehouseDir.setReadable(true, false);
241+
warehouseDir.setWritable(true, false);
242+
warehouseDir.setExecutable(true, false);
239243

240244
@SuppressWarnings("resource")
241245
TestingPolarisCatalog polarisCatalog = new TestingPolarisCatalog(warehouseLocation.toString());

plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/catalog/rest/TestIcebergPolarisCatalogConnectorSmokeTest.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import io.trino.plugin.iceberg.IcebergConfig;
1919
import io.trino.plugin.iceberg.IcebergConnector;
2020
import io.trino.plugin.iceberg.IcebergQueryRunner;
21+
import io.trino.plugin.iceberg.SchemaInitializer;
2122
import io.trino.plugin.iceberg.catalog.TrinoCatalog;
2223
import io.trino.plugin.iceberg.catalog.TrinoCatalogFactory;
2324
import io.trino.spi.connector.SchemaTableName;
@@ -29,10 +30,12 @@
2930
import org.junit.jupiter.api.TestInstance;
3031
import org.junit.jupiter.api.parallel.Isolated;
3132

33+
import java.io.File;
3234
import java.io.IOException;
3335
import java.io.UncheckedIOException;
3436
import java.nio.file.Files;
3537
import java.nio.file.Path;
38+
import java.util.Map;
3639
import java.util.Optional;
3740

3841
import static com.google.common.io.MoreFiles.deleteRecursively;
@@ -75,6 +78,11 @@ protected QueryRunner createQueryRunner()
7578
throws Exception
7679
{
7780
warehouseLocation = Files.createTempDirectory(null);
81+
File warehouseDir = warehouseLocation.toFile();
82+
warehouseDir.mkdirs();
83+
warehouseDir.setReadable(true, false);
84+
warehouseDir.setWritable(true, false);
85+
warehouseDir.setExecutable(true, false);
7886
polarisCatalog = closeAfterClass(new TestingPolarisCatalog(warehouseLocation.toString()));
7987

8088
return IcebergQueryRunner.builder()
@@ -90,7 +98,12 @@ protected QueryRunner createQueryRunner()
9098
.addIcebergProperty("iceberg.rest-catalog.security", "OAUTH2")
9199
.addIcebergProperty("iceberg.rest-catalog.oauth2.credential", TestingPolarisCatalog.CREDENTIAL)
92100
.addIcebergProperty("iceberg.rest-catalog.oauth2.scope", "PRINCIPAL_ROLE:ALL")
93-
.setInitialTables(REQUIRED_TPCH_TABLES)
101+
.setSchemaInitializer(
102+
SchemaInitializer.builder()
103+
.withSchemaName("tpch")
104+
.withClonedTpchTables(REQUIRED_TPCH_TABLES)
105+
.withSchemaProperties(Map.of("file", "'file://" + warehouseLocation))
106+
.build())
94107
.build();
95108
}
96109

plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/catalog/rest/TestingPolarisCatalog.java

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,27 @@
2929
import java.io.IOException;
3030
import java.io.UncheckedIOException;
3131
import java.net.URI;
32+
import java.nio.file.Path;
33+
import java.nio.file.Paths;
34+
import java.nio.file.attribute.PosixFilePermission;
35+
import java.util.EnumSet;
36+
import java.util.Set;
3237

3338
import static com.google.common.base.Preconditions.checkState;
3439
import static io.airlift.http.client.StaticBodyGenerator.createStaticBodyGenerator;
3540
import static io.airlift.http.client.StatusResponseHandler.createStatusResponseHandler;
3641
import static io.airlift.http.client.StringResponseHandler.createStringResponseHandler;
37-
import static io.trino.testing.TestingProperties.getDockerImagesVersion;
3842
import static java.nio.charset.StandardCharsets.UTF_8;
43+
import static java.nio.file.Files.setPosixFilePermissions;
44+
import static java.nio.file.attribute.PosixFilePermission.GROUP_EXECUTE;
45+
import static java.nio.file.attribute.PosixFilePermission.GROUP_READ;
46+
import static java.nio.file.attribute.PosixFilePermission.GROUP_WRITE;
47+
import static java.nio.file.attribute.PosixFilePermission.OTHERS_EXECUTE;
48+
import static java.nio.file.attribute.PosixFilePermission.OTHERS_READ;
49+
import static java.nio.file.attribute.PosixFilePermission.OTHERS_WRITE;
50+
import static java.nio.file.attribute.PosixFilePermission.OWNER_EXECUTE;
51+
import static java.nio.file.attribute.PosixFilePermission.OWNER_READ;
52+
import static java.nio.file.attribute.PosixFilePermission.OWNER_WRITE;
3953
import static java.util.Objects.requireNonNull;
4054

4155
public final class TestingPolarisCatalog
@@ -55,9 +69,25 @@ public final class TestingPolarisCatalog
5569
public TestingPolarisCatalog(String warehouseLocation)
5670
{
5771
this.warehouseLocation = requireNonNull(warehouseLocation, "warehouseLocation is null");
72+
Path warehousePath = Paths.get(warehouseLocation);
73+
try {
74+
Set<PosixFilePermission> permissions = EnumSet.of(
75+
OWNER_READ,
76+
OWNER_WRITE,
77+
OWNER_EXECUTE,
78+
GROUP_READ,
79+
GROUP_WRITE,
80+
GROUP_EXECUTE,
81+
OTHERS_READ,
82+
OTHERS_WRITE,
83+
OTHERS_EXECUTE);
84+
setPosixFilePermissions(warehousePath, permissions);
85+
}
86+
catch (Exception e) {
87+
throw new RuntimeException("Failed to setup warehouse directory", e);
88+
}
5889

59-
// TODO: Use the official docker image once Polaris community provides it
60-
polarisCatalog = new GenericContainer<>("ghcr.io/trinodb/testing/polaris-catalog:" + getDockerImagesVersion());
90+
polarisCatalog = new GenericContainer<>("apache/polaris:1.0.0-incubating");
6191
polarisCatalog.addExposedPort(POLARIS_PORT);
6292
polarisCatalog.withFileSystemBind(warehouseLocation, warehouseLocation, BindMode.READ_WRITE);
6393
polarisCatalog.waitingFor(new LogMessageWaitStrategy().withRegEx(".*Apache Polaris Server.* started.*"));

0 commit comments

Comments
 (0)