Hi,

We're currently evaluating Riak and we have noticed that Bitcask with 
{sync_strategy, o_sync} option seems to have no effect. Instead of forcing 
syncs on every writes to the disk, it does the exactly same to the default 
behavior {sync_strategy, none}, which doesn't force kernel to sync the writes. 
As you can see in the attached vmstat result, "bo" (blocks sent to a block 
device [blocks/s]) column has many 0s even though basho_bench with 200 max 
workers was constantly adding 100KB key-values to Riak.

The current behavior could be dangerous if someone rely on {sync_strategy, 
o_sync} for durability.

My colleague checked Bitcask implementation and found that it uses "fcntl (2)" 
system call to set O_SYNC flag to the file descriptor. Unfortunately, O_SYNC 
being set by this way will be ignored by kernel and has no effect. To make it 
work, Betcask should call "open" system call with O_SYNC option.

https://patchwork.kernel.org/patch/591481/

Thanks,
Tatsuya


vmstat result. See "bo" column with many 0s (bo: blocks sent to a block device 
[blocks/s])

procs -----------memory---------- ---swap-- -----io---- --system-- 
-----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
1  0    152 31796516   4508 933452    0    0     0     0 9797 17377  4  7 89  0 
 0
1  0    152 31735260   4556 992524    0    0     0     0 9550 16871  4  7 89  0 
 0
0  5    152 31676856   4608 1045328    0    0     0 58632 9196 15189  4  7 89  
1  0
0  0    152 31673880   4636 1056056    0    0     0 188868 2807 2549  1  3 79 
18  0
1  0    152 31611752   4704 1111920    0    0     0     0 9332 16648  4  7 89  
0  0
0  0    152 31553852   4760 1170592    0    0     0     0 9369 16949  5  7 89  
0  0
0  0    152 31494068   4840 1228580    0    0     0     0 9317 16863  4  7 89  
0  0
0  4    152 31432936   4908 1283836    0    0     0 47548 8794 15442  4  7 88  
1  0
0  0    152 31428348   4940 1293996    0    0     0 191140 3513 2998  1  3 80 
17  0
0  0    152 31367708   4988 1351964    0    0     0     0 9745 16114  4  7 89  
0  0
2  0    152 31302104   5048 1412876    0    0     0     0 9637 17205  5  7 89  
0  0
0  0    152 31244072   5100 1468180    0    0     0     0 9405 16214  4  7 89  
0  0
0  5    152 31184428   5168 1522604    0    0     0 47856 8983 16001  4  7 88  
1  0
0  0    152 31179256   5192 1533648    0    0     0 191968 3030 3099  1  3 87 
10  0
2  0    152 31123316   5256 1588244    0    0     0    52 9548 16022  4  7 89  
0  0
1  0    152 31061068   5308 1648228    0    0     0     0 9319 17110  5  7 88  
0  0
2  0    152 30997704   5368 1708092    0    0     0     0 9423 17373  5  7 88  
0  0
0  3    152 30941664   5420 1760988    0    0     0 42728 8871 15132  4  7 89  
1  0
0  0    152 30934964   5440 1774016    0    0     0 196216 3282 3489  1  3 80 
17  0
0  0    152 30886472   5496 1820728    0    0     0    52 7654 13882  4  6 91  
0  0
0  0    152 30886472   5496 1820612    0    0     0     0 1006  107  0  0 100  
0  0
0  0    152 30886208   5496 1821156    0    0     0     0 1050  150  0  0 100  
0  0

--
Tatsuya Kawano (Mr.)
Tokyo, Japan


_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to