Use latest function metadata to check cached function service. (#316)

Watch functions in the router and use that to trigger functionReferenceResolver cache invalidation.

We might want to rate-limit syncTriggers in a future change, since we might be triggering it more often than needed.
This commit is contained in:
Ta-Ching Chen
2017-09-08 13:53:02 -07:00
committed by Soam Vasani
parent 45c766061a
commit 9d7bd49338
4 changed files with 124 additions and 0 deletions
+18
View File
@@ -116,3 +116,21 @@ func (frr *functionReferenceResolver) resolveByName(namespace, name string) (*re
}
return &rr, nil
}
func (frr *functionReferenceResolver) delete(namespace string, fr *fission.FunctionReference) error {
nfr := namespacedFunctionReference{
namespace: namespace,
functionReference: *fr,
}
return frr.refCache.Delete(nfr)
}
func (frr *functionReferenceResolver) copy() map[namespacedFunctionReference]resolveResult {
cache := make(map[namespacedFunctionReference]resolveResult)
for k, v := range frr.refCache.Copy() {
key := k.(namespacedFunctionReference)
val := v.(resolveResult)
cache[key] = val
}
return cache
}