Skip to content

Commit

Permalink
Merge remote-trtacking branch 'upstream/main' into ISSUE-6042
Browse files Browse the repository at this point in the history
  • Loading branch information
jerqi committed Jan 8, 2025
2 parents eb5b9cc + 30e21d1 commit 2cda675
Show file tree
Hide file tree
Showing 448 changed files with 21,212 additions and 2,904 deletions.
83 changes: 0 additions & 83 deletions .github/CONTRIBUTING

This file was deleted.

2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
1. If you propose a new API, clarify the use case for a new API.
2. If you fix a bug, describe the bug.)

Fix: # (issue)
Fix: #(issue)

### Does this PR introduce _any_ user-facing change?

Expand Down
40 changes: 11 additions & 29 deletions .github/workflows/auto-cherry-pick.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,60 +7,42 @@ on:
types: ["closed"]

jobs:
cherry_pick_branch_0_5:
runs-on: ubuntu-latest
name: Cherry pick into branch_0.5
if: ${{ contains(github.event.pull_request.labels.*.name, 'branch-0.5') && github.event.pull_request.merged == true }}
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Cherry pick into branch-0.5
uses: carloscastrojumo/[email protected]
with:
branch: branch-0.5
labels: |
cherry-pick
reviewers: |
jerryshao
cherry_pick_branch_0_6:
cherry_pick_branch_0_7:
runs-on: ubuntu-latest
name: Cherry pick into branch_0.6
if: ${{ contains(github.event.pull_request.labels.*.name, 'branch-0.6') && github.event.pull_request.merged == true }}
name: Cherry pick into branch_0.7
if: ${{ contains(github.event.pull_request.labels.*.name, 'branch-0.7') && github.event.pull_request.merged == true }}
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Cherry pick into branch-0.6
- name: Cherry pick into branch-0.7
uses: carloscastrojumo/[email protected]
with:
branch: branch-0.6
branch: branch-0.7
labels: |
cherry-pick
reviewers: |
jerryshao
cherry_pick_branch_0_7:
cherry_pick_branch_0_8:
runs-on: ubuntu-latest
name: Cherry pick into branch_0.7
if: ${{ contains(github.event.pull_request.labels.*.name, 'branch-0.7') && github.event.pull_request.merged == true }}
name: Cherry pick into branch_0.8
if: ${{ contains(github.event.pull_request.labels.*.name, 'branch-0.8') && github.event.pull_request.merged == true }}
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Cherry pick into branch-0.7
- name: Cherry pick into branch-0.8
uses: carloscastrojumo/[email protected]
with:
branch: branch-0.7
branch: branch-0.8
labels: |
cherry-pick
reviewers: |
jerryshao
FANNG1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3 changes: 2 additions & 1 deletion .github/workflows/backend-integration-test-action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,8 @@ jobs:
-x :web:web:test -x :web:integration-test:test -x :clients:client-python:test -x :flink-connector:flink:test -x :spark-connector:spark-common:test
-x :spark-connector:spark-3.3:test -x :spark-connector:spark-3.4:test -x :spark-connector:spark-3.5:test
-x :spark-connector:spark-runtime-3.3:test -x :spark-connector:spark-runtime-3.4:test -x :spark-connector:spark-runtime-3.5:test
-x :authorizations:authorization-ranger:test -x :trino-connector:integration-test:test -x :trino-connector:trino-connector:test
-x :trino-connector:integration-test:test -x :trino-connector:trino-connector:test
-x :authorizations:authorization-chain:test -x :authorizations:authorization-ranger:test
- name: Upload integrate tests reports
uses: actions/upload-artifact@v3
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/backend-integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ jobs:
- meta/**
- scripts/**
- server/**
- bundles/**
- server-common/**
- build.gradle.kts
- gradle.properties
Expand Down
89 changes: 89 additions & 0 deletions .github/workflows/gvfs-fuse-build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: Build gvfs-fuse and testing

# Controls when the workflow will run
on:
push:
branches: [ "main", "branch-*" ]
pull_request:
branches: [ "main", "branch-*" ]
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
changes:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
source_changes:
- .github/**
- api/**
- bin/**
- catalogs/hadoop/**
- clients/filesystem-fuse/**
- common/**
- conf/**
- core/**
- dev/**
- gradle/**
- meta/**
- scripts/**
- server/**
- server-common/**
- build.gradle.kts
- gradle.properties
- gradlew
- setting.gradle.kts
outputs:
source_changes: ${{ steps.filter.outputs.source_changes }}

# Build for AMD64 architecture
Gvfs-Build:
needs: changes
if: needs.changes.outputs.source_changes == 'true'
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
matrix:
architecture: [linux/amd64]
java-version: [ 17 ]
env:
PLATFORM: ${{ matrix.architecture }}
steps:
- uses: actions/checkout@v3

- uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java-version }}
distribution: 'temurin'
cache: 'gradle'

- name: Set up QEMU
uses: docker/setup-qemu-action@v2

- name: Check required command
run: |
dev/ci/check_commands.sh
- name: Build and test Gravitino
run: |
./gradlew :clients:filesystem-fuse:build -PenableFuse=true
- name: Free up disk space
run: |
dev/ci/util_free_space.sh
- name: Upload tests reports
uses: actions/upload-artifact@v3
if: ${{ (failure() && steps.integrationTest.outcome == 'failure') || contains(github.event.pull_request.labels.*.name, 'upload log') }}
with:
name: Gvfs-fuse integrate-test-reports-${{ matrix.java-version }}
path: |
clients/filesystem-fuse/build/test/log/*.log
4 changes: 4 additions & 0 deletions api/src/main/java/org/apache/gravitino/MetadataObjects.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import com.google.common.base.Joiner;
import com.google.common.base.Preconditions;
import com.google.common.base.Splitter;
import java.util.Collections;
import java.util.List;
import javax.annotation.Nullable;
import org.apache.commons.lang3.StringUtils;
Expand Down Expand Up @@ -151,6 +152,9 @@ public static MetadataObject parse(String fullName, MetadataObject.Type type) {
StringUtils.isNotBlank(fullName), "Metadata object full name cannot be blank");

List<String> parts = DOT_SPLITTER.splitToList(fullName);
if (type == MetadataObject.Type.ROLE) {
return MetadataObjects.of(Collections.singletonList(fullName), MetadataObject.Type.ROLE);
}

return MetadataObjects.of(parts, type);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
package org.apache.gravitino.authorization;

import com.google.common.base.Preconditions;
import java.util.List;
import java.util.Objects;
import org.apache.gravitino.MetadataObject;
import org.apache.gravitino.annotation.Evolving;
Expand All @@ -44,10 +45,11 @@ static MetadataObjectChange rename(
* Remove a metadata entity MetadataObjectChange.
*
* @param metadataObject The metadata object.
* @param locations The locations of the metadata object.
* @return return a MetadataObjectChange for the remove metadata object.
*/
static MetadataObjectChange remove(MetadataObject metadataObject) {
return new RemoveMetadataObject(metadataObject);
static MetadataObjectChange remove(MetadataObject metadataObject, List<String> locations) {
return new RemoveMetadataObject(metadataObject, locations);
}

/** A RenameMetadataObject is to rename securable object's metadata entity. */
Expand Down Expand Up @@ -127,9 +129,11 @@ public String toString() {
/** A RemoveMetadataObject is to remove securable object's metadata entity. */
final class RemoveMetadataObject implements MetadataObjectChange {
private final MetadataObject metadataObject;
private final List<String> locations;

private RemoveMetadataObject(MetadataObject metadataObject) {
private RemoveMetadataObject(MetadataObject metadataObject, List<String> locations) {
this.metadataObject = metadataObject;
this.locations = locations;
}

/**
Expand All @@ -141,6 +145,15 @@ public MetadataObject metadataObject() {
return metadataObject;
}

/**
* Returns the location path of the metadata object.
*
* @return return a location path.
*/
public List<String> getLocations() {
return locations;
}

/**
* Compares this RemoveMetadataObject instance with another object for equality. The comparison
* is based on the old metadata entity.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
/** ADLS SAS token credential. */
public class ADLSTokenCredential implements Credential {

/** ADLS SAS token credential type. */
public static final String ADLS_SAS_TOKEN_CREDENTIAL_TYPE = "adls-sas-token";
/** ADLS token credential type. */
public static final String ADLS_TOKEN_CREDENTIAL_TYPE = "adls-token";
/** ADLS base domain */
public static final String ADLS_DOMAIN = "dfs.core.windows.net";
/** ADLS storage account name */
Expand Down Expand Up @@ -62,7 +62,7 @@ public ADLSTokenCredential() {}

@Override
public String credentialType() {
return ADLS_SAS_TOKEN_CREDENTIAL_TYPE;
return ADLS_TOKEN_CREDENTIAL_TYPE;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public interface SupportsCredentials {
* org.apache.gravitino.file.Fileset}, {@link org.apache.gravitino.rel.Table}. There will be
* at most one credential for one credential type.
*/
Credential[] getCredentials() throws NoSuchCredentialException;
Credential[] getCredentials();

/**
* Retrieves an {@link Credential} object based on the specified credential type.
Expand Down
15 changes: 15 additions & 0 deletions api/src/test/java/org/apache/gravitino/TestMetadataObjects.java
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,19 @@ public void testColumnObject() {
MetadataObjects.of(
Lists.newArrayList("catalog", "schema", "table"), MetadataObject.Type.COLUMN));
}

@Test
public void testRoleObject() {
MetadataObject roleObject = MetadataObjects.of(null, "role.test", MetadataObject.Type.ROLE);
Assertions.assertEquals("role.test", roleObject.fullName());

MetadataObject roleObject1 = MetadataObjects.of(null, "role", MetadataObject.Type.ROLE);
Assertions.assertEquals("role", roleObject1.fullName());

MetadataObject roleObject2 = MetadataObjects.parse("role.test", MetadataObject.Type.ROLE);
Assertions.assertEquals("role.test", roleObject2.fullName());

MetadataObject roleObject3 = MetadataObjects.parse("role", MetadataObject.Type.ROLE);
Assertions.assertEquals("role", roleObject3.fullName());
}
}
Loading

0 comments on commit 2cda675

Please sign in to comment.