Skip to content

Commit 1393126

Browse files
authored
fix #1758 (#1759)
fix #1758
1 parent 76393b5 commit 1393126

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

command.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1769,8 +1769,14 @@ func xStreamInfoParser(rd *proto.Reader, n int64) (interface{}, error) {
17691769
info.LastGeneratedID, err = rd.ReadString()
17701770
case "first-entry":
17711771
info.FirstEntry, err = readXMessage(rd)
1772+
if err == Nil {
1773+
err = nil
1774+
}
17721775
case "last-entry":
17731776
info.LastEntry, err = readXMessage(rd)
1777+
if err == Nil {
1778+
err = nil
1779+
}
17741780
default:
17751781
return nil, fmt.Errorf("redis: unexpected content %s "+
17761782
"in XINFO STREAM reply", key)
@@ -2034,7 +2040,7 @@ func readXInfoStreamConsumers(rd *proto.Reader) ([]XInfoStreamConsumer, error) {
20342040

20352041
c.Pending = make([]XInfoStreamConsumerPending, 0, pendingNumber)
20362042

2037-
for f := 0; f < pendingNumber; f++ {
2043+
for pn := 0; pn < pendingNumber; pn++ {
20382044
nn, err := rd.ReadArrayLen()
20392045
if err != nil {
20402046
return nil, err

commands_test.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4390,6 +4390,26 @@ var _ = Describe("Commands", func() {
43904390
FirstEntry: redis.XMessage{ID: "1-0", Values: map[string]interface{}{"uno": "un"}},
43914391
LastEntry: redis.XMessage{ID: "3-0", Values: map[string]interface{}{"tres": "troix"}},
43924392
}))
4393+
4394+
// stream is empty
4395+
n, err := client.XDel(ctx, "stream", "1-0", "2-0", "3-0").Result()
4396+
Expect(err).NotTo(HaveOccurred())
4397+
Expect(n).To(Equal(int64(3)))
4398+
4399+
res, err = client.XInfoStream(ctx, "stream").Result()
4400+
Expect(err).NotTo(HaveOccurred())
4401+
res.RadixTreeKeys = 0
4402+
res.RadixTreeNodes = 0
4403+
4404+
Expect(res).To(Equal(&redis.XInfoStream{
4405+
Length: 0,
4406+
RadixTreeKeys: 0,
4407+
RadixTreeNodes: 0,
4408+
Groups: 2,
4409+
LastGeneratedID: "3-0",
4410+
FirstEntry: redis.XMessage{},
4411+
LastEntry: redis.XMessage{},
4412+
}))
43934413
})
43944414

43954415
It("should XINFO STREAM FULL", func() {

0 commit comments

Comments
 (0)