mirror of
https://github.com/fluencelabs/redis
synced 2025-03-19 00:50:50 +00:00
Streams: trap more errors in stream loading + RDB check type name.
This commit is contained in:
parent
8727b4845b
commit
f7d4c3acdf
@ -1624,6 +1624,10 @@ robj *rdbLoadObject(int rdbtype, rio *rdb) {
|
|||||||
* we read more data. */
|
* we read more data. */
|
||||||
streamID cg_id;
|
streamID cg_id;
|
||||||
sds cgname = rdbGenericLoadStringObject(rdb,RDB_LOAD_SDS,NULL);
|
sds cgname = rdbGenericLoadStringObject(rdb,RDB_LOAD_SDS,NULL);
|
||||||
|
if (cgname == NULL) {
|
||||||
|
rdbExitReportCorruptRDB(
|
||||||
|
"Error reading the consumer group name from Stream");
|
||||||
|
}
|
||||||
cg_id.ms = rdbLoadLen(rdb,NULL);
|
cg_id.ms = rdbLoadLen(rdb,NULL);
|
||||||
cg_id.seq = rdbLoadLen(rdb,NULL);
|
cg_id.seq = rdbLoadLen(rdb,NULL);
|
||||||
streamCG *cgroup = streamCreateCG(s,cgname,sdslen(cgname),&cg_id);
|
streamCG *cgroup = streamCreateCG(s,cgname,sdslen(cgname),&cg_id);
|
||||||
@ -1654,6 +1658,10 @@ robj *rdbLoadObject(int rdbtype, rio *rdb) {
|
|||||||
size_t consumers_num = rdbLoadLen(rdb,NULL);
|
size_t consumers_num = rdbLoadLen(rdb,NULL);
|
||||||
while(consumers_num--) {
|
while(consumers_num--) {
|
||||||
sds cname = rdbGenericLoadStringObject(rdb,RDB_LOAD_SDS,NULL);
|
sds cname = rdbGenericLoadStringObject(rdb,RDB_LOAD_SDS,NULL);
|
||||||
|
if (cname == NULL) {
|
||||||
|
rdbExitReportCorruptRDB(
|
||||||
|
"Error reading the consumer name from Stream group");
|
||||||
|
}
|
||||||
streamConsumer *consumer = streamLookupConsumer(cgroup,cname,
|
streamConsumer *consumer = streamLookupConsumer(cgroup,cname,
|
||||||
1);
|
1);
|
||||||
sdsfree(cname);
|
sdsfree(cname);
|
||||||
|
@ -85,7 +85,8 @@ char *rdb_type_string[] = {
|
|||||||
"set-intset",
|
"set-intset",
|
||||||
"zset-ziplist",
|
"zset-ziplist",
|
||||||
"hash-ziplist",
|
"hash-ziplist",
|
||||||
"quicklist"
|
"quicklist",
|
||||||
|
"stream"
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Show a few stats collected into 'rdbstate' */
|
/* Show a few stats collected into 'rdbstate' */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user