You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I use redis6.0. However I found that redis slave does not always use partial REPLICA after restarted.
To reproduce
start aof-use-rdb-preamble in redis.conf
aof-use-rdb-preamble yes
2.restart redis6.0
then the log is written that:
134:S 06 May 2022 20:05:19.957 * Connecting to MASTER 127.0.0.1:6379
134:S 06 May 2022 20:05:19.959 * MASTER <-> REPLICA sync started
134:S 06 May 2022 20:05:19.962 * Non blocking connect for SYNC fired the event.
134:S 06 May 2022 20:05:19.965 * Master replied to PING, replication can continue...
134:S 06 May 2022 20:05:19.968 * Partial resynchronization not possible (no cached master)
134:S 06 May 2022 20:05:25.224 * Full resync from master: 996dd0912cf1949fcd763d8db34897f6073c66da:191
134:S 06 May 2022 20:05:25.572 * MASTER <-> REPLICA sync: receiving streamed RDB from master with EOF to disk
134:S 06 May 2022 20:05:25.575 * MASTER <-> REPLICA sync: Flushing old data
134:S 06 May 2022 20:05:25.580 * MASTER <-> REPLICA sync: Loading DB in memory
134:S 06 May 2022 20:05:25.584 * Loading RDB produced by version 6.0.16
134:S 06 May 2022 20:05:25.586 * RDB age 0 seconds
134:S 06 May 2022 20:05:25.588 * RDB memory usage when created 1.49 Mb
134:S 06 May 2022 20:05:25.591 * MASTER <-> REPLICA sync: Finished with success
Expected behavior
I hope that slave redis will use partial REPLICA once restarted.
Additional information
I found why the aof file will not use partial replication. Because in aof.c does not save the redis slave info.
see below:
function: rewriteAppendOnlyFile() the last para in rdbSaveRio is null. So why we pass null into it? Is there any meaningful thought?
Describe the bug
I use redis6.0. However I found that redis slave does not always use partial REPLICA after restarted.
To reproduce
aof-use-rdb-preamble yes
2.restart redis6.0
then the log is written that:
134:S 06 May 2022 20:05:19.957 * Connecting to MASTER 127.0.0.1:6379
134:S 06 May 2022 20:05:19.959 * MASTER <-> REPLICA sync started
134:S 06 May 2022 20:05:19.962 * Non blocking connect for SYNC fired the event.
134:S 06 May 2022 20:05:19.965 * Master replied to PING, replication can continue...
134:S 06 May 2022 20:05:19.968 * Partial resynchronization not possible (no cached master)
134:S 06 May 2022 20:05:25.224 * Full resync from master: 996dd0912cf1949fcd763d8db34897f6073c66da:191
134:S 06 May 2022 20:05:25.572 * MASTER <-> REPLICA sync: receiving streamed RDB from master with EOF to disk
134:S 06 May 2022 20:05:25.575 * MASTER <-> REPLICA sync: Flushing old data
134:S 06 May 2022 20:05:25.580 * MASTER <-> REPLICA sync: Loading DB in memory
134:S 06 May 2022 20:05:25.584 * Loading RDB produced by version 6.0.16
134:S 06 May 2022 20:05:25.586 * RDB age 0 seconds
134:S 06 May 2022 20:05:25.588 * RDB memory usage when created 1.49 Mb
134:S 06 May 2022 20:05:25.591 * MASTER <-> REPLICA sync: Finished with success
Expected behavior
I hope that slave redis will use partial REPLICA once restarted.
Additional information
I found why the aof file will not use partial replication. Because in aof.c does not save the redis slave info.
see below:
function: rewriteAppendOnlyFile()
the last para in rdbSaveRio is null. So why we pass null into it? Is there any meaningful thought?
`int rewriteAppendOnlyFile(char *filename) {
//do something
}`
The text was updated successfully, but these errors were encountered: