Skip to content

Commit 6f52e48

Browse files
author
Hayim.Shaul@ibm.com
committed
don't cache ids
Signed-off-by: Hayim.Shaul@ibm.com <hayimsha@fhe3.haifa.ibm.com>
1 parent 5c00e64 commit 6f52e48

File tree

1 file changed

+29
-24
lines changed

1 file changed

+29
-24
lines changed

token/services/identity/provider.go

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ import (
1212
"slices"
1313

1414
"github.com/hyperledger-labs/fabric-smart-client/pkg/utils/errors"
15-
"github.com/hyperledger-labs/fabric-smart-client/platform/common/utils/cache/secondcache"
1615
"github.com/hyperledger-labs/fabric-smart-client/platform/common/utils/collections"
1716
"github.com/hyperledger-labs/fabric-token-sdk/token/driver"
1817
idriver "github.com/hyperledger-labs/fabric-token-sdk/token/services/identity/driver"
1918
"github.com/hyperledger-labs/fabric-token-sdk/token/services/logging"
19+
cache2 "github.com/hyperledger-labs/fabric-token-sdk/token/services/utils/cache"
2020
"go.uber.org/zap/zapcore"
2121
)
2222

@@ -73,7 +73,7 @@ type Provider struct {
7373

7474
isMeCache cache[bool]
7575
signers cache[*SignerEntry]
76-
verifiers cache[*VerifierEntry]
76+
// verifiers cache[*VerifierEntry]
7777
}
7878

7979
// NewProvider creates a new identity provider implementing the driver.IdentityProvider interface.
@@ -91,9 +91,8 @@ func NewProvider(
9191
enrollmentIDUnmarshaler: enrollmentIDUnmarshaler,
9292
deserializer: deserializer,
9393
storage: storage,
94-
isMeCache: secondcache.NewTyped[bool](5000),
95-
signers: secondcache.NewTyped[*SignerEntry](5000),
96-
verifiers: secondcache.NewTyped[*VerifierEntry](5000),
94+
isMeCache: cache2.NewNoCache[bool](),
95+
signers: cache2.NewNoCache[*SignerEntry](),
9796
}
9897
}
9998

@@ -122,7 +121,6 @@ func (p *Provider) RegisterVerifier(ctx context.Context, identity driver.Identit
122121
if p.Logger.IsEnabledFor(zapcore.DebugLevel) {
123122
entry.DebugStack = debug.Stack()
124123
}
125-
p.verifiers.Add(idHash, entry)
126124
p.Logger.DebugfContext(ctx, "register verifier to [%s]:[%s]", idHash, logging.Identifier(v))
127125
return nil
128126
}
@@ -261,28 +259,39 @@ func (p *Provider) areMe(ctx context.Context, identities ...driver.Identity) []s
261259
}
262260

263261
func (p *Provider) getSigner(ctx context.Context, identity driver.Identity, idHash string) (driver.Signer, error) {
264-
// check again the cache
265-
entry, ok := p.signers.Get(idHash)
266-
if ok {
267-
p.Logger.DebugfContext(ctx, "signer for [%s] found", idHash)
268-
return entry.Signer, nil
262+
oneShow := false
263+
264+
if !oneShow {
265+
// check again the cache
266+
entry, ok := p.signers.Get(idHash)
267+
if ok {
268+
p.Logger.DebugfContext(ctx, "signer for [%s] found", idHash)
269+
return entry.Signer, nil
270+
}
271+
272+
p.Logger.DebugfContext(ctx, "signer for [%s] not found, try to deserialize", idHash)
273+
} else {
274+
p.Logger.DebugfContext(ctx, "Skipping cache for one-show id [%s]", idHash)
269275
}
270276

271-
p.Logger.DebugfContext(ctx, "signer for [%s] not found, try to deserialize", idHash)
272277
// ask the deserializer
273278
signer, err := p.deserializeSigner(ctx, identity)
274279
if err != nil {
275280
return nil, errors.Wrapf(err, "failed deserializing identity for signer [%s]", identity)
276281
}
277-
entry = &SignerEntry{Signer: signer}
278-
if p.Logger.IsEnabledFor(zapcore.DebugLevel) {
279-
entry.DebugStack = debug.Stack()
280-
}
281-
p.signers.Add(idHash, entry)
282-
if err := p.storage.StoreSignerInfo(ctx, identity, nil); err != nil {
283-
return nil, errors.Wrap(err, "failed to store entry in storage for the passed signer")
282+
283+
if !oneShow {
284+
entry := &SignerEntry{Signer: signer}
285+
if p.Logger.IsEnabledFor(zapcore.DebugLevel) {
286+
entry.DebugStack = debug.Stack()
287+
}
288+
// cache the signer
289+
p.signers.Add(idHash, entry)
290+
if err := p.storage.StoreSignerInfo(ctx, identity, nil); err != nil {
291+
return nil, errors.Wrap(err, "failed to store entry in storage for the passed signer")
292+
}
284293
}
285-
return entry.Signer, nil
294+
return signer, nil
286295
}
287296

288297
func (p *Provider) deserializeSigner(ctx context.Context, identity driver.Identity) (driver.Signer, error) {
@@ -337,9 +346,5 @@ func (p *Provider) updateCaches(descriptor *idriver.IdentityDescriptor, alias dr
337346
if p.Logger.IsEnabledFor(zapcore.DebugLevel) {
338347
entry.DebugStack = debug.Stack()
339348
}
340-
p.verifiers.Add(id, entry)
341-
if setAlias {
342-
p.verifiers.Add(aliasID, entry)
343-
}
344349
}
345350
}

0 commit comments

Comments
 (0)