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

feat: Make RegistryServer writable #4231

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 0 additions & 2 deletions protos/feast/core/Transformation.proto
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ option go_package = "github.com/feast-dev/feast/go/protos/feast/core";
option java_outer_classname = "FeatureTransformationProto";
option java_package = "feast.proto.core";

import "google/protobuf/duration.proto";

// Serialized representation of python function.
message UserDefinedFunctionV2 {
// The function name
Expand Down
108 changes: 107 additions & 1 deletion protos/feast/registry/RegistryServer.proto
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ syntax = "proto3";
package feast.registry;

import "google/protobuf/empty.proto";
import "google/protobuf/timestamp.proto";
import "feast/core/Registry.proto";
import "feast/core/Entity.proto";
import "feast/core/DataSource.proto";
Expand All @@ -16,16 +17,22 @@ import "feast/core/InfraObject.proto";

service RegistryServer{
// Entity RPCs
rpc ApplyEntity (ApplyEntityRequest) returns (google.protobuf.Empty) {}
rpc GetEntity (GetEntityRequest) returns (feast.core.Entity) {}
rpc ListEntities (ListEntitiesRequest) returns (ListEntitiesResponse) {}
rpc DeleteEntity (DeleteEntityRequest) returns (google.protobuf.Empty) {}

// DataSource RPCs
rpc ApplyDataSource (ApplyDataSourceRequest) returns (google.protobuf.Empty) {}
rpc GetDataSource (GetDataSourceRequest) returns (feast.core.DataSource) {}
rpc ListDataSources (ListDataSourcesRequest) returns (ListDataSourcesResponse) {}
rpc DeleteDataSource (DeleteDataSourceRequest) returns (google.protobuf.Empty) {}

// FeatureView RPCs
rpc ApplyFeatureView (ApplyFeatureViewRequest) returns (google.protobuf.Empty) {}
rpc GetFeatureView (GetFeatureViewRequest) returns (feast.core.FeatureView) {}
rpc ListFeatureViews (ListFeatureViewsRequest) returns (ListFeatureViewsResponse) {}
rpc DeleteFeatureView (DeleteFeatureViewRequest) returns (google.protobuf.Empty) {}

// StreamFeatureView RPCs
rpc GetStreamFeatureView (GetStreamFeatureViewRequest) returns (feast.core.StreamFeatureView) {}
Expand All @@ -36,19 +43,28 @@ service RegistryServer{
rpc ListOnDemandFeatureViews (ListOnDemandFeatureViewsRequest) returns (ListOnDemandFeatureViewsResponse) {}

// FeatureService RPCs
rpc ApplyFeatureService (ApplyFeatureServiceRequest) returns (google.protobuf.Empty) {}
rpc GetFeatureService (GetFeatureServiceRequest) returns (feast.core.FeatureService) {}
rpc ListFeatureServices (ListFeatureServicesRequest) returns (ListFeatureServicesResponse) {}
rpc DeleteFeatureService (DeleteFeatureServiceRequest) returns (google.protobuf.Empty) {}

// SavedDataset RPCs
rpc ApplySavedDataset (ApplySavedDatasetRequest) returns (google.protobuf.Empty) {}
rpc GetSavedDataset (GetSavedDatasetRequest) returns (feast.core.SavedDataset) {}
rpc ListSavedDatasets (ListSavedDatasetsRequest) returns (ListSavedDatasetsResponse) {}
rpc DeleteSavedDataset (DeleteSavedDatasetRequest) returns (google.protobuf.Empty) {}

// ValidationReference RPCs
rpc ApplyValidationReference (ApplyValidationReferenceRequest) returns (google.protobuf.Empty) {}
rpc GetValidationReference (GetValidationReferenceRequest) returns (feast.core.ValidationReference) {}
rpc ListValidationReferences (ListValidationReferencesRequest) returns (ListValidationReferencesResponse) {}

rpc DeleteValidationReference (DeleteValidationReferenceRequest) returns (google.protobuf.Empty) {}

rpc ApplyMaterialization (ApplyMaterializationRequest) returns (google.protobuf.Empty) {}
rpc ListProjectMetadata (ListProjectMetadataRequest) returns (ListProjectMetadataResponse) {}
rpc UpdateInfra (UpdateInfraRequest) returns (google.protobuf.Empty) {}
rpc GetInfra (GetInfraRequest) returns (feast.core.Infra) {}
rpc Commit (google.protobuf.Empty) returns (google.protobuf.Empty) {}
rpc Refresh (RefreshRequest) returns (google.protobuf.Empty) {}
rpc Proto (google.protobuf.Empty) returns (feast.core.Registry) {}

Expand All @@ -58,6 +74,12 @@ message RefreshRequest {
string project = 1;
}

message UpdateInfraRequest {
feast.core.Infra infra = 1;
string project = 2;
bool commit = 3;
}

message GetInfraRequest {
string project = 1;
bool allow_cache = 2;
Expand All @@ -72,6 +94,20 @@ message ListProjectMetadataResponse {
repeated feast.core.ProjectMetadata project_metadata = 1;
}

message ApplyMaterializationRequest {
feast.core.FeatureView feature_view = 1;
string project = 2;
google.protobuf.Timestamp start_date = 3;
google.protobuf.Timestamp end_date = 4;
bool commit = 5;
}

message ApplyEntityRequest {
feast.core.Entity entity = 1;
string project = 2;
bool commit = 3;
}

message GetEntityRequest {
string name = 1;
string project = 2;
Expand All @@ -87,8 +123,20 @@ message ListEntitiesResponse {
repeated feast.core.Entity entities = 1;
}

message DeleteEntityRequest {
string name = 1;
string project = 2;
bool commit = 3;
}

// DataSources

message ApplyDataSourceRequest {
feast.core.DataSource data_source = 1;
string project = 2;
bool commit = 3;
}

message GetDataSourceRequest {
string name = 1;
string project = 2;
Expand All @@ -104,8 +152,24 @@ message ListDataSourcesResponse {
repeated feast.core.DataSource data_sources = 1;
}

message DeleteDataSourceRequest {
string name = 1;
string project = 2;
bool commit = 3;
}

// FeatureViews

message ApplyFeatureViewRequest {
oneof base_feature_view {
feast.core.FeatureView feature_view = 1;
feast.core.OnDemandFeatureView on_demand_feature_view = 2;
feast.core.StreamFeatureView stream_feature_view = 3;
}
string project = 4;
bool commit = 5;
}

message GetFeatureViewRequest {
string name = 1;
string project = 2;
Expand All @@ -121,6 +185,12 @@ message ListFeatureViewsResponse {
repeated feast.core.FeatureView feature_views = 1;
}

message DeleteFeatureViewRequest {
string name = 1;
string project = 2;
bool commit = 3;
}

// StreamFeatureView

message GetStreamFeatureViewRequest {
Expand Down Expand Up @@ -157,6 +227,12 @@ message ListOnDemandFeatureViewsResponse {

// FeatureServices

message ApplyFeatureServiceRequest {
feast.core.FeatureService feature_service = 1;
string project = 2;
bool commit = 3;
}

message GetFeatureServiceRequest {
string name = 1;
string project = 2;
Expand All @@ -172,8 +248,20 @@ message ListFeatureServicesResponse {
repeated feast.core.FeatureService feature_services = 1;
}

message DeleteFeatureServiceRequest {
string name = 1;
string project = 2;
bool commit = 3;
}

// SavedDataset

message ApplySavedDatasetRequest {
feast.core.SavedDataset saved_dataset = 1;
string project = 2;
bool commit = 3;
}

message GetSavedDatasetRequest {
string name = 1;
string project = 2;
Expand All @@ -189,8 +277,20 @@ message ListSavedDatasetsResponse {
repeated feast.core.SavedDataset saved_datasets = 1;
}

message DeleteSavedDatasetRequest {
string name = 1;
string project = 2;
bool commit = 3;
}

// ValidationReference

message ApplyValidationReferenceRequest {
feast.core.ValidationReference validation_reference = 1;
string project = 2;
bool commit = 3;
}

message GetValidationReferenceRequest {
string name = 1;
string project = 2;
Expand All @@ -205,3 +305,9 @@ message ListValidationReferencesRequest {
message ListValidationReferencesResponse {
repeated feast.core.ValidationReference validation_references = 1;
}

message DeleteValidationReferenceRequest {
string name = 1;
string project = 2;
bool commit = 3;
}
8 changes: 2 additions & 6 deletions sdk/python/feast/infra/registry/base_registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -406,18 +406,14 @@ def get_saved_dataset(
"""
raise NotImplementedError

def delete_saved_dataset(self, name: str, project: str, allow_cache: bool = False):
def delete_saved_dataset(self, name: str, project: str, commit: bool = True):
"""
Delete a saved dataset.

Args:
name: Name of dataset
project: Feast project that this dataset belongs to
allow_cache: Whether to allow returning this dataset from a cached registry

Returns:
Returns either the specified SavedDataset, or raises an exception if
none is found
commit: Whether the change should be persisted immediately
"""
raise NotImplementedError

Expand Down
Loading
Loading