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

Add the invalidate_entries_if method #12

Merged
merged 35 commits into from
Jun 20, 2021
Merged

Commits on Mar 4, 2021

  1. Implement the invalidate_entries_if method (WIP)

    - Create invalidator module.
    - Add thiserror crate to the dependencies.
    tatsuya6502 committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    7609326 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2021

  1. Configuration menu
    Copy the full SHA
    3e3300c View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2021

  1. Configuration menu
    Copy the full SHA
    2a64385 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8ad0ecb View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2021

  1. Implement the invalidate_entries_if method (WIP)

    - Implement iterator for deque.
    tatsuya6502 committed Apr 26, 2021
    Configuration menu
    Copy the full SHA
    42eb1ca View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7c01333 View commit details
    Browse the repository at this point in the history
  3. Apply cargo fmt

    tatsuya6502 committed Apr 26, 2021
    Configuration menu
    Copy the full SHA
    688f72c View commit details
    Browse the repository at this point in the history
  4. Fix a Clippy warning

    tatsuya6502 committed Apr 26, 2021
    Configuration menu
    Copy the full SHA
    fe66656 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1c4a7ab View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2021

  1. Implement the invalidate_entries_if method (WIP)

    Add invalidator thread pool
    tatsuya6502 authored Apr 29, 2021
    Configuration menu
    Copy the full SHA
    4e7b0a9 View commit details
    Browse the repository at this point in the history
  2. Implement the invalidate_entries_if method (WIP)

    Implementing background invalidation task.
    tatsuya6502 committed Apr 29, 2021
    Configuration menu
    Copy the full SHA
    766334d View commit details
    Browse the repository at this point in the history
  3. rustfmt

    tatsuya6502 committed Apr 29, 2021
    Configuration menu
    Copy the full SHA
    a127cf2 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2021

  1. Implement the invalidate_entries_if method (WIP)

    - Implementing background invalidation task.
    - Add the following trait bounds to the generic parameters of sync and
      future caches:
        - K: Send + Sync + 'static
        - V: 'static
        - S: Send + 'static
    tatsuya6502 committed May 4, 2021
    Configuration menu
    Copy the full SHA
    c0c9bf4 View commit details
    Browse the repository at this point in the history
  2. Implement the invalidate_entries_if method (WIP)

    - Implementing background invalidation task.
    - Add Send + Sync bounds to a generic parameter V of sync and future
      caches, so K, V and S have the following bounds:
        - K: Send + Sync + 'static
        - V: Send + Sync + 'static
        - S: Send + 'static
    tatsuya6502 committed May 4, 2021
    Configuration menu
    Copy the full SHA
    ab107f3 View commit details
    Browse the repository at this point in the history
  3. Implement the invalidate_entries_if method

    - Remove finished predicates after a invalidation scan.
    tatsuya6502 committed May 4, 2021
    Configuration menu
    Copy the full SHA
    10c36a3 View commit details
    Browse the repository at this point in the history
  4. Implement the invalidate_entries_if method

    - Simplify the implementation of Predicate
    tatsuya6502 committed May 4, 2021
    Configuration menu
    Copy the full SHA
    f6cbff2 View commit details
    Browse the repository at this point in the history

