Skip to content

Instantly share code, notes, and snippets.

@mattsta
Created October 29, 2014 20:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mattsta/757a3834bbe552252bf1 to your computer and use it in GitHub Desktop.
Save mattsta/757a3834bbe552252bf1 to your computer and use it in GitHub Desktop.
things in my hidden merge branch
Author: Matt Stancliff <matt@genges.com>
Date: Mon Oct 20 13:07:06 2014 -0500
Add dynamic proctitle support
Uses new anet IP formatting to show proper IPv4 vs IPv6 results too.
Closes #2081
Author: Matt Stancliff <matt@genges.com>
Date: Mon Oct 20 10:39:11 2014 -0400
Add "name" config option
CONFIG GET NAME
CONFIG SET NAME "some-name"
Author: Matt Stancliff <matt@genges.com>
Date: Mon May 12 11:44:37 2014 -0400
Improve RDB error-on-load handling
Previouly if we loaded a corrupt RDB, Redis printed an error report
with a big "REPORT ON GITHUB" message at the bottom. But, we know
RDB load failures are corrupt data, not corrupt code.
Now when RDB failure is detected (duplicate keys or unknown data
types in the file), we run check-rdb against the RDB then exit. The
automatic check-rdb hopefully gives the user instant feedback
about what is wrong instead of providing a mysterious stack
trace.
Closes #1744
Author: Matt Stancliff <matt@genges.com>
Date: Mon May 12 12:12:48 2014 -0400
Remove code duplication from check-rdb
redis-check-rdb (previously redis-check-dump) had every RDB define
copy/pasted from rdb.h and some defines copied from redis.h. Since
the initial copy, some constants had changed in Redis headers and
check-dump was using incorrect values.
Since check-rdb is now a mode of Redis, the old check-dump code
is cleaned up to:
- replace all printf with redisLog (and remove \n from all strings)
- remove all copy/pasted defines to use defines from rdb.h and redis.h
- replace all malloc/free with zmalloc/zfree
- remove unnecessary include headers
Author: Matt Stancliff <matt@genges.com>
Date: Fri May 9 12:06:06 2014 -0400
Convert check-dump to Redis check-rdb mode
redis-check-dump is now named redis-check-rdb and it runs
as a mode of redis-server instead of an independent binary.
You can now use 'redis-server redis.conf --check-rdb' to check
the RDB defined in redis.conf. Using argument --check-rdb
checks the RDB and exits. We could potentially also allow
the server to continue starting if the RDB check succeeds.
This change also enables us to use RDB checking programatically
from inside Redis for certain failure conditions.
Author: hq <hq_cml@163.com>
Date: Thu Jun 12 12:46:49 2014 +0800
Allow independent read/write event loop callbacks
[Cleaned up a lot from the original submission: removed tabs,
fixed it so it actually compiles, removed bad formatting, etc]
Closes #1809
Author: soarpenguin <soarpenguin@gmail.com>
Date: Thu Aug 28 18:32:41 2014 +0800
Closes #1973
Author: George Brighton <george@gebn.co.uk>
Date: Tue Sep 2 01:12:01 2014 +0100
Cleanup adlist.c comments and indentation
Closes #1978
Author: Matt Stancliff <matt@genges.com>
Date: Mon Aug 25 15:53:11 2014 -0500
Sentinel: Improve INFO command behavior
Improvements:
- Return empty string if asking for non-existing section (INFO foo)
- Fix potential memory leak (caused by sdsempty() then returned if >2 args)
- Clean up argument parsing
- Allow "all" as valid section (same as "default" or zero args currently)
- Move strcasecmp to end of evaluation chain in conditionals
Also, since we're C99, I moved some variable declarations to be closer
to where they are actually used (saves us from needing to free an empty info
if detect argument errors up front).
Closes #1915
Closes #1966
Author: Matt Stancliff <matt@genges.com>
Date: Mon Aug 25 17:07:37 2014 -0400
Disable foreground pidfile creation if not defined
Closes #1967
Author: rebx <rebs.guarina@gmail.com>
Date: Wed Apr 18 11:04:37 2012 +1200
Create PID file even if in foreground
Previously, Redis only wrote the pid file if
it was daemonizing, but many times it's useful to have
the pid written out even if you're in the foreground.
Some background for this is:
I usually run redis via daemontools. That entails running
redis-server on the foreground. Given that, I'd also want
redis-server to create a pidfile so other processes (e.g. nagios)
can run checks for that.
Closes #463
Author: RR2DO2 <RR2DO2@users.noreply.github.com>
Date: Wed Sep 3 03:55:58 2014 +0100
Fix redis-check-dump sprintf end of buffer check
Closes #1983
Author: Byron Grobe <grobe0ba@gmail.com>
Date: Thu Sep 11 10:21:05 2014 -0400
Add missing '-' in redis-benchmark help
Fixes #1996
Closes #1998
Author: Krzysztof Czurylo <krzysztof.czurylo@intel.com>
Date: Fri Sep 19 17:52:05 2014 +0200
redis-benchmark: add option to write sequentially
Closes #2018
Author: Matt Stancliff <matt@genges.com>
Date: Wed Oct 29 15:46:16 2014 -0400
sets: only increase server.dirty when added
(This was bundled with the setbit notify fix, but it's unrelated)
Author: Erik Dubbelboer <erik@dubbelboer.com>
Date: Mon Oct 6 14:15:18 2014 +0000
Don't notify SETBIT change if no change happened
Closes #1314
Closes #2046
Author: soarpenguin <soarpenguin@gmail.com>
Date: Wed Oct 8 09:53:11 2014 +0800
Fix install script 'readlink: illegal option -- f'
Only under Darwin. Use shell built-ins instead.
Closes #2048
Author: Matt Stancliff <matt@genges.com>
Date: Thu Aug 7 09:43:16 2014 -0400
Bitops: Stop overallocating storage space on set
Previously the string was created empty then re-sized
to fit the offset, but sds resize causes the sds to
over-allocate by at least 1 MB (which is a lot when
you are operating at bit-level access).
This also improves the speed of initial sets by 2% to 6%
based on quick testing.
Patch logic provided by oranagra
Fixes #1918
Closes #2050
Author: Matt Stancliff <matt@genges.com>
Date: Fri Oct 10 10:35:34 2014 -0400
Sentinel: Add initial quorum bounds check
Closes #2054
Author: Itamar Haber <itamar@garantiadata.com>
Date: Wed Oct 15 13:02:09 2014 +0300
Added authentication to init script stop verb
Closes #2069
Author: Matt Stancliff <matt@genges.com>
Date: Fri Oct 17 08:21:16 2014 -0500
redis-cli: ignore SIGPIPE network errors
Closes #2066
Closes #2078
Author: Rob Snyder <robscary@gmail.com>
Date: Sun Oct 19 21:12:16 2014 -0400
Ensure ZIPLIST_LENGTH is compared correctly
Reading ZIPLIST_LENGTH must be wrapped in intrev16ifbe(), but
it was missing in a few places.
Closes #2033
Closes #2080
Author: Daniel Black <daniel.black@ingenious.com.au>
Date: Wed Oct 22 13:19:57 2014 +1100
Force flush redis-cli pubsub mode output
Closes #2074
Closes #2085
Author: Daniel Black <daniel.black@ingenious.com.au>
Date: Wed Oct 22 16:02:53 2014 +1100
Remove duplicate anet.o from REDIS_CLI_OBJ
Closes #2086
Author: Matt Stancliff <matt@genges.com>
Date: Thu Oct 23 11:52:35 2014 -0400
Fix zero-ordering SORT when called against lists
People mostly use SORT against lists, but our prior
behavior was pretending lists were an unordered bag
requiring a forced-sort when no sort was requested.
We can just use the native list ordering to ensure
consistency across replicaion and scripting calls.
Closes #2079
Closes #545 (again)
Closes #2094 (this PR)
Author: Matt Stancliff <matt@genges.com>
Date: Wed Oct 29 15:04:00 2014 -0400
Log inbound source IP:Port for replication
Before:
- Slave asks for synchronization
- Full resync requested by slave.
- Synchronization with slave succeeded
After:
- Slave asks for synchronization from 127.0.0.1:57780
- Full resync requested by slave from 127.0.0.1:57780
- (removed full stop too; it was inconsistent)
- Synchronization with slave succeeded from 127.0.0.1:57780
Now we report inbound socket details, but we don't have a
way of surfacing more exact remote details during a replica connection.
It may be nice if replication started with a preamble from the remote
host (verbose: "I AM REDIS LISTENING ON 127.0.0.1 6379, REQUESTING REPLICATION, ...")
so we could use more remote metadata/details locally for reporting/logs/debugging.
Closes #2095
Author: Matt Stancliff <matt@genges.com>
Date: Thu Oct 23 13:09:58 2014 -0400
Cleanup all IP formatting code
Instead of manually checking for strchr(n,':') everywhere,
we can use our new centralized IP formatting functions.
Author: Matt Stancliff <matt@genges.com>
Date: Thu Oct 23 12:40:02 2014 -0400
Add centralized IP/Peer formatting functions
This stops us from needing to manually check against ":" to
add brackets around IPv6 addresses everywhere.
Author: Matt Stancliff <matt@genges.com>
Date: Thu Oct 23 13:45:16 2014 -0400
Parse cluster state file in IPv6 compatible way
We need to pick the port based on the _last_ colon, not the first one.
Closes #2096
Author: Matt Stancliff <matt@genges.com>
Date: Thu Oct 23 13:44:42 2014 -0400
Fix redis-trib.rb IP:Port disassembly for IPv6
IP format is now any of:
- 127.0.0.1:6379
- ::1:6379
Author: Ben Dowling <ben.m.dowling@gmail.com>
Date: Sun Oct 26 11:09:45 2014 -0700
Improve Redis init script template status command
Check if actual process is running instead of just if the pid exists.
Closes #2103
Author: zhanghailei <zhh5919@163.com>
Date: Mon Oct 27 14:02:52 2014 +0800
Fix redis-benchmark idle mode
Idle mode shouldn't create a write event
Closes #2105
Author: Nan Xiao <xn212516@163.com>
Date: Mon Oct 27 17:53:12 2014 +0800
Fix function prototype in redis-cli.c
Closes #2106
Author: Matt Stancliff <matt@genges.com>
Date: Mon Oct 27 10:09:37 2014 -0400
Fix redis-trib import SCAN call
Closes #2107
Author: Matt Stancliff <matt@genges.com>
Date: Tue Oct 28 12:25:16 2014 -0400
Networking: add more outbound IP binding fixes
Same as the original bind fixes (we just missed these the
first time around).
This helps Redis not automatically send
connections from the first IP on an interface if we are bound
to a specific IP address (e.g. with multiple IP aliases on one
interface, you want to send from _your_ IP, not from the first IP
on the interface).
Closes #2110
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment