Comments (2)
There is a workaround to "touch" (i.e. GET, then PUT back the object) all objects which have exceeded the prune size.
i.e.
{ok, CH} = riak:local_client().
TouchFun = fun({B, K, _C}) -> {ok, Obj} = riak_client:get(B, K, CH), ok = riak_client:put(Obj, CH) end.
QueriesFun = fun(Bucket) -> lists:map(fun(I) -> {fetch_clocks_range, Bucket, all, {segments, lists:seq((128 * I) + 1, 128 * (I + 1)), small}, all} end, lists:seq(0, 511)) end.
TouchGreaterThanFun = fun(B, M) -> lists:foreach(fun(Q) -> lists:foreach(TouchFun,lists:filter(fun({_B0, _K0, C0}) -> length(C0) > M end, element(2, riak_client:aae_fold(Q, CH)))) end, QueriesFun(B)) end.
TouchGreaterThanFun(<<"clinicalsRecord">>, 50).
This is only possible when tictacaae is enabled, to allow for aae_folds.
from riak_kv.
It should be noted that read-repair will also override any sibling limit, so this can also lead to full-sync discrepancies. Hitting sibling limits is an indication of a broader fault, whereas pruning clocks is eventually inevitable, and so this is the primary concern.
from riak_kv.
Related Issues (20)
- Equal not dominates and Merge
- Differences between APIs - GET before PUT HOT 4
- Conditional PUTs - PB vs HTTP API HOT 2
- Handoff and Delete HOT 1
- Repository has no license HOT 1
- Replication reference with node_confirms HOT 1
- Reaper and eraser - overloading mailboxes
- benchmark tool for Riak KV HOT 23
- Two vnodes in the same preflist with the same vnode_id - amnesia chaos
- Dynamic changing of snk workers leads to unpredictable behaviour
- Deletion and full_sync
- Peer discovery and unavailable host
- Repare and Eraser do not distribute when using change_method = local
- Tictac AAE object_stats shows various statistics over a period of time. HOT 17
- Tidying Tictac Ecosystem for non-users HOT 2
- Porting Riak TS to OTP 26 (it applies to Riak KV also)
- Invalid JSON when trying to create a bucket type with custom properties HOT 6
- Interest in replacing Hyper HOT 3
- Riak_kv K8s memory consumption HOT 26
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 riak_kv.