Skip to content

Commit e5aab96

Browse files
committed
Added labels and updated log level
1 parent f5ca942 commit e5aab96

18 files changed

+187
-174
lines changed

batch_delete_policy.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -133,15 +133,15 @@ func (bdp *BatchDeletePolicy) mapDynamic(dynConfig *DynConfig) *BatchDeletePolic
133133
if dynConfig.config.Dynamic.BatchDelete.DurableDelete != nil {
134134
configValue := *dynConfig.config.Dynamic.BatchDelete.DurableDelete
135135
bdp.DurableDelete = configValue
136-
if dynConfig.configInitialized.Load() {
137-
logger.Logger.Info("DurableDelete set to %t", configValue)
136+
if dynConfig.logUpdate.Load() {
137+
logger.Logger.Debug("DurableDelete set to %t", configValue)
138138
}
139139
}
140140
if dynConfig.config.Dynamic.BatchDelete.SendKey != nil {
141141
configValue := *dynConfig.config.Dynamic.BatchDelete.SendKey
142142
bdp.SendKey = configValue
143-
if dynConfig.configInitialized.Load() {
144-
logger.Logger.Info("SendKey set to %t", configValue)
143+
if dynConfig.logUpdate.Load() {
144+
logger.Logger.Debug("SendKey set to %t", configValue)
145145
}
146146
}
147147
}

batch_policy.go

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -170,64 +170,64 @@ func (p *BatchPolicy) mapDynamic(dynConfig *DynConfig) *BatchPolicy {
170170
if dynConfig.config.Dynamic.BatchRead.ReadModeAp != nil {
171171
configValue := mapReadModeAPToReadModeAP(*dynConfig.config.Dynamic.BatchRead.ReadModeAp)
172172
p.ReadModeAP = configValue
173-
if dynConfig.configInitialized.Load() {
174-
logger.Logger.Info("ReadModeAP set to %s", configValue.String())
173+
if dynConfig.logUpdate.Load() {
174+
logger.Logger.Debug("ReadModeAP set to %s", configValue.String())
175175
}
176176
}
177177
if dynConfig.config.Dynamic.BatchRead.ReadModeSc != nil {
178178
configValue := mapReadModeSCToReadModeSC(*dynConfig.config.Dynamic.BatchRead.ReadModeSc)
179179
p.ReadModeSC = configValue
180-
if dynConfig.configInitialized.Load() {
181-
logger.Logger.Info("ReadModeSC set to %s", configValue.String())
180+
if dynConfig.logUpdate.Load() {
181+
logger.Logger.Debug("ReadModeSC set to %s", configValue.String())
182182
}
183183
}
184184
if dynConfig.config.Dynamic.BatchRead.TotalTimeout != nil {
185185
configValue := time.Duration(*dynConfig.config.Dynamic.BatchRead.TotalTimeout) * time.Millisecond
186186
p.TotalTimeout = configValue
187-
if dynConfig.configInitialized.Load() {
188-
logger.Logger.Info("TotalTimeout set to %s", configValue.String())
187+
if dynConfig.logUpdate.Load() {
188+
logger.Logger.Debug("TotalTimeout set to %s", configValue.String())
189189
}
190190
}
191191
if dynConfig.config.Dynamic.BatchRead.SocketTimeout != nil {
192192
configValue := time.Duration(*dynConfig.config.Dynamic.BatchRead.SocketTimeout) * time.Millisecond
193193
p.SocketTimeout = configValue
194-
if dynConfig.configInitialized.Load() {
195-
logger.Logger.Info("SocketTimeout set to %s", configValue.String())
194+
if dynConfig.logUpdate.Load() {
195+
logger.Logger.Debug("SocketTimeout set to %s", configValue.String())
196196
}
197197
}
198198
if dynConfig.config.Dynamic.BatchRead.MaxRetries != nil {
199199
configValue := *dynConfig.config.Dynamic.BatchRead.MaxRetries
200200
p.MaxRetries = configValue
201-
if dynConfig.configInitialized.Load() {
202-
logger.Logger.Info("MaxRetries set to %d", configValue)
201+
if dynConfig.logUpdate.Load() {
202+
logger.Logger.Debug("MaxRetries set to %d", configValue)
203203
}
204204
}
205205
if dynConfig.config.Dynamic.BatchRead.SleepBetweenRetries != nil {
206206
configValue := time.Duration(*dynConfig.config.Dynamic.BatchRead.SleepBetweenRetries) * time.Millisecond
207207
p.SleepBetweenRetries = configValue
208-
if dynConfig.configInitialized.Load() {
209-
logger.Logger.Info("SleepBetweenRetries set to %s", configValue.String())
208+
if dynConfig.logUpdate.Load() {
209+
logger.Logger.Debug("SleepBetweenRetries set to %s", configValue.String())
210210
}
211211
}
212212
if dynConfig.config.Dynamic.BatchRead.AllowInline != nil {
213213
configValue := *dynConfig.config.Dynamic.BatchRead.AllowInline
214214
p.AllowInline = configValue
215-
if dynConfig.configInitialized.Load() {
216-
logger.Logger.Info("AllowInline set to %t", configValue)
215+
if dynConfig.logUpdate.Load() {
216+
logger.Logger.Debug("AllowInline set to %t", configValue)
217217
}
218218
}
219219
if dynConfig.config.Dynamic.BatchRead.AllowInlineSSD != nil {
220220
configValue := *dynConfig.config.Dynamic.BatchRead.AllowInlineSSD
221221
p.AllowInlineSSD = configValue
222-
if dynConfig.configInitialized.Load() {
223-
logger.Logger.Info("AllowInlineSSD set to %t", configValue)
222+
if dynConfig.logUpdate.Load() {
223+
logger.Logger.Debug("AllowInlineSSD set to %t", configValue)
224224
}
225225
}
226226
if dynConfig.config.Dynamic.BatchRead.RespondAllKeys != nil {
227227
configValue := *dynConfig.config.Dynamic.BatchRead.RespondAllKeys
228228
p.RespondAllKeys = configValue
229-
if dynConfig.configInitialized.Load() {
230-
logger.Logger.Info("RespondAllKeys set to %t", configValue)
229+
if dynConfig.logUpdate.Load() {
230+
logger.Logger.Debug("RespondAllKeys set to %t", configValue)
231231
}
232232
}
233233
}

batch_read_policy.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,15 +116,15 @@ func (brp *BatchReadPolicy) mapDynamic(dynConfig *DynConfig) *BatchReadPolicy {
116116
if dynConfig.config.Dynamic.BatchRead.ReadModeAp != nil {
117117
configValue := mapReadModeAPToReadModeAP(*dynConfig.config.Dynamic.BatchRead.ReadModeAp)
118118
brp.ReadModeAP = configValue
119-
if dynConfig.configInitialized.Load() {
120-
logger.Logger.Info("ReadModeAP set to %s", configValue.String())
119+
if dynConfig.logUpdate.Load() {
120+
logger.Logger.Debug("ReadModeAP set to %s", configValue.String())
121121
}
122122
}
123123
if dynConfig.config.Dynamic.BatchRead.ReadModeSc != nil {
124124
configValue := mapReadModeSCToReadModeSC(*dynConfig.config.Dynamic.BatchRead.ReadModeSc)
125125
brp.ReadModeSC = configValue
126-
if dynConfig.configInitialized.Load() {
127-
logger.Logger.Info("ReadModeSC set to %s", configValue.String())
126+
if dynConfig.logUpdate.Load() {
127+
logger.Logger.Debug("ReadModeSC set to %s", configValue.String())
128128
}
129129
}
130130
}

batch_udf_policy.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,15 +140,15 @@ func (bup *BatchUDFPolicy) mapDynamic(dynConfig *DynConfig) *BatchUDFPolicy {
140140
if dynConfig.config.Dynamic.BatchUdf.DurableDelete != nil {
141141
configValue := *dynConfig.config.Dynamic.BatchUdf.DurableDelete
142142
bup.DurableDelete = configValue
143-
if dynConfig.configInitialized.Load() {
144-
logger.Logger.Info("DurableDelete set to %t", configValue)
143+
if dynConfig.logUpdate.Load() {
144+
logger.Logger.Debug("DurableDelete set to %t", configValue)
145145
}
146146
}
147147
if dynConfig.config.Dynamic.BatchUdf.SendKey != nil {
148148
configValue := *dynConfig.config.Dynamic.BatchUdf.SendKey
149149
bup.SendKey = configValue
150-
if dynConfig.configInitialized.Load() {
151-
logger.Logger.Info("SendKey set to %t", configValue)
150+
if dynConfig.logUpdate.Load() {
151+
logger.Logger.Debug("SendKey set to %t", configValue)
152152
}
153153
}
154154
}

batch_write_policy.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,15 +158,15 @@ func (bwp *BatchWritePolicy) mapDynamic(dynConfig *DynConfig) *BatchWritePolicy
158158
if dynConfig.config.Dynamic.BatchWrite.DurableDelete != nil {
159159
configValue := *dynConfig.config.Dynamic.BatchWrite.DurableDelete
160160
bwp.DurableDelete = configValue
161-
if dynConfig.configInitialized.Load() {
162-
logger.Logger.Info("DurableDelete set to %t", configValue)
161+
if dynConfig.logUpdate.Load() {
162+
logger.Logger.Debug("DurableDelete set to %t", configValue)
163163
}
164164
}
165165
if dynConfig.config.Dynamic.BatchWrite.SendKey != nil {
166166
configValue := *dynConfig.config.Dynamic.BatchWrite.SendKey
167167
bwp.SendKey = configValue
168-
if dynConfig.configInitialized.Load() {
169-
logger.Logger.Info("SendKey set to %t", configValue)
168+
if dynConfig.logUpdate.Load() {
169+
logger.Logger.Debug("SendKey set to %t", configValue)
170170
}
171171
}
172172
}

client_policy.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -264,63 +264,63 @@ func (cp *ClientPolicy) mapDynamic(dynConfig *DynConfig) *ClientPolicy {
264264
if dynConfig.config.Dynamic.Client.IdleTimeout != nil {
265265
configValue := time.Duration(*dynConfig.config.Dynamic.Client.IdleTimeout) * time.Second
266266
cp.IdleTimeout = configValue
267-
if dynConfig.configInitialized.Load() {
267+
if dynConfig.logUpdate.Load() {
268268
logger.Logger.Info("IdleTimeout set to %s", configValue.String())
269269
}
270270
}
271271
if dynConfig.config.Dynamic.Client.Timeout != nil {
272272
configValue := time.Duration(*dynConfig.config.Dynamic.Client.Timeout) * time.Millisecond
273273
cp.Timeout = configValue
274-
if dynConfig.configInitialized.Load() {
274+
if dynConfig.logUpdate.Load() {
275275
logger.Logger.Info("Timeout set to %s", configValue.String())
276276
}
277277
}
278278
if dynConfig.config.Dynamic.Client.ErrorRateWindow != nil {
279279
configValue := *dynConfig.config.Dynamic.Client.ErrorRateWindow
280280
cp.ErrorRateWindow = configValue
281-
if dynConfig.configInitialized.Load() {
281+
if dynConfig.logUpdate.Load() {
282282
logger.Logger.Info("ErrorRateWindow set to %d", configValue)
283283
}
284284
}
285285
if dynConfig.config.Dynamic.Client.MaxErrorRate != nil {
286286
configValue := *dynConfig.config.Dynamic.Client.MaxErrorRate
287287
cp.MaxErrorRate = configValue
288-
if dynConfig.configInitialized.Load() {
288+
if dynConfig.logUpdate.Load() {
289289
logger.Logger.Info("MaxErrorRate set to %d", configValue)
290290
}
291291
}
292292
if dynConfig.config.Dynamic.Client.LoginTimeout != nil {
293293
configValue := time.Duration(*dynConfig.config.Dynamic.Client.LoginTimeout) * time.Millisecond
294294
cp.LoginTimeout = configValue
295-
if dynConfig.configInitialized.Load() {
295+
if dynConfig.logUpdate.Load() {
296296
logger.Logger.Info("LoginTimeout set to %s", configValue.String())
297297
}
298298
}
299299
if dynConfig.config.Dynamic.Client.RackAware != nil {
300300
configValue := *dynConfig.config.Dynamic.Client.RackAware
301301
cp.RackAware = configValue
302-
if dynConfig.configInitialized.Load() {
302+
if dynConfig.logUpdate.Load() {
303303
logger.Logger.Info("RackAware set to %t", configValue)
304304
}
305305
}
306306
if dynConfig.config.Dynamic.Client.RackIds != nil {
307307
configValue := *dynConfig.config.Dynamic.Client.RackIds
308308
cp.RackIds = configValue
309-
if dynConfig.configInitialized.Load() {
309+
if dynConfig.logUpdate.Load() {
310310
logger.Logger.Info("RackIds set to %v", configValue)
311311
}
312312
}
313313
if dynConfig.config.Dynamic.Client.TendInterval != nil {
314314
configValue := time.Duration(*dynConfig.config.Dynamic.Client.TendInterval) * time.Millisecond
315315
cp.TendInterval = configValue
316-
if dynConfig.configInitialized.Load() {
316+
if dynConfig.logUpdate.Load() {
317317
logger.Logger.Info("TendInterval set to %s", configValue.String())
318318
}
319319
}
320320
if dynConfig.config.Dynamic.Client.UseServiceAlternate != nil {
321321
configValue := *dynConfig.config.Dynamic.Client.UseServiceAlternate
322322
cp.UseServicesAlternate = configValue
323-
if dynConfig.configInitialized.Load() {
323+
if dynConfig.logUpdate.Load() {
324324
logger.Logger.Info("UseServicesAlternate set to %t", configValue)
325325
}
326326
}

cluster.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
package aerospike
1616

1717
import (
18+
"maps"
1819
"fmt"
1920
"net"
2021
"runtime/debug"
@@ -1036,13 +1037,7 @@ func (clstr *Cluster) getNodeLabels(metricPolicy *MetricsPolicy) *Labels {
10361037
}
10371038

10381039
// Merging user labels with node labels
1039-
if userLabels != nil && userLabels.Labels != nil {
1040-
for _, userLabel := range *userLabels.Labels {
1041-
for k, v := range userLabel {
1042-
entries[k] = v
1043-
}
1044-
}
1045-
}
1040+
maps.Copy(entries, userLabels.Labels)
10461041

10471042
// Reserved label names for the client
10481043
entries["node"] = nodes[node].GetName()

config.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,9 @@ type DynConfig struct {
4545

4646
metricsCallback func(config *dynconfig.Config, client *Client)
4747

48-
scheme string
49-
dsn string
48+
scheme string
49+
dsn string
50+
logUpdate *atomic.Bool
5051
}
5152

5253
func parseDsn(inputDsn string) map[string]string {
@@ -105,7 +106,9 @@ func newDynConfigWithCallBack(policy *ClientPolicy, fn func(config *dynconfig.Co
105106
scheme: schema,
106107
dsn: urlPath,
107108
configProvider: provider,
109+
logUpdate: &atomic.Bool{},
108110
}
111+
dynConfig.logUpdate.Store(false)
109112
dynConfig.initConfig()
110113

111114
dynConfig.wgConfig.Add(1)
@@ -144,13 +147,17 @@ func (dc *DynConfig) runCallBack() {
144147
func (dc *DynConfig) providerLoadConfig() {
145148
loadedConfig := dc.configProvider.LoadConfig(dc.dsn)
146149
if loadedConfig != nil {
150+
// If the config is updated we need to log changes
151+
dc.logUpdate.Store(true)
147152
if dc.config.Dynamic == nil {
148153
logger.Logger.Warn("Dynamic configuration is enabled and configuration is empty. Configuration will load default policy values.")
149154
}
150155

151156
dc.config.Dynamic = loadedConfig.Dynamic // This is updating the entire dynamic config object
152157

153158
dc.hydrateDynamicPolicyFromConfig()
159+
// Once policies are hydrated we can turn logging off
160+
dc.logUpdate.Store(false)
154161
logger.Logger.Info("Dynamic configuration updated internal state from provider.")
155162
}
156163
}
@@ -168,6 +175,7 @@ func (dc *DynConfig) initConfig() {
168175
}
169176

170177
dc.configInitialized.Store(true)
178+
dc.logUpdate.Store(false)
171179
logger.Logger.Info("Dynamic configuration initialized...")
172180
}
173181
}

config/dynconfig.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -183,9 +183,10 @@ type TxnVerify struct {
183183
}
184184

185185
type Metrics struct {
186-
Enable *bool `yaml:"enable"`
187-
LatencyColumns *int `yaml:"latency_columns"`
188-
LatencyBase *int `yaml:"latency_base"`
186+
Enable *bool `yaml:"enable"`
187+
LatencyColumns *int `yaml:"latency_columns"`
188+
LatencyBase *int `yaml:"latency_base"`
189+
Labels *map[string]string `yaml:"labels"`
189190
}
190191

191192
// ----------------------------------------------------------------

metadata_policy.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
package aerospike
22

3+
import "maps"
4+
35
type Labels struct {
4-
Labels *[]map[string]string
6+
Labels map[string]string // Labels is a slice of maps, where each map represents a set of labels.
57
}
68

79
func NewLabels(pairs ...map[string]string) *Labels {
8-
labels := make([]map[string]string, 0)
10+
labels := make(map[string]string, 0)
911
for _, pairMap := range pairs {
1012
if pairMap != nil || len(pairMap) > 0 {
11-
labels = append(labels, pairMap)
13+
maps.Copy(labels, pairMap)
1214
}
1315
}
1416

1517
mp := Labels{
16-
Labels: &labels,
18+
Labels: labels,
1719
}
1820
return &mp
1921
}

0 commit comments

Comments
 (0)