Comments (6)
The issue is on line 313 in riak_kv_get_fsm. The DEFAULT_PR
is 0
instead of default
.
To reproduce: have 3 riak nodes.
Test bucket properties:
test_pw is active
young_vclock: 20
w: 3
sync_on_write: backend
small_vclock: 50
rw: quorum
r: 3
pw: 3
precommit: []
pr: 3
postcommit: []
old_vclock: 86400
notfound_ok: true
node_confirms: 0
n_val: 3
linkfun: {modfun,riak_kv_wm_link_walker,mapreduce_linkfun}
last_write_wins: false
dw: quorum
dvv_enabled: true
chash_keyfun: {riak_core_util,chash_std_keyfun}
big_vclock: 50
basic_quorum: false
allow_mult: true
active: true
claimant: '[email protected]'
Stop one riak node.
Do a get:
I expect this to return with an pr_val_unsatisfied
error:
riakc_pb_socket:get(poolboy:checkout(riakc_pool), {<<"test_pw">>, <<"test">>}, <<"fooo1">>).
{error,notfound}
riakc_pb_socket:get(poolboy:checkout(riakc_pool), {<<"test_pw">>, <<"test">>}, <<"fooo1">>, [{pr, 3}]).
{error,<<"{pr_val_unsatisfied,3,2}">>}
from riak_kv.
Thanks, I see it now.
I've done a quick check of the PUT fsm as well as the GET fsm, and it looks like it is only this value where the error exists.
I'm testing some leveled changes at the moment which may require a 3.0.12 release, so I will bundle a fix for this in as well. Target is to have 3.0.12 with this fix by the end of the week.
from riak_kv.
Thanks, I could issue a pull request if it helps.
from riak_kv.
Is this specifically about setting in bucket types? I know there is a test for the 'PR' value here, but it is passed in as a GET option - https://github.com/basho/riak_test/blob/develop-3.0/tests/pr_pw.erl
In theory the bucket properties should be checked here, and then that is added to the get_core. The get_core checks, and only gives a positive response when satisfied.
This shouldn't change however PR is set. Do you have an idea where this is breaking down?
from riak_kv.
If you have time, that would help a great deal.
from riak_kv.
Included in Riak 3.0.12
from riak_kv.
Related Issues (20)
- Scheduler Settings HOT 17
- Cannot get Tictac AAE build status
- Joins, 2i queries and bucket types HOT 1
- Hinted handoff and GET HOT 5
- 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
- Pruned clocks and failure of full-sync replication HOT 2
- 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
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.