Re: Key expiration

2012-09-26 Thread Nico Meyer
Great, this explains why bitcask went merging crazy after we updated from 0.14 to 1.1! The workaround was to constrain merging to the nighttime, and since it kind of worked(TM) since then, I never came round to look for the reason for the increased I/O load after the update. I just checked, an

Re: Key expiration

2012-09-27 Thread Nico Meyer
Am 26.09.2012 23:14, schrieb Anthony Molinaro: On Wed, Sep 26, 2012 at 08:33:24PM +0200, Nico Meyer wrote: Great, this explains why bitcask went merging crazy after we updated from 0.14 to 1.1! The workaround was to constrain merging to the nighttime, and since it kind of worked(TM) since then

Re: Key expiration

2012-09-27 Thread Nico Meyer
Am 26.09.2012 23:20, schrieb Anthony Molinaro: On Wed, Sep 26, 2012 at 10:04:54PM +0200, Kresten Krab Thorup wrote: While we're discussing merge and expiry semantic here, I'd like to explain how HanoiDB does it since that may be a reason for trying it out on your problem. With the HanoiDB back

Re: Rial Search and key expiry: a difficult relationship?

2012-09-28 Thread Nico Meyer
Hi Alfonso, there simply is no connection between bitcasks key expiration feature and the rest of Riak, including the search. To say it bluntly, Riak has no 'real' key expiration that would work like one would naively expect. That is, like someone magically coming along and issuing a full fleg

Re: migrate from bitcask to eleveldb with out losing data from bitcask

2012-09-28 Thread Nico Meyer
Hi Kresten, after the first node has been removed, you have a cluster and an extra machine, haven't you ;-). Lets take you example of 5 nodes. So instead of having to do 5 node leaves and 5 joins, you can do 1 node leave, 4 replaces and 1 join. Cheers, Nico Am 28.09.2012 13:26, schrieb Kre

Re: reconfigure Riak w/o restarting the node?

2012-10-23 Thread Nico Meyer
Hi Sebastian, the way you proposed just works. I used this myself a lot lately. For us the reason why we don't want to restart a node for this, is that it takes about 40 minutes to load all keys into memory. Cheers, Nico Am 23.10.2012 13:44, schrieb Sebastian Cohnen: Hey list, I'd like to r

MapReduce queries fail while node is starting

2012-11-14 Thread Nico Meyer
Hi, since we upgraded our riak cluster from 0.14 to 1.2, we see MapReduce queries failing while any of the nodes is starting but not yet ready (that is while the 'Waiting for service riak_kv' message still appears in the logs). This is quite problematic, since it takes almost 50 minutes for t

Re: Schema Architecture, Map Reduce & Key Lists

2011-02-11 Thread Nico Meyer
Hi Jeremiah! Actually there should be no compaction at all if he only ever inserts new keys, so the expire feature of bitcask won't help in this case. Compactions/Merges only happen if keys have been updated or deleted. Cheers, Nico Am Donnerstag, den 10.02.2011, 09:52 -0800 schrieb Jeremiah Pes

Re: Python client performance issue

2011-02-15 Thread Nico Meyer
Hi Mike, perhaps you can try to upgrade the protocol buffers library to at least version 2.3.0. This is from the changelog for that version: Python * 10-25 times faster than 2.2.0, still pure-Python. Cheers, Nico Am Montag, den 14.02.2011, 19:35 -0500 schrieb Mike Stoddart: > Will do when I

Re: Python client performance issue

2011-02-15 Thread Nico Meyer
gt; > On Tuesday, February 15, 2011 at 1:46 AM, Nico Meyer wrote: > > > Hi Mike, > > > > perhaps you can try to upgrade the protocol buffers library to at > > least > > version 2.3.0. This is from the changelog for that version: > > > > Pytho

Re: Python client performance issue

2011-02-16 Thread Nico Meyer
setup.py, so people are already most likely using > protobufs-2.3.0. > > > - Andy > > On Tuesday, February 15, 2011 at 3:09 AM, Nico Meyer wrote: > > > Hi Andy. > > > > I am not quite sure what you mean, is the protobuf library included > > with >

