Just curious Kyle, you using the 1.0 series? I've done some informal testing on a 3 node 1.0 cluster and key listing was working just peachy on 60 million keys using bitcask as the backend.
Cheers, Mark On Sunday 23 October 2011 12:26:35 Aphyr wrote: > On 10/23/2011 12:11 PM, Jim Adler wrote: > > I will be loosening the key filter criterion after I get the basics > > working, which I thought would be a simple equality check. 8M keys > > isn't really a large data set, is it? I thought that keys were stored > > in memory and key filters just operated on those memory keys and not > > data. > > > > Jim > > That's about where we started seeing timeouts in list-keys. Around 25 > million keys, list-keys started to take down the cluster. (6 nodes, 1024 > partitions). You may not encounter these problems, but were I in your > position and planning to grow... I would prepare to stop using key > filters, bucket listing, and key listing early. > > Our current strategy is to store the keys in Redis, and synchronize them > with post-commit hooks and a process that reads over bitcask. With > ionice 3, it's fairly low-impact. https://github.com/aphyr/bitcask-ruby > may be useful. > > --Kyle > > # Simplified code, extracted from our bitcask scanner: > def run > `renice 10 #{Process.pid}` > `ionice -c 3 -p #{Process.pid}` > > begin > bitcasks_dir = '/var/lib/riak/bitcask' > dirs = Dir.entries(bitcasks_dir).select do |dir| > dir =~ /^\d+$/ > end.map do |dir| > File.join(bitcasks_dir, dir) > end > > dirs.each do |dir| > scan dir > GC.start > end > log.info "Completed run" > rescue => e > log.error "#{e}\n#{e.backtrace.join "\n"}" > sleep 10 > end > end > end > > def scan(dir) > log.info "Loading #{dir}" > b = Bitcask.new dir > b.load > > log.info "Updating #{dir}" > b.keydir.each do |key, e| > bucket, key = BERT.decode(key).map { |x| > Rack::Utils.unescape x > } > # Handle determines what to do with this particular bucket/key > # combo; e.g. insert into redis. > handle bucket, key, e > end > end > > _______________________________________________ > riak-users mailing list > [email protected] > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com _______________________________________________ riak-users mailing list [email protected] http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
