Skip to content

Conversation

@MrCroxx
Copy link
Member

@MrCroxx MrCroxx commented Apr 12, 2024

What's changed and what's your intention?

Please explain IN DETAIL what the changes are in this PR and why they are needed. :D

Based on #326 . The dynamic dispatch doesn't introduce significant overhead. The overhead in RisingWave case mostly comes from the Box allocation from async_trait.

This PR removes the generic type for the listener.

Checklist

  • I have written the necessary rustdoc comments
  • I have added the necessary unit tests and integration tests
  • I have passed make all (or make fast instead if the old tests are not modified) in my local environment.

Related issues or PRs (optional)

MrCroxx added 30 commits May 22, 2023 14:13
* feat: add foyer bench, reorg workspace

Signed-off-by: MrCroxx <[email protected]>

* sort cargo file

Signed-off-by: MrCroxx <[email protected]>

* make fmt and clippy happy

Signed-off-by: MrCroxx <[email protected]>

* fix bug

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
* ci: add asan test

Signed-off-by: MrCroxx <[email protected]>

* fix Cargo.toml and CI

Signed-off-by: MrCroxx <[email protected]>

* regen ci

Signed-off-by: MrCroxx <[email protected]>

* rename CI step, test asan fail

Signed-off-by: MrCroxx <[email protected]>

* regen CI

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
* chore: add license checker

Signed-off-by: MrCroxx <[email protected]>

* fix license checker config

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
* feat: introduce instrusive indexers and collections

Signed-off-by: MrCroxx <[email protected]>
* feat: introduce FTL-like storage engine

Signed-off-by: MrCroxx <[email protected]>

* update ci

Signed-off-by: MrCroxx <[email protected]>

* sort cargo file

Signed-off-by: MrCroxx <[email protected]>

* fix memory leak

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
* feat: enable direct i/o on linux target

- enable direct i/o on linux target
- refine flusher and reclaimer

Signed-off-by: MrCroxx <[email protected]>

* fix unit test

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
* chore: remove unused old storage engien and other components

Signed-off-by: MrCroxx <[email protected]>

* update ci

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
* feat: impl storage recovery

Signed-off-by: MrCroxx <[email protected]>

* chore

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
* feat: add segment fifo eviction policy

Signed-off-by: MrCroxx <[email protected]>

* export fifo fs store

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
* feat: export mods

Signed-off-by: MrCroxx <[email protected]>

* make cargo sort happy

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
* fix: deadlock

fix deadlocks:

1. exclusive lock was not `Send` but unsafe impled.
2. submit flush task await blocks `set_region_evictable`
3. no new reclamation task created after `set_region_evctable` if all
   write process are waiting

Signed-off-by: MrCroxx <[email protected]>

* update ci

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
* fix: gracefullly shutdown runners

Use `Store::shutdown_runners()` to gracefully shutdown runners.`

Signed-off-by: MrCroxx <[email protected]>

* log warn if send failed instead of panic

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
MrCroxx and others added 19 commits March 31, 2024 09:26
* chore: update license

Signed-off-by: MrCroxx <[email protected]>

* chore: fix license checker

Signed-off-by: MrCroxx <[email protected]>

* chore: update license header

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
* Add S3Fifo eviction for memory

* fix: refine s3fifo, fix some bugs

Signed-off-by: MrCroxx <[email protected]>

* fix: fix license

Signed-off-by: MrCroxx <[email protected]>

* refactor: expose s3fifo, fix hakari, add s3fifo fuzzy test

Signed-off-by: MrCroxx <[email protected]>

* bench: add s3fifo to hit ratio bench

Signed-off-by: MrCroxx <[email protected]>

* test: add s3fifo uts

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
Co-authored-by: MrCroxx <[email protected]>
* chore: bump foyer-memory to 0.1.3

Signed-off-by: MrCroxx <[email protected]>

* chore: bump foyer-intrusive to 0.3.1

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
* refactor: remove usage of unstable features

Signed-off-by: MrCroxx <[email protected]>

* refactor: some more

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
* refactor: use crate allocator_api2 to make foyer build on stable

Signed-off-by: MrCroxx <[email protected]>

* fix: use stable pipeline for ci tests, use nightly for sanitizer

Signed-off-by: MrCroxx <[email protected]>

* fix: update ci prefix key

Signed-off-by: MrCroxx <[email protected]>

* fix: try fix ci

Signed-off-by: MrCroxx <[email protected]>

* fix: update ci nightly version

Signed-off-by: MrCroxx <[email protected]>

* chore: try resolve github issue

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
* test: run CI on both linux and macos

Signed-off-by: MrCroxx <[email protected]>

* fix: fix build on macos

Signed-off-by: MrCroxx <[email protected]>

* fix: try fix ci run on targets

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
* doc: update README and add a simple example

Signed-off-by: MrCroxx <[email protected]>

* chore: update Cargo.toml

Signed-off-by: MrCroxx <[email protected]>

---------

Signed-off-by: MrCroxx <[email protected]>
@MrCroxx MrCroxx self-assigned this Apr 12, 2024
@MrCroxx MrCroxx enabled auto-merge (squash) April 12, 2024 07:27
@MrCroxx MrCroxx disabled auto-merge April 12, 2024 07:29
@MrCroxx MrCroxx requested a review from wenym1 April 12, 2024 07:34
@MrCroxx
Copy link
Member Author

MrCroxx commented Apr 12, 2024

@xiaguan may also be interested.

Copy link
Contributor

@xiaguan xiaguan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work 😆 . foyer is becoming increasingly developer-friendly. LGTM

@MrCroxx
Copy link
Member Author

MrCroxx commented Apr 25, 2024

Outdated.

@MrCroxx MrCroxx closed this Apr 25, 2024
@MrCroxx MrCroxx deleted the xx/remove-dynamic-listener branch April 25, 2024 16:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

7 participants