No. This is not 100% consistent. Since operations started on prev version
after node has left (but system has not got event yet) would succeed. For
me consistent behavior is to throw exception for "select avg(x) from bla"
if data is currently missing or any data loss occurs in the middle of the
Yakov,
My suggestion is to introduce new policy (e.g. READ_WRITE_NONE) which works
in the same way as READ_WRITE_SAFE but for all partitions, not only lost
ones. Any operation attempted on a topology version which has at least one
lost partition, should throw an exception. Will this work?
-Val
I'm still not sure on what Val has suggested. Dmitry, Val, Do you have any
concrete API/algorithm in mind?
--Yakov
Why not just add a new policy as Val suggested?
D.
On Jan 23, 2018, 4:44 PM, at 4:44 PM, Yakov Zhdanov wrote:
>Val, your computation fails once it reaches the absent partition. Agree
>with the point that any new computation should not start. Guys, any
>ideas
>on how to
Val, your computation fails once it reaches the absent partition. Agree
with the point that any new computation should not start. Guys, any ideas
on how to achieve that? I would think of scan/sql query checking that there
is no data loss on current topology version prior to start. Val, please
note
Yakov,
I still think there are valid use cases. From the top of my head - what if
one wants to iterate through multiple partitions and do some calculations?
Locking and transactional semantics are not needed, but if some of the data
is LOST, computation should fail, and new computations should
Alex, I am against reducing cluster operation. I tried to explain in the
prev email that it is impossible to have consistent approach here. You can
prohibit operations only after exchange completes. However, in this case
plenty of transactions are committed on previous cache topology having
nodes
Valentin,
I am ok with having a policy which prohibits all cache operations, and this
is not very hard to implement. Although, I agree with Yakov - I do not see
any point in reducing cluster availability when operations can be safely
completed.
2018-01-23 2:22 GMT+03:00 Yakov Zhdanov
Val,
Your suggestion to prohibit any cache operation on partition loss does not
make sense to me. Why should I care about some partition during particular
operation if I don't access it? Imagine I use data on nodes A and B
performing reads and writes and node C crashes in the middle of tx. Should
Folks,
Our PartitionLossPolicy allows to disable operations on lost partitions,
however all available policies allow any operations on partitions that were
not lost. It seems to me it can be very useful to also have a policy that
completely blocks the cache in case of data loss. Is it possible to
10 matches
Mail list logo