Re: tuning riak for 100s of concurrent connections

2011-02-25 Thread Nico Meyer
Whenever I see latencies which are roughly multiples of 40ms it screams to me 'nagle algorithm'. I have seen this so often now, that the first thing I check is, if the TCP_NODELAY option is set on the TCP socket on both ends. Am Freitag, den 25.02.2011, 08:14 -0600 schrieb Jeremiah Peschka: > Here

Re: tuning riak for 100s of concurrent connections

2011-02-25 Thread Nico Meyer
Just out of curiosity I did some tests myself on one of our production machines. We normally only use the ProtocolBuffers interface and a thrift interface that we wrote ourselves. If I fetch a small key (~250 bytes), the riak server becomes CPU bound with about 20 concurrent requests, at which poi

Re: tuning riak for 100s of concurrent connections

2011-02-26 Thread Nico Meyer
Feb 25, 2011 at 2:43 PM, Nico Meyer wrote: > > Just out of curiosity I did some tests myself on one of our production > > machines. We normally only use the ProtocolBuffers interface and a > > thrift interface that we wrote ourselves. > > > > If I fetch a small key (~

Re: Multiple disks

2011-03-23 Thread Nico Meyer
Hi Greg, I don't think the vnodes will always die. I have seen some situations (disk full, filesystem becoming read only due to device errors, corrupted bitcask files after a mashine crash) where the vnode did not crash, but the get and/or put requests returned errors. Even if the process cras

Re: Multiple disks

2011-03-23 Thread Nico Meyer
meone could point me to the place where a vnode failure is detected. As far as I can see, the heavy lifting happens in riak_kv_util:try_cast/5 ( https://github.com/basho/riak_kv/blob/riak_kv-0.14.1/src/riak_kv_util.erl#L78), which only checks if the whole node is up. On 24.03.2011 00:56, Nico

Re: A script to check bitcask keydir sizes

2011-03-23 Thread Nico Meyer
Hi Anthony, are you sure you are not including the filesystem cache in your mem_allocated values? It will grow to use all of the free memory or the total size of your bitcask data files, whichever is smaller. We have about 100Mio keys per node, and riak uses about 7GB of RAM. Cheers, Nico O

Re: A script to check bitcask keydir sizes

2011-03-24 Thread Nico Meyer
ith such evenly > space data, everything tends to fall over at once. I just don't want that > to happen with my riak cluster, so am wondering how to tell if you are close > to needing to grow. > > Anyone have any ideas? > > -Anthony > > > On Thu, Mar 24, 2011

Re: A script to check bitcask keydir sizes

2011-03-24 Thread Nico Meyer
e fewer than > 4 bytes, or b) your ratio of keys to buckets is near 1. > > > I'm sure I am missing something, though, and haven't poked into that > part of the code yet. > > > On Thursday, March 24, 2011 at 3:11 AM, Nico Meyer wrote: > > > Hi Anthony, &

Re: Riak node recovery after crash.

2011-04-01 Thread Nico Meyer
Hi Sean, I have to object here. We have a cluster of 8 Core/64GB nodes with an SSD drive for the bitcask dir. Each node holds on the order of 100Mio keys. The complete bitcask directory is only about 60Gb big, so it fit almost completely. The time from starting the node until it start handling re

Re: Riak node recovery after crash.

2011-04-01 Thread Nico Meyer
repair tables. YMMV > > Sean Cribbs > Developer Advocate > Basho Technologies, Inc. > http://basho.com/ > > On Apr 1, 2011, at 10:11 AM, Nico Meyer wrote: > > > Hi Sean, > > > > I have to object here. We have a cluster of 8 Core/64GB nodes with an &g

Re: 'not found' after join

2011-05-03 Thread Nico Meyer
Hi everyone, I just want to note that I observed similar behaviour with a somewhat larger clusters of 10 or so nodes. I first noticed that handoff activity after node join (or leave for that matter) involved a lot more partitions than I would have expected. By comparing the old and the new ring fi

Re: crash after single insert

2011-05-07 Thread Nico Meyer
Hi Gary, I had this problem before a few times. It is cause by leftover files named 'bitcask.write.lock'. Normally theey should be cleared automatically after a crash. They contain the OS process ID of the erlang VM which created them, and if there is no such process bitcask deletes the file.

Re: crash after single insert

2011-05-09 Thread Nico Meyer
Hi Dave, I believe problem occours if there happens to be another process with the same PID as the old (now gone) riak node. This can happen if the machine was rebooted since the riak node crashed or if the PIDs wrapped, they are only two bytes after all. os_pid_exists/1 only checks for ANY proces

Re: crash after single insert

2011-05-10 Thread Nico Meyer
2011, at 7:10 AM, David Smith wrote: Hmm...ok. Will have to ponder how we can fix that. Thanks! D. On Mon, May 9, 2011 at 8:09 AM, Nico Meyer wrote: Hi Dave, I believe problem occours if there happens to be another process with the same PID as the old (now gone) riak node. This can happen if t

Re: Issues with capacity planning pages on wiki

2011-05-25 Thread Nico Meyer
Hi Anthony, I think, I can explain at least a big chunk of the difference in RAM and disk consumption you see. Let start with RAM. I could of course be wrong here, but I believe the /'static bitcask per key overhead/' is just plainly too small. Let me explain why. The bitcask_keydir_entry s

Re: Issues with capacity planning pages on wiki

2011-05-25 Thread Nico Meyer
n, NC: (910) 241-0433 - jlange...@loomlearning.com <mailto:jlange...@loomlearning.com> - www.loomlearning.com <http://www.loomlearning.com/> - Skype: intel352 /* * On Wed, May 25, 2011 at 12:22 PM, Nico Meyer <mailto:nico.me...@adition.com>> wrote: Hi Anthony, I

Re: Store whole database in memory

2011-05-29 Thread Nico Meyer
Hi Michael, Greg's advice is probably the best, if you really always want to read back or update predefined groups of 1000 keys at once. It will increase the rate at which you can write and read by a factor of 1000 ;-). But if that's not what you want to do, and we really don't know what you

Re: Memory Consumption of Buckets

2011-05-30 Thread Nico Meyer
Hello Jacques, It's A. Cheers, Nico Am 30.05.2011 18:43, schrieb Jacques: Hello, I'm working on a riak deployment and have a question. I've read that the approximate storage size per key is 40 bytes plus the size of the key. Does the total storage size include the bucket name AND the item

Re: A script to check bitcask keydir sizes

2011-06-08 Thread Nico Meyer
Hi Justin, I wanted to write this earlier, but I just had to much on my plate: Am 08.06.2011 16:11, schrieb Justin Sheehy: On Thu, Mar 24, 2011 at 1:51 PM, Nico Meyer wrote: The bigger concern for me would be the way the bucket/key tuple is serialized: Eshell V5.8 (abort with ^G) 1

Re: Problem with deleting keys

2011-06-16 Thread Nico Meyer
Hello David, this behaviour is quite expected if you think about how Riak works. Assuming you use the default replication factor of n=3, each key is stored on all of your three nodes. If you delete a key while one node (let's call it A) is down, the key is deleted from the two nodes that are s

Re: Problem with deleting keys

2011-06-16 Thread Nico Meyer
27;s better (more consistent), but not a real fix. Kresten On 16/06/2011, at 11.58, "Nico Meyer"mailto:nico.me...@adition.com>> wrote: Hello David, this behaviour is quite expected if you think about how Riak works. Assuming you use the default replication factor of n=3, each key

Re: Problem with deleting keys

2011-06-16 Thread Nico Meyer
n Thursday, June 16, 2011 at 8:22 AM, Nico Meyer wrote: The problem with unreachable nodes still remains, since you don't know how long they will be gone. The only 'safe' minimum time to keep deleted values is forever. This can be easily emulated in the application layer by using a s

Re: Problem with deleting keys

2011-06-16 Thread Nico Meyer
Sorry, didn't see your mail in time. This is essentially what i was talking about in my other mail. So all is good then :-). Cheers, Nico Am 16.06.2011 17:53, schrieb Andrew Thompson: On Thu, Jun 16, 2011 at 08:40:45AM -0700, Greg Nelson wrote: Well, it is kind of Riak specific. An impleme

Re: Problem with deleting keys

2011-06-16 Thread Nico Meyer
Yes, but the same is true if you restore a relational DB from backup :-D Am 16.06.2011 18:49, schrieb Les Mikesell: On 6/16/2011 10:22 AM, Nico Meyer wrote: Btw, this whole issue is not really Riak specific. It is essentially a consequence of eventual consistency, where you have to make

Re: Problem with deleting keys

2011-06-16 Thread Nico Meyer
I see you get my point ;-) Am 16.06.2011 19:07, schrieb David Leimbach: Or any data from backup? :-) On Thu, Jun 16, 2011 at 10:04 AM, Nico Meyer <mailto:nico.me...@adition.com>> wrote: Yes, but the same is true if you restore a relational DB from backup :-D Am 16.06.2

