Page MenuHomeSolus

Update to v4.0.2
ClosedPublic

Authored by mariosant on Oct 2 2017, 8:58 PM.

Details

Summary

Upgrade urgency HIGH: Several potentially critical bugs fixed.

  1. A number of bugs were fixed in the area of PSYNC2 replication in the

specific area of restarting an instance with an RDB file having the
repliacation meta-data to continue without a full resynchronization. The
old code allowed several inconsistencies under certain conditions, like
starting a master with an RDB file generated by a slave, and later using
such master to connect previous slaves having the same replication history.
Because of other bugs, sometimes the replication resulted in a full
synchronization even if actually a partial resynchronization was possible
and so forth. Several commits by different authors fix different bugs here.

  1. AOF flush on SHUTDOWN did not cared to really write the AOF buffers

(not in the kernel but in the Redis process memory) to disk before exiting.
Calling SHUTDOWN during traffic resulted into not every operation to be
persisted on disk.

  1. The SLOWLOG could reference values inside string objects stored at keys,

creating a race condition during FLUSHALL ASYNC while the DB is reclaimed
in another thread.

Test Plan

Built and installed Redis package locally. Started redis-server as non root user. Used redis-cli to connect to the running instance. Created a record. Everything seems to work fine.

Diff Detail

Repository
R2799 redis
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

mariosant created this revision.Oct 2 2017, 8:58 PM
JoshStrobl requested changes to this revision.Oct 2 2017, 9:00 PM
JoshStrobl added a subscriber: JoshStrobl.

Needs a summarized changelog and a test plan on how you tested it.

This revision now requires changes to proceed.Oct 2 2017, 9:00 PM
mariosant updated this revision to Diff 2716.Oct 2 2017, 9:05 PM
mariosant edited edge metadata.
mariosant edited the summary of this revision. (Show Details)

Added summarized changelog.

mariosant updated this revision to Diff 2717.Oct 2 2017, 9:11 PM
mariosant edited the test plan for this revision. (Show Details)

Added test plan.

@JoshStrobl, is that acceptable now? Thanks for your time so far.

JoshStrobl accepted this revision.Oct 5 2017, 12:53 PM
This revision is now accepted and ready to land.Oct 5 2017, 12:53 PM
This revision was automatically updated to reflect the committed changes.