@@ -2,11 +2,10 @@ package zcache
2
2
3
3
import (
4
4
"context"
5
- "fmt"
6
5
"github.com/allegro/bigcache/v3"
7
6
"github.com/go-redis/redis/v8"
7
+ "github.com/zondax/golem/pkg/logger"
8
8
"github.com/zondax/golem/pkg/metrics"
9
- "go.uber.org/zap"
10
9
"time"
11
10
)
12
11
@@ -17,78 +16,77 @@ type CombinedCache interface {
17
16
type combinedCache struct {
18
17
localCache LocalCache
19
18
remoteCache RemoteCache
20
- logger * zap .Logger
19
+ logger * logger .Logger
21
20
isRemoteBestEffort bool
22
21
metricsServer metrics.TaskMetrics
23
- appName string
24
22
}
25
23
26
24
func (c * combinedCache ) Set (ctx context.Context , key string , value interface {}, ttl time.Duration ) error {
27
- c .logger .Sugar (). Debugf ("set key on combined cache, key: [%s]" , key )
25
+ c .logger .Debugf ("set key on combined cache, key: [%s]" , key )
28
26
29
27
if err := c .remoteCache .Set (ctx , key , value , ttl ); err != nil {
30
- c .logger .Sugar (). Errorf ("error setting key on combined/remote cache, key: [%s], err: %s" , key , err )
28
+ c .logger .Errorf ("error setting key on combined/remote cache, key: [%s], err: %s" , key , err )
31
29
if ! c .isRemoteBestEffort {
32
- c .logger .Sugar (). Debugf ("emitting error as remote best effort is false, key: [%s]" , key )
30
+ c .logger .Debugf ("emitting error as remote best effort is false, key: [%s]" , key )
33
31
return err
34
32
}
35
33
}
36
34
37
35
if err := c .localCache .Set (ctx , key , value , ttl ); err != nil {
38
- c .logger .Sugar (). Errorf ("error setting key on combined/local cache, key: [%s], err: %s" , key , err )
36
+ c .logger .Errorf ("error setting key on combined/local cache, key: [%s], err: %s" , key , err )
39
37
return err
40
38
}
41
39
return nil
42
40
}
43
41
44
42
func (c * combinedCache ) Get (ctx context.Context , key string , data interface {}) error {
45
- c .logger .Sugar (). Debugf ("get key on combined cache, key: [%s]" , key )
43
+ c .logger .Debugf ("get key on combined cache, key: [%s]" , key )
46
44
47
45
err := c .localCache .Get (ctx , key , data )
48
46
if err != nil {
49
47
if c .localCache .IsNotFoundError (err ) {
50
- c .logger .Sugar (). Debugf ("key not found on combined/local cache, key: [%s]" , key )
48
+ c .logger .Debugf ("key not found on combined/local cache, key: [%s]" , key )
51
49
} else {
52
- c .logger .Sugar (). Debugf ("error getting key on combined/local cache, key: [%s], err: %s" , key , err )
50
+ c .logger .Debugf ("error getting key on combined/local cache, key: [%s], err: %s" , key , err )
53
51
}
54
52
55
53
if err := c .remoteCache .Get (ctx , key , data ); err != nil {
56
54
if c .remoteCache .IsNotFoundError (err ) {
57
- c .logger .Sugar (). Debugf ("key not found on combined/remote cache, key: [%s]" , key )
55
+ c .logger .Debugf ("key not found on combined/remote cache, key: [%s]" , key )
58
56
} else {
59
- c .logger .Sugar (). Debugf ("error getting key on combined/remote cache, key: [%s], err: %s" , key , err )
57
+ c .logger .Debugf ("error getting key on combined/remote cache, key: [%s], err: %s" , key , err )
60
58
}
61
59
62
60
return err
63
61
}
64
62
65
- c .logger .Sugar (). Debugf ("set value found on remote cache in the local cache, key: [%s]" , key )
63
+ c .logger .Debugf ("set value found on remote cache in the local cache, key: [%s]" , key )
66
64
ttl , ttlErr := c .remoteCache .TTL (ctx , key )
67
65
68
66
// Refresh data TTL on both caches
69
67
if ttlErr == nil {
70
68
_ = c .localCache .Set (ctx , key , data , ttl )
71
69
} else {
72
- c .logger .Sugar (). Errorf ("error getting TTL for key [%s] from remote cache, err: %s" , key , ttlErr )
70
+ c .logger .Errorf ("error getting TTL for key [%s] from remote cache, err: %s" , key , ttlErr )
73
71
}
74
72
}
75
73
76
74
return nil
77
75
}
78
76
79
77
func (c * combinedCache ) Delete (ctx context.Context , key string ) error {
80
- c .logger .Sugar (). Debugf ("delete key on combined cache, key: [%s]" , key )
78
+ c .logger .Debugf ("delete key on combined cache, key: [%s]" , key )
81
79
err2 := c .remoteCache .Delete (ctx , key )
82
80
if err2 != nil {
83
- c .logger .Sugar (). Errorf ("error deleting key on combined/remote cache, key: [%s], err: %s" , key , err2 )
81
+ c .logger .Errorf ("error deleting key on combined/remote cache, key: [%s], err: %s" , key , err2 )
84
82
if ! c .isRemoteBestEffort {
85
- c .logger .Sugar (). Debugf ("emitting error as remote best effort is false, key: [%s]" )
83
+ c .logger .Debugf ("emitting error as remote best effort is false, key: [%s]" )
86
84
return err2
87
85
}
88
86
}
89
87
90
88
if err1 := c .localCache .Delete (ctx , key ); err1 != nil {
91
- c .logger .Sugar (). Errorf ("error deleting key on combined/local cache, key: [%s], err: %s" , key , err1 )
89
+ c .logger .Errorf ("error deleting key on combined/local cache, key: [%s], err: %s" , key , err1 )
92
90
return err1
93
91
}
94
92
@@ -110,20 +108,6 @@ func (c *combinedCache) IsNotFoundError(err error) bool {
110
108
return c .remoteCache .IsNotFoundError (err ) || c .localCache .IsNotFoundError (err )
111
109
}
112
110
113
- func (c * combinedCache ) SetupAndMonitorMetrics (appName string , metricsServer metrics.TaskMetrics , updateInterval time.Duration ) []error {
114
- c .metricsServer = metricsServer
115
- c .appName = appName
116
-
117
- errs := setupAndMonitorCacheMetrics (appName , metricsServer , c , updateInterval )
118
- errs = append (errs , c .registerInternalCacheMetrics ()... )
119
-
120
- return errs
121
- }
122
-
123
- func (c * combinedCache ) registerInternalCacheMetrics () []error {
124
- if c .metricsServer == nil {
125
- return []error {fmt .Errorf ("metrics server not available" )}
126
- }
127
-
128
- return []error {}
111
+ func (c * combinedCache ) setupAndMonitorMetrics (updateInterval time.Duration ) {
112
+ setupAndMonitorCacheMetrics (c .metricsServer , c , c .logger , updateInterval )
129
113
}
0 commit comments