Skip to content

Improve functionality of the Metadata Server (Proposal) #14

@pspoerri

Description

@pspoerri

Desired features

  • Pub/Sub mechanism
  • Update file location
  • Store the entire object as a fixed size. optional

Data structure for each object

{
     location: str,
     type: [refrence, owner]
     backingStore: Optional[str]  # Indicate whether the file has an authoritative source (blocks can be empty)
     size: int
}

Interface

  • Create Bucket
    • createBucket(bucket: str)
  • Delete Bucket
    • deleteBucket(bucket: str)
  • List Buckets
    • listBuckets()
  • Create
    • create(bucket: str, key: str, size: int, sealedSize: int, blocks = None, backingStore = None)
  • Update
    • update(bucket: str, key: str, location: Optional[str], type: Optional[reference, owner], backingStore: Optional[str] size: Optional[int])
    • resize(bucket: str, key: str, newSize: int)
  • List
    • list(bucket: str, key: str, delimiter='/')
  • Delete
    • remove(bucket: str, key: str)
    • removePrefix(bucket: str, prefix: str)
  • Subscribe
    • subscribe(bucket: str)
    • subscribe(bucket: str, key: str) - Exact
    • subscribe(bucket: str, prefix: str) - Use pattern
  • Unsubscribe
    • unsubscribe(bucket: str)
    • unsubscribe(bucket: str, key: str) - Exact
    • unsubscribe(bucket: str, prefix: str) - Use pattern

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions