← 输入框|github.com|刷新
Skip to content

Option to create a resource without overwriting existing records #37

Closed

Description

@zhilingc

The core API currently only supports apply methods, which, if there is an existing resource with the same id, will update the existing record. There is no distinction between the response after creating a new resource vs. updating one.

There should be a way to create a resource - this action should fail if there is an existing resource already registered in the system.

We can either alter the existing apply method to take in an argument or add separate create methods.

Activity

  1. woop commented on Jan 4, 2019

    @woop
    Member

    @zhilingc can you highlight the method you are referring to (for extension)?

  2. zhilingc commented on Jan 4, 2019

    @zhilingc
    CollaboratorAuthor

    From:

    rpc ApplyFeature(feast.specs.FeatureSpec) returns (CoreServiceTypes.ApplyFeatureResponse) {};
    

    To:

    rpc ApplyFeature(CoreServiceTypes.ApplyFeatureRequest) returns (CoreServiceTypes.ApplyFeatureResponse) {};
    
    message ApplyFeatureRequest {
      feast.specs.FeatureSpec spec = 1;
      bool update = 2;
    }
    

    I'm not sure if i prefer this solution actually.

  3. woop commented on Jan 4, 2019

    @woop
    Member

    Well, multiple things:

    • A better abstraction would be ApplyResource or UpdateResource, otherwise we will reinvent this for all resource types. But if we take that logic further...
    • If we eventually intend to move to Kubernetes for managing our resources, then we are basically reinventing the resources management within it. It might be easier to just move all of this into CRDs, and then Feast just becomes a proxy to these requests.
  4. woop commented on Sep 1, 2019

    @woop
    Member

    This issue isn't relevant any more due to changes in Feast 0.3.0

  5. added a commit that references this issue on Jul 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions