diff --git a/src/t_stream.c b/src/t_stream.c index 44251586..3b4ebea7 100644 --- a/src/t_stream.c +++ b/src/t_stream.c @@ -2137,9 +2137,13 @@ void xdelCommand(client *c) { streamParseIDOrReply(c,c->argv[j],&id,0); /* Retval already checked. */ deleted += streamDeleteItem(s,&id); } - signalModifiedKey(c->db,c->argv[1]); - notifyKeyspaceEvent(NOTIFY_STREAM,"xdel",c->argv[1],c->db->id); - server.dirty += deleted; + + /* Propagate the write if needed. */ + if (deleted) { + signalModifiedKey(c->db,c->argv[1]); + notifyKeyspaceEvent(NOTIFY_STREAM,"xdel",c->argv[1],c->db->id); + server.dirty += deleted; + } addReplyLongLong(c,deleted); }