Skip to content

Unified Synchronization for GigaMap Storage #629

@zdenek-jonas

Description

@zdenek-jonas

Description

Currently, GigaMap provides its own internal synchronization when using the GigaMap.store() method. However, when developers use the standard StorageEmbedded.store(gigaMap) entry point, this internal synchronization is not automatically applied.

This requires the developer to manually manage synchronization at the application level specifically for GigaMap instances, even though the component already has the necessary logic built-in. Since StorageEmbedded is the primary API for persisting entities, it is more intuitive for users to expect the same level of thread safety regardless of the storage method used.

Proposed Improvement

To improve User Experience (UX) and API consistency, we should ensure that the standard storage API leverages the internal synchronization of the GigaMap component:

  • Automatic Sync Delegation: Update StorageEmbedded.store(Object) to recognize GigaMap instances and utilize their internal synchronization logic.
  • Unified API Behavior: Remove the need for manual locking by the programmer when interacting with GigaMap through the global storage manager.

Goal

Simplify the development process by making GigaMap thread-safe by default through all storage entry points, ensuring that the internal synchronization logic is always utilized without additional boilerplate code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions