Skip to content

Commit 24d65bc

Browse files
committed
revert closer changes
1 parent d8f31c5 commit 24d65bc

File tree

1 file changed

+7
-15
lines changed

1 file changed

+7
-15
lines changed

storage/operation/reads.go

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ func TraverseByPrefix(r storage.Reader, prefix []byte, iterFunc IterationFunc, o
130130
// When this returned function is executed (and only then), it will write into the `keyExists` whether
131131
// the key exists.
132132
// No errors are expected during normal operation.
133-
func KeyExists(r storage.Reader, key []byte) (exist bool, errExit error) {
133+
func KeyExists(r storage.Reader, key []byte) (bool, error) {
134134
_, closer, err := r.Get(key)
135135
if err != nil {
136136
// the key does not exist in the database
@@ -140,9 +140,7 @@ func KeyExists(r storage.Reader, key []byte) (exist bool, errExit error) {
140140
// exception while checking for the key
141141
return false, irrecoverable.NewExceptionf("could not load data: %w", err)
142142
}
143-
defer func() {
144-
errExit = closer.Close()
145-
}()
143+
defer closer.Close()
146144

147145
// the key does exist in the database
148146
return true, nil
@@ -155,15 +153,13 @@ func KeyExists(r storage.Reader, key []byte) (exist bool, errExit error) {
155153
// - storage.ErrNotFound if the key does not exist in the database
156154
// - generic error in case of unexpected failure from the database layer, or failure
157155
// to decode an existing database value
158-
func RetrieveByKey(r storage.Reader, key []byte, entity interface{}) (errExit error) {
156+
func RetrieveByKey(r storage.Reader, key []byte, entity interface{}) error {
159157
val, closer, err := r.Get(key)
160158
if err != nil {
161159
return err
162160
}
163161

164-
defer func() {
165-
errExit = closer.Close()
166-
}()
162+
defer closer.Close()
167163

168164
err = msgpack.Unmarshal(val, entity)
169165
if err != nil {
@@ -176,7 +172,7 @@ func RetrieveByKey(r storage.Reader, key []byte, entity interface{}) (errExit er
176172
// keys with the format prefix` + `height` (where "+" denotes concatenation of binary strings). The height
177173
// is encoded as Big-Endian (entries with numerically smaller height have lexicographically smaller key).
178174
// The function finds the *highest* key with the given prefix and height equal to or below the given height.
179-
func FindHighestAtOrBelowByPrefix(r storage.Reader, prefix []byte, height uint64, entity interface{}) (errExit error) {
175+
func FindHighestAtOrBelowByPrefix(r storage.Reader, prefix []byte, height uint64, entity interface{}) error {
180176
if len(prefix) == 0 {
181177
return fmt.Errorf("prefix must not be empty")
182178
}
@@ -186,9 +182,7 @@ func FindHighestAtOrBelowByPrefix(r storage.Reader, prefix []byte, height uint64
186182
if err != nil {
187183
return fmt.Errorf("can not create iterator: %w", err)
188184
}
189-
defer func() {
190-
errExit = it.Close()
191-
}()
185+
defer it.Close()
192186

193187
var highestKey []byte
194188

@@ -209,9 +203,7 @@ func FindHighestAtOrBelowByPrefix(r storage.Reader, prefix []byte, height uint64
209203
return err
210204
}
211205

212-
defer func() {
213-
errExit = closer.Close()
214-
}()
206+
defer closer.Close()
215207

216208
err = msgpack.Unmarshal(val, entity)
217209
if err != nil {

0 commit comments

Comments
 (0)