不同 Riak 节点的不同密钥和响应代码
Different key and response code at different Riak nodes
怎么可能从节点获取密钥导致 404 而其他节点有这个密钥(returns 200 有数据)。
AAE 已启用,集群处于活动状态,没有错误或切换,在哪里挖掘?
集群由6个节点组成,最近全部迁移到2.1.4,一个节点还在1.4.12(那个节点有key)
在哪里查看和修复不一致?
更新。值:
r,w=quorum, notfound_ok=false,但我尝试用 true 和 r=3 请求它,结果相同。
我发现在存在密钥的节点上,一些 vnode 根本没有 AAE 交换
riak-admin aae-status
================================== Exchanges ==================================
Index Last (ago) All (ago)
-------------------------------------------------------------------------------
0 -- --
34253944624943037145398863266787883273185918976 3.6 d --
91343852333181432387730302044767688728495783936 4.2 d --
171269723124715185726994316333939416365929594880 3.9 d --
216941649291305901920859467356323260730177486848 -- --
262613575457896618114724618378707105094425378816 -- --
342539446249430371453988632667878832731859189760 4.4 d --
388211372416021087647853783690262677096107081728 3.5 d --
433883298582611803841718934712646521460354973696 3.7 d --
513809169374145557180982949001818249097788784640 -- --
570899077082383952423314387779798054553098649600 -- --
627988984790622347665645826557777860008408514560 -- --
730750818665451459101842416358141509827966271488 -- --
810676689456985212441106430647313237465400082432 -- --
867766597165223607683437869425293042920709947392 -- --
913438523331814323877303020447676887284957839360 -- --
970528431040052719119634459225656692740267704320 3.7 d --
1027618338748291114361965898003636498195577569280 3.8 d --
1141798154164767904846628775559596109106197299200 -- --
1198888061873006300088960214337575914561507164160 -- --
1233142006497949337234359077604363797834693083136 -- --
1267395951122892374379757940871151681107879002112 3.6 d --
1301649895747835411525156804137939564381064921088 3.6 d --
1370157784997721485815954530671515330927436759040 8.6 hr --
1404411729622664522961353393938303214200622678016 -- --
是否可以在给定节点强制-运行 aae?
所有节点互通正常:
Report: net_kernel summary ('riak@192.168.135.45')
Node State Type In Out Address
riak@192.168.172.232 up normal 13530445 13587408 192.168.172.232:6000
riak@192.168.202.11 up normal 15055379 15009545 192.168.202.11:6000
riak@192.168.135.180 up normal 15850450 15598452 192.168.135.180:6000
riak@192.168.205.253 up normal 14317197 14327591 192.168.205.253:6000
riak@192.168.157.36 up normal 6291569 5811633 192.168.157.36:6000
riak_maint_15246@192 up hidden 11 16 192.168.135.45:53159
Total 65045051 64334645
这很奇怪,但不同版本的 Riak 有不同的 url 编码方法:
如果您在 Riak 1.x 节点上 PUT 名为 test%40key 的密钥,该密钥将在集群中的 Riak 1.x 节点上正常读取,并且会在 return 404 错误 2.x 个节点。但是可以在 2.x 版本节点找到名称为 test%2540key 的文件。
如果您将名称为 test%40key 的密钥放在 2.x Riak 节点,该密钥将在 2.x 节点读取并在 1.x 处 return 404节点。它可以在名称为 test@key
的 1.x 个节点上找到
怎么可能从节点获取密钥导致 404 而其他节点有这个密钥(returns 200 有数据)。
AAE 已启用,集群处于活动状态,没有错误或切换,在哪里挖掘? 集群由6个节点组成,最近全部迁移到2.1.4,一个节点还在1.4.12(那个节点有key)
在哪里查看和修复不一致? 更新。值:
r,w=quorum, notfound_ok=false,但我尝试用 true 和 r=3 请求它,结果相同。
我发现在存在密钥的节点上,一些 vnode 根本没有 AAE 交换
riak-admin aae-status
================================== Exchanges ==================================
Index Last (ago) All (ago)
-------------------------------------------------------------------------------
0 -- --
34253944624943037145398863266787883273185918976 3.6 d --
91343852333181432387730302044767688728495783936 4.2 d --
171269723124715185726994316333939416365929594880 3.9 d --
216941649291305901920859467356323260730177486848 -- --
262613575457896618114724618378707105094425378816 -- --
342539446249430371453988632667878832731859189760 4.4 d --
388211372416021087647853783690262677096107081728 3.5 d --
433883298582611803841718934712646521460354973696 3.7 d --
513809169374145557180982949001818249097788784640 -- --
570899077082383952423314387779798054553098649600 -- --
627988984790622347665645826557777860008408514560 -- --
730750818665451459101842416358141509827966271488 -- --
810676689456985212441106430647313237465400082432 -- --
867766597165223607683437869425293042920709947392 -- --
913438523331814323877303020447676887284957839360 -- --
970528431040052719119634459225656692740267704320 3.7 d --
1027618338748291114361965898003636498195577569280 3.8 d --
1141798154164767904846628775559596109106197299200 -- --
1198888061873006300088960214337575914561507164160 -- --
1233142006497949337234359077604363797834693083136 -- --
1267395951122892374379757940871151681107879002112 3.6 d --
1301649895747835411525156804137939564381064921088 3.6 d --
1370157784997721485815954530671515330927436759040 8.6 hr --
1404411729622664522961353393938303214200622678016 -- --
是否可以在给定节点强制-运行 aae?
所有节点互通正常:
Report: net_kernel summary ('riak@192.168.135.45')
Node State Type In Out Address
riak@192.168.172.232 up normal 13530445 13587408 192.168.172.232:6000
riak@192.168.202.11 up normal 15055379 15009545 192.168.202.11:6000
riak@192.168.135.180 up normal 15850450 15598452 192.168.135.180:6000
riak@192.168.205.253 up normal 14317197 14327591 192.168.205.253:6000
riak@192.168.157.36 up normal 6291569 5811633 192.168.157.36:6000
riak_maint_15246@192 up hidden 11 16 192.168.135.45:53159
Total 65045051 64334645
这很奇怪,但不同版本的 Riak 有不同的 url 编码方法:
如果您在 Riak 1.x 节点上 PUT 名为 test%40key 的密钥,该密钥将在集群中的 Riak 1.x 节点上正常读取,并且会在 return 404 错误 2.x 个节点。但是可以在 2.x 版本节点找到名称为 test%2540key 的文件。
如果您将名称为 test%40key 的密钥放在 2.x Riak 节点,该密钥将在 2.x 节点读取并在 1.x 处 return 404节点。它可以在名称为 test@key
的 1.x 个节点上找到