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

[#6078] feat(core): Support model event to Gravitino server #6129

Open
wants to merge 40 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
4b5e95a
[#6078] feat(core): Support model event to Gravitino server
Abyss-lord Jan 7, 2025
9098335
[#6078] feat(core): Support model event to Gravitino server
Abyss-lord Jan 7, 2025
cd86b6a
[#6078] feat(core): Support model event to Gravitino server
Abyss-lord Jan 9, 2025
e0b0514
[#6166] web(ui): load tree load data after refreshing the version det…
LauraXia123 Jan 9, 2025
b6c29e0
[#6143] improve(CLI): Refactor catalog commands in Gavitino CLI (#6159)
Abyss-lord Jan 9, 2025
73f1e01
[#6145] improve(CLI): Refactor table commands in Gavitino CLI (#6161)
Abyss-lord Jan 9, 2025
3b24ee2
[#6148] improve(CLI): Refactor model commands in Gavitino CLI (#6162)
Abyss-lord Jan 9, 2025
2f81bdc
[#5973] feat(hadoop-catalog): Support credential when using fileset c…
yuqi1129 Jan 10, 2025
7838acc
[#6173] fix Trino license and notice files (#6173)
justinmclean Jan 10, 2025
0d6864b
[Minor] Update year in NOTICE files (#6171)
justinmclean Jan 10, 2025
62bcbc2
build(deps): bump nanoid from 3.3.7 to 3.3.8 in /web/web (#6176)
dependabot[bot] Jan 10, 2025
87cfdf9
[#6146] improve(CLI): Refactor topic commands in Gavitino CLI (#6174)
Abyss-lord Jan 10, 2025
f26fc79
[#6151] improve(CLI): Refactor group commands in Gavitino CLI (#6175)
Abyss-lord Jan 10, 2025
ed5e031
[#6165] feat(core): Use Gravitino cloud jar without hadoop packages …
FANNG1 Jan 10, 2025
fce6429
[#6054] feat(core): add more GCS permission to support fileset oper…
FANNG1 Jan 10, 2025
7be9c46
[#6110] doc(authz): Add document for chain authorization plugin (#6115)
jerqi Jan 10, 2025
be78740
[#6144] improve(CLI): Refactor schema commands in Gravitino CLI (#6178)
luoshipeng Jan 10, 2025
2460f6a
[#6184]improve(core): Remove the protobuf dependency (#6185)
jerryshao Jan 10, 2025
6e87ccc
[#6153]refactor: Break up role commands in Gravitino CLI (#6170)
cool9850311 Jan 10, 2025
dc3444d
Merge branch 'main' into model-event
Abyss-lord Jan 11, 2025
815d72a
[#6177] improve(CLI): Refactor ownership commands in Gravitino CLI (#…
Abyss-lord Jan 12, 2025
effb35f
[#6149] improve(CLI): Refactor column commands in Gavitino CLI (#6190)
TungYuChiang Jan 12, 2025
2180b35
[#6150] improve(CLI): Refactor user commands in Gavitino CLI (#6193)
antony0016 Jan 12, 2025
ccc1f67
[MINOR] bump version to 0.9.0-incubating-snapshot (#6094)
FANNG1 Jan 13, 2025
09d48b1
[#6194] Add python client license and notice file (#6195)
justinmclean Jan 13, 2025
e7f2450
[#6069] fix(docs): Fix access-control.md (#6189)
Abyss-lord Jan 13, 2025
7b01887
[#5533] fix (trino-connector): Fix the exception of ArrayIndexOutOfBo…
diqiu50 Jan 13, 2025
507da37
[Minor] Update command usage and add usage tracker in Gravitino CLI (…
justinmclean Jan 13, 2025
cfcdb83
[doc] Revise the glossary documentation (#5837)
tengqm Jan 13, 2025
b0c8321
[#6078] feat(core): Support model event to Gravitino server
Abyss-lord Jan 14, 2025
aee42c0
[#6200] improvement(docs): Add Docker image details for 0.8.0 (#6202)
jerqi Jan 13, 2025
c9ceec7
[#5545] fix(doris-catalog): Fix the problem that we can't set Doris t…
yuqi1129 Jan 13, 2025
1ef596e
[#5721] improvement(mysql-catalog): add column not null limitation in…
mchades Jan 13, 2025
482b222
[#5100] improvement(docs): Add extra documents to clarify the engine …
yuqi1129 Jan 13, 2025
ca97340
[#5192] [#5193] feat(flink): Support Catalog&Schema Operation DDL for…
hdygxsj Jan 13, 2025
181acd4
[#6139] Refactor metalake command in Gravitino CLI (#6140)
justinmclean Jan 13, 2025
b36bd8d
[#6147] improve(CLI): Refactor fileset commands in Gavitino CLI  (#6191)
TungYuChiang Jan 13, 2025
8fb7756
[#6152] refactor: Refactor tag commands in Gravitino CLI (#6192)
frankvicky Jan 14, 2025
e130f53
Merge branch 'main' into model-event
Abyss-lord Jan 14, 2025
f737606
[#6220] improve(CLI): Clean up GravitinoCommandLine class now it bee…
Abyss-lord Jan 15, 2025
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
@@ -0,0 +1,75 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

package org.apache.gravitino.listener.api.event;

import org.apache.gravitino.NameIdentifier;
import org.apache.gravitino.listener.api.info.ModelInfo;

/** Event representing the successful drop of a model. */
public class DropModelEvent extends ModelEvent {
Abyss-lord marked this conversation as resolved.
Show resolved Hide resolved
private final ModelInfo dropModelInfo;
private final boolean isExists;

/**
* Constructs an instance of {@code DropModelEvent}, capturing essential details about the
* successful drop of a model.
*
* @param user The username of the individual who initiated the model drop operation.
* @param identifier The unique identifier of the model that was dropped.
* @param dropModelInfo The state of the model post-drop operation.
* @param isExists A boolean flag indicating whether the model existed at the time of the drop
* operation.
*/
public DropModelEvent(
String user, NameIdentifier identifier, ModelInfo dropModelInfo, boolean isExists) {
super(user, identifier);
this.dropModelInfo = dropModelInfo;
this.isExists = isExists;
}

/**
* Retrieves the state of the model post-drop operation.
*
* @return The state of the model post-drop operation.
*/
public ModelInfo DropModelInfo() {
return dropModelInfo;
}

/**
* Retrieves the existence status of the model at the time of the drop operation.
*
* @return A boolean value indicating whether the model existed. {@code true} if the model
* existed, otherwise {@code false}.
*/
public boolean isExists() {
return isExists;
}

/**
* Returns the type of operation.
*
* @return the operation type.
*/
@Override
public OperationType operationType() {
return OperationType.DROP_MODEL;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

package org.apache.gravitino.listener.api.event;

import org.apache.gravitino.NameIdentifier;
import org.apache.gravitino.listener.api.info.ModelInfo;

/**
* Represents an event that is generated after a model version is successfully dropped from the
* model.
*/
public class DropModelVersionEvent extends ModelEvent {

private final ModelInfo dropModelVersionInfo;
private final boolean isExists;

/**
* Constructs a new {@code DropModelVersionEvent} instance, encapsulating information about the
* outcome of a model version drop operation.
*
* @param user The user who initiated the drop model version operation.
* @param identifier The identifier of the model that was attempted to be dropped a version.
* @param isExists A boolean flag indicating whether the model version existed at the time of the
* drop operation.
*/
public DropModelVersionEvent(
String user, NameIdentifier identifier, ModelInfo dropModelVersionInfo, boolean isExists) {
super(user, identifier);
this.dropModelVersionInfo = dropModelVersionInfo;
this.isExists = isExists;
}

/**
* Retrieves the state of the model after the drop version operation.
*
* @return The state of the model after the drop version operation.
*/
public ModelInfo DropModelVersionInfo() {
return dropModelVersionInfo;
}

/**
* Retrieves the existence status of the model version at the time of the drop operation.
*
* @return A boolean value indicating whether the model version existed. {@code true} if the model
* version existed, otherwise {@code false}.
*/
public boolean isExists() {
return isExists;
}

/**
* Returns the type of operation.
*
* @return the operation type.
*/
@Override
public OperationType operationType() {
return OperationType.DROP_MODEL_VERSION;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

package org.apache.gravitino.listener.api.event;

import org.apache.gravitino.NameIdentifier;
import org.apache.gravitino.listener.api.info.ModelInfo;

/** Represents an event triggered upon the successful getting of a model. */
public class GetModelEvent extends ModelEvent {
private final ModelInfo modelInfo;

/**
* Constructs an instance of {@code GetModelEvent}, capturing essential details about the
* successful getting of a model.
*
* @param user The username of the individual who initiated the model get.
* @param identifier The unique identifier of the model that was get.
* @param modelInfo The state of the model post-get.
*/
public GetModelEvent(String user, NameIdentifier identifier, ModelInfo modelInfo) {
super(user, identifier);
this.modelInfo = modelInfo;
}

/**
* Retrieves the state of the model as it was made available to the user after successful getting.
*
* @return A {@link ModelInfo} instance encapsulating the details of the model as get.
*/
public ModelInfo getModelInfo() {
return modelInfo;
}

/**
* Returns the type of operation.
*
* @return the operation type.
*/
@Override
public OperationType operationType() {
return OperationType.GET_MODEL;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

package org.apache.gravitino.listener.api.event;

import org.apache.gravitino.NameIdentifier;
import org.apache.gravitino.listener.api.info.ModelInfo;

/** Represents an event triggered upon the successful getting the version of a model. */
public class GetModelVersionEvent extends ModelEvent {
public final ModelInfo getModelVersionInfo;

/**
* Constructs an instance of {@code GetModelVersionEvent}.
*
* @param user The username of the individual who initiated the get model version event.
* @param identifier The unique identifier of the model that was getting the version.
* @param getModelVersionInfo The state of the model after the version was loaded.
*/
public GetModelVersionEvent(
String user, NameIdentifier identifier, ModelInfo getModelVersionInfo) {
super(user, identifier);
this.getModelVersionInfo = getModelVersionInfo;
}

/**
* Retrieves the state of the model as it was made available to the user after successful getting
* the version.
*
* @return A {@link ModelInfo} instance encapsulating the details of the model version.
*/
public ModelInfo getModelVersionInfo() {
return getModelVersionInfo;
}

/**
* Returns the type of operation.
*
* @return the operation type.
*/
@Override
public OperationType operationType() {
return OperationType.GET_MODEL_VERSION;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

package org.apache.gravitino.listener.api.event;

import org.apache.gravitino.NameIdentifier;
import org.apache.gravitino.listener.api.info.ModelInfo;

/** Represents an event triggered upon the successful linking of a model version. */
public class LinkModelVersionEvent extends ModelEvent {
private ModelInfo linkModelVersionInfo;

/**
* Constructs an instance of {@code LinkModelVersionEvent}, capturing essential details about the
* successful linking of a model version.
*
* @param user The username of the individual who initiated the model version linking.
* @param identifier The unique identifier of the model that was linked.
* @param linkModelVersionInfo The final state of the model after linking.
*/
public LinkModelVersionEvent(
String user, NameIdentifier identifier, ModelInfo linkModelVersionInfo) {
super(user, identifier);
this.linkModelVersionInfo = linkModelVersionInfo;
}

/**
* Retrieves the final state of the model, as it was returned to the user after successful link a
* model version.
*
* @return A {@link ModelInfo} instance encapsulating the comprehensive details of the newly model
* version.
*/
public ModelInfo linkModelVersionInfo() {
return linkModelVersionInfo;
}

/**
* Returns the type of operation.
*
* @return the operation type.
*/
@Override
public OperationType operationType() {
return OperationType.LINK_MODEL_VERSION;
}
}
Loading
Loading