Skip to content

Releases: ctripcorp/xredis-crdt

release-1.0.10

04 Feb 14:33
6a9371d
Compare
Choose a tag to compare

Upgrade urgency HIGH: Compared with the previous version, there are some improvements, mainly:
Major things:

  • [bugfix] redis-server crash when the zrange command uses wrong parameters

release-1.0.8

09 Nov 10:53
Compare
Choose a tag to compare

================================================================================

XRedis-CRDT 1.0.8 Released Mon Nov 9 17:40:18 CST 2020

================================================================================
Upgrade urgency HIGH: Compared with the previous version, there are some improvements, mainly:
Major things:

  • [bugfix] master and slave or master and master synchronization fail When copying binary data memory, copy to \0 even if there is more data
  • [bugfix] redis-server crash when use the wrong gid after del and hset conflict is resolved

release-1.0.7

11 Sep 11:42
Compare
Choose a tag to compare
================================================================================
XRedis-CRDT 1.0.7 Released Fri Sep 11 19:29:37 CST 2020
================================================================================
Upgrade urgency LOW: Compared with the previous version, there are some improvements, mainly:
Major things:
* [feature] multi/exec supported for crdt circumstance.
* [opt] rdb dump/load accelerate by optimizing vector-clock's serialize/deserialize function
* [opt] rdb dump/load accelerate by optimizing CRC64 algorithm
* [opt] value/tombstone is now a non co-exist peer
* [bugfix] master-master full sync would lead to a data inconsis.(previous mechanism will ignore crdt objects with diff gid. however, same key merge during one full sync before the other, would cause a skipping crdt object due to the gid is not its own)
* [bugfix] fix the issue when we're retrieving data from normal(open-source) redis server master, that stream would be doubled by the origin op and crdt op.
* [bugfix] GC could cause a data inconsis when setting K on a non-tombstone site will propagate it to a tombstone site 

release-1.0.6

29 Aug 13:28
Compare
Choose a tag to compare

XRedis-CRDT 1.0.6 Released Sat Aug 29 21:04:25 CST 2020

Upgrade urgency LOW: Compared with the previous version, there are some improvements, mainly:
Major things:

  • [bugfix] redis-server crash when load non-crdt hash object(encoding=obj_encoding_ht)
  • [bugfix] redis-server crash when hashtombstone and kv value merge
  • [opt] master_is_crdt default is true

release-1.0.5

08 Aug 14:09
ab0cd2e
Compare
Choose a tag to compare

XRedis-CRDT 1.0.5 Release Note

XRedis-CRDT 1.0.5 Released Sat Aug 8 20:59:30 CST 2020

Upgrade urgency LOW: Compared with the previous version, there are some improvements, mainly:
Major things:

  • [bugfix] a out-of-bound memory access will happen when loading RDB file.
  • [opt] master-master psync: an enhanced partial sync implementation is now allowed for master-master replication while master-slave switching.
  •  slave now is able to record offsets for peer-masters replication.
    
  •  PSYNC2.0 also works for master-master replication.
    
  • [opt] shrink down conflict by reducing simutenously expiration.
  • [opt] seeking for peer-master is theoretically faster than before.
  • [opt] better performance for master-master replication stream offset calculation.

release-1.0.4

05 Aug 07:20
78f3b47
Compare
Choose a tag to compare

================================================================================
XRedis-CRDT 1.0.4 Released Tue Jun 9 15:58:31 CST 2020

Upgrade urgency LOW: Compared with the previous version, there are some improvements, mainly:
Major things:

  • fix free crdtServer backlog bug when slave turning into master
  • speed up set, mset and hset command
  • added namespace attribute to limit the scope of peer replication
  • add module memory statistics

release-1.0.3

09 Jun 09:51
cca98e7
Compare
Choose a tag to compare

XRedis-CRDT 1.0.3 Released Tue Jun 9 15:58:31 CST 2020

Upgrade urgency LOW: Compared with the previous version, there are some improvements, mainly:
Major things:

  • crdtServer and server now shares a same repl_id and repl_id2
  • reduce log by ignoring expire conflict when merge
  • crdt slave now will consider it as master if its master is norm redis
The last change includes a little tricky change that, though we consider the crdt redis slave as a master(when its master is a original redis),
there's still a piece of special logic for stable expire data.
Which, as a consequnce, redis will create another global dict to store keys when receiving expire commands as a slave,
and the dict will never be freed once the redis turning into a master.
In this circumstance, we surely will cause a mem leak, as we're actually transfering the RDB into commands, to make original redis'
RDB compitable for CRDT ones, thus, expire command is executing on crdt server which will consider itself as a slave previously.
Finally, the fix is simple, we make crdt redis thought it was a master when it's actually a slave of an original redis.

release-1.0.1

03 Jun 02:26
89b9627
Compare
Choose a tag to compare

XRedis-CRDT 1.0.1 Released Tue Jun 2 16:50:51 CST 2020

Upgrade urgency LOW: Compared with the previous version, there are some improvements, mainly:
Major things:

  • Support non-crdt redis syncing data to crdt redis as master.
  • Support loading RDB files with non-crdt data and crdt data.
  • Optimize kv data structure to shrink down mem use.
  • Support for expire functionalities under CRDT mode.
  • Optimize vector clock to decrease mem use.