Commits on May 5, 2021

  1. Implement the invalidate_entries_if method

    - Tweak a unit test.
    tatsuya6502 committed May 5, 2021
    Configuration menu
    Copy the full SHA
    b5aeb6e View commit details
    Browse the repository at this point in the history
  2. Implement the invalidate_entries_if method (WIP)

    - Refactoring on the background invalidation task.
    - Add Sync bounds to a generic parameter S of sync and future caches,
        so now all K, V and S have the following bounds:
        - Send + Sync + 'static
    tatsuya6502 committed May 5, 2021
    Configuration menu
    Copy the full SHA
    49b914f View commit details
    Browse the repository at this point in the history
  3. Implement the invalidate_entries_if method

    - Add the invalidate_entries_if method to the future cache.
    - Add the support_invalidation_closures method to the builders in sync and
      future modules.
    tatsuya6502 committed May 5, 2021
    Configuration menu
    Copy the full SHA
    2613a05 View commit details
    Browse the repository at this point in the history
  4. Implement the invalidate_entries_if method

    - Update the get methods in sync and future caches to check if the entry
      has been invalidated.
    tatsuya6502 committed May 5, 2021
    Configuration menu
    Copy the full SHA
    1c82344 View commit details
    Browse the repository at this point in the history
  5. Implement the invalidate_entries_if method

    - Add invalidate_entries_if to the unsync cache.
    tatsuya6502 committed May 5, 2021
    Configuration menu
    Copy the full SHA
    869edb3 View commit details
    Browse the repository at this point in the history
  6. Implement the invalidate_entries_if method

    - Simplify the implementation of invalidate_entries_if in the
      unsync cache.
    tatsuya6502 committed May 5, 2021
    Configuration menu
    Copy the full SHA
    55442ec View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2021

  1. Merge branch 'master' into invalidate-entries-if

    Conflicts:
        CHANGELOG.md
        Cargo.toml
    tatsuya6502 committed Jun 12, 2021
    Configuration menu
    Copy the full SHA
    96a3082 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d3a640c View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2021

  1. Implement the invalidate_entries_if method

    Write API doc.
    tatsuya6502 committed Jun 13, 2021
    Configuration menu
    Copy the full SHA
    1449c66 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    238eacb View commit details
    Browse the repository at this point in the history
  3. Implement the invalidate_entries_if method

    - Add dependency to uuid crate and change the predicate ID type from u64 to
      PredicateId, which is String of UUID version 4.
    - Remove NoSpaceLeft variant from PredicateError as UUID collision will
      extreamly unlikely happens.
    - Rename PredicateRegistrationError to PredicateError.
    - Upgrade Quanta crate version from v0.7.1 to v0.8.0.
    - Write docs for PredicateId and PredicateError.
    tatsuya6502 committed Jun 13, 2021
    Configuration menu
    Copy the full SHA
    adf1cb1 View commit details
    Browse the repository at this point in the history
  4. Implement the invalidate_entries_if method

    - Brush up the docs for unsync::Cache::invalidate_entries_if.
    tatsuya6502 committed Jun 13, 2021
    Configuration menu
    Copy the full SHA
    387d306 View commit details
    Browse the repository at this point in the history
  5. Merge branch 'master' into invalidate-entries-if

    Conflicts:
        CHANGELOG.md
        src/sync/base_cache.rs
        src/sync/cache.rs
    tatsuya6502 committed Jun 13, 2021
    Configuration menu
    Copy the full SHA
    705fe3f View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2021

  1. Implement the invalidate_entries_if method

    - Rename CacheBuilder::enable_invalidation_with_closures to
      support_invalidation_closures.
    - Remove an unused field from Invalidator.
    tatsuya6502 committed Jun 16, 2021
    Configuration menu
    Copy the full SHA
    ba22b22 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2021

  1. Implement the invalidate_entries_if method

    - Implement `invalidate_entries_if` on `sync::SegmentedCache`.
    - Optimize `base_cache::Inner::submit_invalidation_task` method for
      a case when the write order queue is empty.
    - Refactor some cache methods for refactoring.
    tatsuya6502 committed Jun 19, 2021
    Configuration menu
    Copy the full SHA
    d63b6ce View commit details
    Browse the repository at this point in the history
  2. cargo fmt

    tatsuya6502 committed Jun 19, 2021
    Configuration menu
    Copy the full SHA
    3bb30f6 View commit details
    Browse the repository at this point in the history
  3. Upgrade quanta to 0.9

    tatsuya6502 committed Jun 19, 2021
    Configuration menu
    Copy the full SHA
    5ae896e View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2021

  1. Implement the invalidate_entries_if method

    Fix a deadlock issue for dropping sync/future cache while running background
    invalidation task.
    tatsuya6502 committed Jun 20, 2021
    Configuration menu
    Copy the full SHA
    e41fafc View commit details
    Browse the repository at this point in the history
  2. Fix a typo in the README

    tatsuya6502 committed Jun 20, 2021
    Configuration menu
    Copy the full SHA
    7a192c1 View commit details
    Browse the repository at this point in the history