Comments (2)
Hi, I failed to reproduce it on my machine, but this may be because the current implementation will first push new entry to a write buffer and then add it to the map (if the write buffer is full, then some inserts will be directly dropped). Can you give me your test code to help me reproduce the problem?
from stretto.
@al8n Thanks for the effort. Probably my code won't help as I can't reproduce it too when running locally and not in Bazel. It's hard for me to tell how these environments are different, should be the same (and we have thousands of other tests which run fine). But there should be some subtle difference that causes this...
Effectively I'm doing the simple thing that I wrote initially - insert the value with some key, then immediately (well, after wait
) check if it's there. And this sometimes gives me a cache miss. When the value is inserted the cache is empty, just created, so it shouldn't be dropped.
Maybe there's some initialization phase after the Cache
object is created using CacheBuilder.finalize()
(threads are spawned etc)? Though it does not explain why it does not fail locally.
I've switched the cache now to use async
API of stretto
, will check if that will cause same issues...
from stretto.
Related Issues (20)
- Can you use a cache after clear()? HOT 2
- Entry inserted without TTL (cache.try_insert) removed after 30 minutes. HOT 1
- How to print `sync::cache` state HOT 3
- Possible deadlock in `wait` in `async_std` runtime HOT 2
- How to use CacheCallback HOT 3
- How does the max_cost works? HOT 1
- Deadlock with AsyncCache when using wait and nested caches HOT 1
- failure: cache::test::sync_test::test_cache_drop_updates, when running with multiple threads
- Async use doesn't appear to work? HOT 2
- This library doesn't seem to work properly HOT 2
- The sampling is not random during evictions in fill_sample HOT 10
- Pointer is not multiple of 8 in test HOT 1
- feat: support read from write buffer to improve hit ratio
- Dataset for tests and benchmarks HOT 5
- Examples hint the unhandy usage of static variables, leaving ownership to others HOT 4
- Can key lifetime be shortened to insert/get/destroy functions only? HOT 6
- TTL not really work HOT 10
- How to construct a TransparentKeyBuilder? HOT 3
- `re-stretto`: Implement a lightweight `stretto` and optimize the current implementation.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stretto.