…r the memory limit. Before fixing there was code between the attempt to free memory and the check for memory limits, and this code could result into allocations going again after the memory limit.
Replaying an AOF with blocking pop commands would lead to a state where the fake AOF client would register itself (multiple times) as blocking for a series of keys. Subsequent pushes against these keys could result in a crash. Reported by and traced with the help from Jamie Turner.
dynamic algorithm where an overbooking up to 5 times is tolerated, but after this threshold is reached the resizing is performed even if there are child processes running.
This makes sure only the main hash table cannot be resized when a BGSAVE is in progress. In particular, set commands that generate a set (S*STORE commands), will fall back to O(N) access instead of O(1) access because the resulting sets have a huge number of collisions without resizing.
…pe. To read last argument from stdandard input there is to use the -x option. This will make it playing better inside cron scripts and in general when stdin is hacked.
…xes issue 316
… when the key is deleted. This fixes a race condition with VM where the blocked client is never notified.
…swapped or loaded. This avoids a rare race condition
…ng it When creating the readable event results in an error (this happens when the server hits OS limits), the client was not added to the list of clients when freeClient was called. This results in an assertion error. It is better to check this condition first and free the client immediately when this condition occurs.
Backport of 94364d5 to 2.0.0.
Backport of 5eedc9c to 2.0.0.
… as soon as possible (when the configured saving triggers should fire). Also known as Issue 313, more details there in the google code issue. (backported from master)
…is empty the behavior is like if the timeout is reached. This fixes Issue 285 (backported from master)