Re: Problem with deleting keys

2011-06-16 Thread Nico Meyer
case where a value was updated and the more current value is available on other nodes. Restoring an old value don't matter then. On 6/16/2011 12:07 PM, David Leimbach wrote: Or any data from backup? :-) On Thu, Jun 16, 2011 at 10:04 AM, Nico Meyer mailto:nico.me...@adition.com>> wrot

Re: Problem with deleting keys

2011-06-16 Thread Nico Meyer
. ;-) On Thursday, June 16, 2011 at 10:23 AM, Nico Meyer wrote: I don't see any reason to only restore one node of your cluster. That is the whole point of a replicated datastore. If you loose a node, you shrug, replace it with a new one and go about your bus

Re: Problem with deleting keys

2011-06-16 Thread Nico Meyer
Expiry time in bitcask is a global setting at the moment, not per key. But even if it where different, this should behave exactly the same as outright deletion (what else is expires now supposed to mean?). Hence the same problems as David observed in the first place. Which makes me think, actu

Re: Deleting Keys vs. Specifying a Null Value for a Key

2011-06-24 Thread Nico Meyer
I was pretty sure I mentioned it quite early on in this discussion ;-). Something about logical deletes vs. physical deletes. Cheers, Nico Am Donnerstag, den 23.06.2011, 10:21 -0700 schrieb Greg Nelson: > Something to keep in mind here -- which I don't think has been > mentioned yet -- is the int

