@@ -13,7 +13,11 @@ import (
13
13
14
14
// Set sets a value for a key.
15
15
func (ls * ListenServer ) Set (ctx context.Context , req * prototypes.SetRequest ) (resp * prototypes.SetResponse , err error ) {
16
- defer func () { ls .postCRUD (err , req .String ()) }()
16
+ defer func () {
17
+ if ls .postCRUD (err , req .String ()) != nil {
18
+ panic ("postCRUD failed" )
19
+ }
20
+ }()
17
21
18
22
// note: if request is not valid, the timestamp will not be incremented
19
23
// TODO: investigate if it is a valid behaviour.
@@ -49,7 +53,11 @@ func (ls *ListenServer) Set(ctx context.Context, req *prototypes.SetRequest) (re
49
53
50
54
// Get gets a value for a key.
51
55
func (ls * ListenServer ) Get (ctx context.Context , req * prototypes.GetRequest ) (resp * prototypes.GetResponse , err error ) {
52
- defer func () { ls .postCRUD (err , req .String ()) }()
56
+ defer func () {
57
+ if ls .postCRUD (err , req .String ()) != nil {
58
+ panic ("postCRUD failed" )
59
+ }
60
+ }()
53
61
54
62
if err = req .Validate (); err != nil {
55
63
return nil , err
@@ -86,7 +94,11 @@ func (ls *ListenServer) Get(ctx context.Context, req *prototypes.GetRequest) (re
86
94
87
95
// Delete deletes a value for a key.
88
96
func (ls * ListenServer ) Delete (ctx context.Context , req * prototypes.DeleteRequest ) (resp * prototypes.DeleteResponse , err error ) {
89
- defer func () { ls .postCRUD (err , req .String ()) }()
97
+ defer func () {
98
+ if ls .postCRUD (err , req .String ()) != nil {
99
+ panic ("postCRUD failed" )
100
+ }
101
+ }()
90
102
91
103
if err = req .Validate (); err != nil {
92
104
return nil , err
@@ -134,20 +146,20 @@ func (ls *ListenServer) SetHashrange(ctx context.Context, req *prototypes.SetHas
134
146
}
135
147
136
148
// postCRUD runs functionality that should be run after every CRUD operation.
137
- func (ls * ListenServer ) postCRUD (err error , req string ) {
149
+ func (ls * ListenServer ) postCRUD (err error , req string ) error {
138
150
// if error is a warning, log it as warning
139
151
// log error as error otherwise
140
152
if err != nil {
141
153
if eventError , ok := err .(shared.IsWarningEventError ); ok {
142
154
ls .EventHandler .Emit (eventError .WarningErrorToEvent (req ))
143
- return
155
+ return nil
144
156
}
145
157
ls .EventHandler .Emit (shared.ErrorEvent {Req : req , Err : err })
146
158
} else {
147
159
ls .IncrTs ()
148
160
}
149
161
150
- ls .ProcessBacklog ()
162
+ return ls .ProcessBacklog ()
151
163
}
152
164
153
165
func (ls * ListenServer ) validateTSGrpcLevel (ts uint64 , message proto.Message ) error {
0 commit comments