Comments (3)
I agree, without returning the new value the atomic functions are useless in a lot of situations.
When they don't return the new value you have to do a get
, cond_put
combination in a loop :(
from hyperdex.
any update on this issue?
from hyperdex.
iirc it was waiting for protocol changes or something like that isn't as simple as it looks.
It was possibly discussed in detail by rescrv on the lists at some point, but I understand the gist of it and why it's a pain to implement.
Being atomic meant that the instructions could be applied in any order, or even bulk-applied, while the consensus is in a state of flux.
To have instructions return the value would require an additional level of synchronisation and overhead, not to mention protocol changes.
I hope that makes sense, and given the get/cond_put combination works in a loop there is a solution to what I wanted to do, albeit not in the ideal way.
I am happy with the trade-off, as the advantages of the way atomic instructions work in HyperDex outweighs the performance and synchronisation overheads of changing it to return a value.
I don't know if any of this is correct, would be handy to get feedback on it at some point.
from hyperdex.
Related Issues (20)
- Atomic map ops appear to have relaxed ordering HOT 3
- Hyperdex daemon reports IO errors if data directory is a relative path HOT 1
- Trouble installing hyperdex-client (node) HOT 5
- How well does HyperDex scale with large datasets in multi DCs across the globe ?
- HyperDex Jepsen, Hermitage Tests
- Go admin bindings fail to build
- cityhash/city.cc HOT 1
- building with clang HOT 3
- HyperDexClientException: reconfiguration affecting virtual_server when putting data
- Publish Java client to maven central
- Python bindings segfault on OS X El Capitan HOT 3
- Error in `python3.5': free(): invalid next size (fast): 0x0000000001712440 HOT 2
- x
- depend on some many other libs HOT 2
- Project still alive? HOT 5
- Anyone actively using Hyperdex? HOT 19
- Bad release dates HOT 1
- replicant cannot be installed on Mac OS X because of daemon deprecation HOT 1
- hacker attack? HOT 1
- Open source Warp? HOT 2
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 hyperdex.