Re: Link Walking via Map Reduce

2011-06-25 Thread Nico Meyer
Hello, I created a feature request for compression of values about a year ago (https://issues.basho.com/show_bug.cgi?id=412), but unfortunately it seems there was no interest in that. For the time being we have to patch Riak to enable compression, though we do it in the riak_kv_vnode module by cha

Re: Riak or Cassandra for this...

2011-06-29 Thread Nico Meyer
Hi Matthew, although I really like Riak, I would seriously consider using Hadoop or something similar (perhaps Disco http://discoproject.org/, if you don't like Java), since you only need to read/write your data sequentially. Assuming your example is representative of your typical log entry (s

Re: Riak or Cassandra for this...

2011-06-29 Thread Nico Meyer
qual competence of both languages, but I can't imagine it's too hard to implement that. Matt ____ From: Nico Meyer [nico.me...@adition.com] Sent: Wednesday, June 29, 2011 7:17 AM To: riak-users@lists.basho.com Cc: Evans, Matthew Subject: Re: Riak or Cas

Re: Lots of bitcask files for a vnode, unable to merge

2011-07-01 Thread Nico Meyer
Hi Apyr, I have had this problem in the past. Most likely the 1309482913.bitcask.data is corrupted somehow. I mostly see this problem after a machine crash or disk problems, and in this case it is alway the end of the file that is corrupted or truncated (the last record that Riak was trying t

Re: Riak memory usage higher than expected

2011-08-17 Thread Nico Meyer
Hi Jacques, please read my reply back in May, which should clear things up: http://lists.basho.com/pipermail/riak-users_lists.basho.com/2011-May/004292.html Cheers, Nico On 16.08.2011 21:09, Jacques wrote: We're utilizing Riak 14.2 and we're seeing higher memory consumption than we expect. W

Re: Riak memory usage higher than expected

2011-08-18 Thread Nico Meyer
usage over 100. I'm also notclear what the step changes are. If you have any insights on these that would be great. Thanks! On Aug 17, 2011 12:07 AM, "Nico Meyer" <mailto:nico.me...@adition.com>> wrote: > Hi Jacques, > > please read my reply back in May, which

Re: Riak memory usage higher than expected

2011-08-19 Thread Nico Meyer
o be collected? It sounds like you're generally saying that "it is what it is" for now and just capacity plan around it. thanks again, Jacques On Thu, Aug 18, 2011 at 3:31 AM, Nico Meyer <mailto:nico.me...@adition.com>> wrote: Have you taken into account the size of

Re: Riak 1.0

2011-10-22 Thread Nico Meyer
Hello Jim, it sounds like the ring_creation_size in your app.conf file is inconsistent with the actual ring size on your existing nodes. This would happen, if the ring_creation_size in the config was changed after the ring as been created. As the name implies, the setting is only used when startin

Re: Operations: Commodity hardware OK, or does Riak need ECC memory?

2012-02-03 Thread Nico Meyer
Which of course doesn't only helps if data is corrupted on disk or on the way to/from disk ;-) Cheers, Nico Am 03.02.2012 14:06, schrieb David Smith: On Fri, Feb 3, 2012 at 1:35 AM, Runar Jordahl wrote: As far as I know, Riak does not provide any checksum on your data. I hope I am wrong. Ha

Re: Operations: Commodity hardware OK, or does Riak need ECC memory?

2012-02-03 Thread Nico Meyer
Fri, Feb 3, 2012 at 7:03 AM, Nico Meyer wrote: Which of course doesn't only helps if data is corrupted on disk or on the way to/from disk ;-) Good call, we should add that. Thanks, D. --- Dave Smith Director, Engineering Basho Technologies, Inc. diz...@basho.com -- Senior Backend Deve

Re: order of siblings

2012-03-25 Thread Nico Meyer
Hello Michael, the siblings returned by the Protobuf API have two properties calles 'last_mod' and 'last_mod_usec', which contain the (unix-)timestamp and the microsend part for the time on which the sibling was last modified. allow_mult_=true actually uses the contents of this field to return

Constant vnode crashes after disk corruption

2012-04-18 Thread Nico Meyer
Hello, I just encountered a problem with one of our Riak nodes, which is caused by a bug in either the disk controller or the firmware of our SSD disks. Anyway, the obvious symptom is, that all writes to the disks suddenly fail, which of course leads to truncated bitcask files. However, this t

Re: Constant vnode crashes after disk corruption

2012-04-18 Thread Nico Meyer
not_found, state()}' Cheers, Nico Am 18.04.2012 12:18, schrieb Nico Meyer: Hello, I just encountered a problem with one of our Riak nodes, which is caused by a bug in either the disk controller or the firmware of our SSD disks. Anyway, the obvious symptom is, that all writes to the di

Re: Constant vnode crashes after disk corruption

2012-04-19 Thread Nico Meyer
cask directory while writing in it, so i assume any not completely-written bitcask file can cause it. Easy way looks like dropping bitcask directory . On Wed, Apr 18, 2012 at 2:26 PM, Nico Meyer <mailto:nico.me...@adition.com>> wrote: Oh, I forgot to mention:

Use of fallback nodes for get requests?

2010-08-02 Thread Nico Meyer
Hi! I have a question regarding the use of fallback nodes for get requests. As I read the code, get requests use fallback nodes if any of the nodes normally holding the key are not reachable. Also a simple test seemed to confirm this. What I mean is, if I do a get request for a key with R=N, and

Re: Use of fallback nodes for get requests?

2010-08-04 Thread Nico Meyer
to reason about these things in German and face-to-face :-). Cheers, Nico Am Montag, den 02.08.2010, 22:29 -0400 schrieb Justin Sheehy: > Hi, Nico. > > On Mon, Aug 2, 2010 at 1:19 PM, Nico Meyer wrote: > > > What I mean is, if I do a get request for a key with R=N, and one of

Re: Use of fallback nodes for get requests?

2010-08-04 Thread Nico Meyer
I just saw https://issues.basho.com/show_bug.cgi?id=275 , which would actually be just what I need. Am Mittwoch, den 04.08.2010, 13:58 +0200 schrieb Nico Meyer: > Hi Justin, > > I think we are coming from two different directions here, leading to > some confusion. You seem to treat

Re: bitcask 42?

2010-10-04 Thread Nico Meyer
One should also mention, that the overall performance of bitcask might presumably become worse with a larger number of partitions per node. If there is only one partition writing is basically linear on the disk, an therefore extremely fast. If you on the other hand linearly write to a large number

Re: Understanding Riaks rebalancing and handoff behaviour

2010-11-10 Thread Nico Meyer
Hi, I have also seen similar (not quite the same though) problems when removing nodes from the cluster. Normally what happens, is that most partitions are moved away from the node that was removed but the handoff of some partitions will always produce an error like this: =ERROR REPORT 10-Nov-

Re: Understanding Riaks rebalancing and handoff behaviour

2010-11-11 Thread Nico Meyer
Hi, Am Donnerstag, den 11.11.2010, 07:59 +0100 schrieb Sven Riedel: > Hi, > thanks for the detailed reply. So you would suggest that somehow the > partition allocation got into an incosistent state across nodes. I'll > have to check the logs to see if anything similar to your dump pops > up. > >

Re: Understanding Riaks rebalancing and handoff behaviour

2010-11-12 Thread Nico Meyer
Am Freitag, den 12.11.2010, 08:43 +0100 schrieb Sven Riedel: > > > > It's not a problem right away. But since the replicated data is not > > actively synchronized in the background the keys that were not copied > > until the node dies have one less replica. That is until they are read > > at least

Re: tools for debugging clients?

2011-01-18 Thread Nico Meyer
Hi Gary, this is a known bug in the python client. See https://issues.basho.com/show_bug.cgi?id=695 The fix is fairly simple and also mentioned in the bug report. Cheers, Nico Am Montag, den 17.01.2011, 21:18 -0800 schrieb Gary William Flake: > I am using the python client api and in some of my

Re: Short read error on .store() with protobufs using Python client

2011-01-22 Thread Nico Meyer
Hi, let me clarify the situation somewhat. The problem is not intermittent in the sense that it occurs randomly. It depends mainly on the size of the answer that riak sends. If the answer is bigger than the network MTU the error will occur most of the time. If its smaller it occurs almost never. T

Re: riak_kv_multi_backend + custom backend

2011-01-25 Thread Nico Meyer
Hi, maybe I am wrong here, but from looking at the code of riak_kv_multi_backend I get the impression that the backend name can be anything (binary, atom, integer, ...), as long as it is the same in the multi_backend config and the 'backend' property of the bucket. The limitation to binaries come

Re: bug after ~10K get/store requests

2011-01-28 Thread Nico Meyer
Have you tried raising the limit for open filehandles (ulimit -n)? Each TCP connection also uses one filehandle, and by default they will linger around for 60 seconds after the connection is closed. The PHP client uses the REST interface afaik, so I assume it will open a new TCP connection for eac

Re: bug after ~10K get/store requests

2011-02-02 Thread Nico Meyer
ico. > Much appreciated. I'm embarrassed that we opened up a load test > process on the same host as the data store and didn't realize we were > spammer ourselves :) > > > On Fri, Jan 28, 2011 at 04:44, Nico Meyer wrote: > > Have you tried raising the limit for open