Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#3914] feat(server): Add REST server interface for Tag System #3943

Merged
merged 30 commits into from
Jul 22, 2024

Conversation

jerryshao
Copy link
Contributor

What changes were proposed in this pull request?

This PR proposes to add REST server interface for Tag System

Why are the changes needed?

This is a part of work for Tag system.

Fix: #3914

Does this PR introduce any user-facing change?

Yes

How was this patch tested?

UTs added.

@jerryshao jerryshao self-assigned this Jun 21, 2024
bknbkn and others added 15 commits July 15, 2024 14:15
…ns (apache#4123)

### What changes were proposed in this pull request?

Add fileset commet removal operations: FilesetChange.RemoveComment

Fix: apache#4112

### Why are the changes needed?
Fileset can be created without comment now, when user added a comment to
fileset, they should be allowed to retract the comment.

Like other FilesetChange, FilesetChange.RemoveComment can be used for
**alterFileset()** method

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

User can add new changes for fileset:
``` 
Fileset fileset = catalog.asFilesetCatalog().alterFileset(
                NameIdentifier.of(metaLakeName, catalogName, schemaName, filesetName),
                FilesetChange.removeComment());
```

or use update fileset http request: 
```
updates": [
    {
      "@type": "removeComment"
    }
]
```

### How was this patch tested?

Create a fileset with comment, then use java/python client, or http
requeset to remove comment and check the result
…-connector (apache#4144)

### Why are the changes needed?
Fix: apache#4135

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

### How was this patch tested?
Existing UTs
…pache#4121)

### What changes were proposed in this pull request?

Remove the logic of getValidRoles.

### Why are the changes needed?

Fix: apache#4105 

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

### How was this patch tested?
Modify some test cases.
### What changes were proposed in this pull request?

Fixed an unreachable link.

### Why are the changes needed?

Fix: apache#4155

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

No

### How was this patch tested?

No testing required

Co-authored-by: rqyin <[email protected]>
@@ -16,7 +16,6 @@
* specific language governing permissions and limitations
* under the License.
*/

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this empty line expected?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, there's no rule that here should have an empty line.

@yuqi1129
Copy link
Contributor

@jerqi
Please also help to take a look.

@jerryshao
Copy link
Contributor Author

@jerqi can you please help me to review it?

api/src/main/java/org/apache/gravitino/MetadataObject.java Outdated Show resolved Hide resolved
* @param fullName The full name of the metadata object.
*/
@JsonProperty("fullName")
public void setFullName(String fullName) {
Copy link
Contributor

@jerqi jerqi Jul 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need this method instead of using builder? MetadataObjectDTO became a mutable object?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is only for Jackson to use.

@jerqi
Copy link
Contributor

jerqi commented Jul 22, 2024

Why do you choose to use lock inside the TagManager instead of TagOperations?

@jerryshao
Copy link
Contributor Author

Why do you choose to use lock inside the TagManager instead of TagOperations?

I personally don't like wrapping everything into the lock in the operations, which is hard to do fine-grained control. Besides, previously I didn't even want to use lock.

Copy link
Contributor

@jerqi jerqi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Copy link
Contributor

@yuqi1129 yuqi1129 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jerryshao jerryshao merged commit 71e6651 into apache:main Jul 22, 2024
33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Subtask] Server-side REST API support for Tag system.
6 participants