Skip to content

Commit 076679f

Browse files
committed
Fix conflict due to boto3 version
2 parents 4a6761c + 1fb194e commit 076679f

File tree

229 files changed

+12498
-2026
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

229 files changed

+12498
-2026
lines changed

.asf.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ github:
7373
- renovate-bot
7474
- singhpk234
7575
- gh-yzou
76+
- nssalian
77+
- adnanhemani
7678

7779
notifications:
7880
commits: commits@polaris.apache.org

.github/workflows/helm.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,7 @@ jobs:
104104
:polaris-quarkus-server:quarkusAppPartsBuild --rerun \
105105
:polaris-quarkus-admin:assemble \
106106
:polaris-quarkus-admin:quarkusAppPartsBuild --rerun \
107-
-Dquarkus.container-image.build=true \
108-
-PeclipseLinkDeps=org.postgresql:postgresql:42.7.4
107+
-Dquarkus.container-image.build=true
109108
minikube image ls
110109
111110
- name: Install fixtures
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
#
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing,
13+
# software distributed under the License is distributed on an
14+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
# KIND, either express or implied. See the License for the
16+
# specific language governing permissions and limitations
17+
# under the License.
18+
#
19+
20+
name: Spark Client Regression Tests
21+
on:
22+
push:
23+
branches: [ "main" ]
24+
pull_request:
25+
branches: [ "main" ]
26+
27+
jobs:
28+
regtest:
29+
30+
runs-on: ubuntu-latest
31+
permissions:
32+
contents: read
33+
34+
steps:
35+
- uses: actions/checkout@v4
36+
37+
- name: Set up JDK 21
38+
uses: actions/setup-java@v4
39+
with:
40+
java-version: '21'
41+
distribution: 'temurin'
42+
43+
- name: Fix permissions
44+
run: mkdir -p regtests/output && chmod 777 regtests/output && chmod 777 regtests/t_*/ref/*
45+
46+
- name: Project build without testing
47+
run: ./gradlew assemble
48+
49+
- name: Image build
50+
run: |
51+
./gradlew \
52+
:polaris-quarkus-server:assemble \
53+
:polaris-quarkus-server:quarkusAppPartsBuild --rerun \
54+
-Dquarkus.container-image.build=true
55+
56+
# NOTE: the regression test runs with spark 3.5.5 and scala 2.12 in Java 17. We also have integration
57+
# tests runs with the existing gradle.yml, which only runs on Java 21. Since spark Java compatibility
58+
# for 3.5 is 8, 11, and 17, we should run spark client with those compatible java versions.
59+
# TODO: add separate spark client CI and run with Java 8, 11 and 17.
60+
- name: Regression Test
61+
run: |
62+
docker compose -f plugins/spark/v3.5/regtests/docker-compose.yml up --build --exit-code-from regtest

LICENSE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,7 @@ This product includes code from Apache Iceberg.
218218
* spec/iceberg-rest-catalog-open-api.yaml
219219
* spec/polaris-catalog-apis/oauth-tokens-api.yaml
220220
* integration-tests/src/main/java/org/apache/polaris/service/it/test/PolarisRestCatalogIntegrationTest.java
221+
* service/common/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalog.java
221222

222223
Copyright: Copyright 2017-2025 The Apache Software Foundation
223224
Home page: https://iceberg.apache.org

README.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@ for contribution guidelines.
3636

3737
[dev-list-subscribe]: mailto:dev-subscribe@polaris.apache.org
3838

39+
## Polaris Overview
40+
Click [here](https://polaris.apache.org/in-dev/unreleased/overview/) for a quick overview of Polaris.
41+
42+
## Quickstart
43+
Click [here](https://polaris.apache.org/in-dev/unreleased/getting-started/install-dependencies/) for the quickstart experience, which will help you set up a Polaris instance locally or on any supported cloud provider.
44+
3945
## Building and Running
4046

4147
Apache Polaris is organized into the following modules:
@@ -55,14 +61,18 @@ Apache Polaris is organized into the following modules:
5561
- Persistence modules:
5662
- `polaris-jpa-model` - The JPA entity definitions
5763
- `polaris-eclipselink` - The Eclipselink implementation of the MetaStoreManager interface
64+
- `polaris-relational-jdbc` - The JDBC implementation of BasePersistence to be used via AtomicMetaStoreManager
5865

5966
Apache Polaris is built using Gradle with Java 21+ and Docker 27+.
6067

6168
- `./gradlew build` - To build and run tests. Make sure Docker is running, as the integration tests depend on it.
6269
- `./gradlew assemble` - To skip tests.
6370
- `./gradlew test` - To run unit tests and integration tests.
64-
- `./gradlew run` - To run the Polaris server locally; the server is reachable at
65-
localhost:8181. This is also suitable for running regression tests, or for connecting with Spark.
71+
- `./gradlew run` - To run the Polaris server locally; the server is reachable at localhost:8181. This is also suitable for running regression tests, or for connecting with Spark. Set your own credentials by specifying system property `./gradlew run -Dpolaris.bootstrap.credentials=POLARIS,root,secret` where:
72+
- `POLARIS` is the realm
73+
- `root` is the CLIENT_ID
74+
- `secret` is the CLIENT_SECRET
75+
- If credentials are not set, it will use preset credentials `POLARIS,root,secret`
6676
- `./regtests/run_spark_sql.sh` - To connect from Spark SQL. Here are some example commands to run in the Spark SQL shell:
6777
```sql
6878
create database db1;

api/iceberg-service/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ dependencies {
4545
implementation("com.fasterxml.jackson.core:jackson-annotations")
4646
implementation("com.fasterxml.jackson.core:jackson-core")
4747
implementation("com.fasterxml.jackson.core:jackson-databind")
48+
49+
compileOnly(libs.microprofile.fault.tolerance.api)
4850
}
4951

5052
openApiGenerate {

api/management-service/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ dependencies {
3333
compileOnly(libs.jakarta.annotation.api)
3434
compileOnly(libs.jakarta.inject.api)
3535
compileOnly(libs.jakarta.validation.api)
36+
compileOnly(libs.microprofile.fault.tolerance.api)
3637
compileOnly(libs.swagger.annotations)
3738

3839
implementation(libs.jakarta.servlet.api)

api/polaris-catalog-service/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ dependencies {
7171
implementation("com.fasterxml.jackson.core:jackson-annotations")
7272
implementation("com.fasterxml.jackson.core:jackson-core")
7373
implementation("com.fasterxml.jackson.core:jackson-databind")
74+
75+
compileOnly(libs.microprofile.fault.tolerance.api)
7476
}
7577

7678
openApiGenerate {

bom/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,11 @@ dependencies {
4242
api(project(":polaris-service-common"))
4343

4444
api(project(":polaris-eclipselink"))
45+
api(project(":polaris-relational-jdbc"))
4546
api(project(":polaris-jpa-model"))
4647

4748
api(project(":polaris-quarkus-admin"))
49+
api(project(":polaris-quarkus-test-commons"))
4850
api(project(":polaris-quarkus-defaults"))
4951
api(project(":polaris-quarkus-server"))
5052
api(project(":polaris-quarkus-service"))
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one
3+
* or more contributor license agreements. See the NOTICE file
4+
* distributed with this work for additional information
5+
* regarding copyright ownership. The ASF licenses this file
6+
* to you under the Apache License, Version 2.0 (the
7+
* "License"); you may not use this file except in compliance
8+
* with the License. You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing,
13+
* software distributed under the License is distributed on an
14+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* KIND, either express or implied. See the License for the
16+
* specific language governing permissions and limitations
17+
* under the License.
18+
*/
19+
20+
import org.gradle.api.Project
21+
import org.gradle.process.JavaForkOptions
22+
23+
/**
24+
* Extract the scala version from polaris spark project, and points the build directory to a sub-dir
25+
* that uses scala version as name. The polaris spark project name is in format of
26+
* <project>-<sparkVersion>_<scalaVersion>, for example: polaris-spark-3.5_2.12.
27+
*/
28+
fun Project.getAndUseScalaVersionForProject(): String {
29+
val sparkScala = project.name.split("-").last().split("_")
30+
31+
val scalaVersion = sparkScala[1]
32+
33+
// direct the build to build/<scalaVersion> to avoid potential collision problem
34+
project.layout.buildDirectory.set(layout.buildDirectory.dir(scalaVersion).get())
35+
36+
return scalaVersion
37+
}
38+
39+
/**
40+
* Adds the JPMS options required for Spark to run on Java 17, taken from the
41+
* `DEFAULT_MODULE_OPTIONS` constant in `org.apache.spark.launcher.JavaModuleOptions`.
42+
*/
43+
fun JavaForkOptions.addSparkJvmOptions() {
44+
jvmArgs =
45+
(jvmArgs ?: emptyList()) +
46+
listOf(
47+
// Spark 3.3+
48+
"-XX:+IgnoreUnrecognizedVMOptions",
49+
"--add-opens=java.base/java.lang=ALL-UNNAMED",
50+
"--add-opens=java.base/java.lang.invoke=ALL-UNNAMED",
51+
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
52+
"--add-opens=java.base/java.io=ALL-UNNAMED",
53+
"--add-opens=java.base/java.net=ALL-UNNAMED",
54+
"--add-opens=java.base/java.nio=ALL-UNNAMED",
55+
"--add-opens=java.base/java.util=ALL-UNNAMED",
56+
"--add-opens=java.base/java.util.concurrent=ALL-UNNAMED",
57+
"--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED",
58+
"--add-opens=java.base/sun.nio.ch=ALL-UNNAMED",
59+
"--add-opens=java.base/sun.nio.cs=ALL-UNNAMED",
60+
"--add-opens=java.base/sun.security.action=ALL-UNNAMED",
61+
"--add-opens=java.base/sun.util.calendar=ALL-UNNAMED",
62+
"--add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED",
63+
// Spark 3.4+
64+
"-Djdk.reflect.useDirectMethodHandle=false",
65+
)
66+
}

0 commit comments

Comments
 (0)