From 987d26c20b3a1345da2ef24b154845d7b5f714c8 Mon Sep 17 00:00:00 2001 From: DanB Date: Thu, 18 Aug 2016 21:15:41 +0200 Subject: [PATCH] Fix for precaching RL rules --- engine/storage_redis.go | 8 ++++++++ general_tests/rpcclient_it_test.go | 12 ++++++++++++ 2 files changed, 20 insertions(+) diff --git a/engine/storage_redis.go b/engine/storage_redis.go index 12a025ba4..644381ff1 100644 --- a/engine/storage_redis.go +++ b/engine/storage_redis.go @@ -183,6 +183,14 @@ func (rs *RedisStorage) PreloadCacheForPrefix(prefix string) error { return err } } + case utils.ResourceLimitsPrefix: + for _, key := range keyList { + _, err = rs.GetResourceLimit(key[len(utils.ResourceLimitsPrefix):], true) + if err != nil { + cache2go.RollbackTransaction() + return err + } + } default: return utils.ErrInvalidKey } diff --git a/general_tests/rpcclient_it_test.go b/general_tests/rpcclient_it_test.go index d84ea15cf..997acec4b 100644 --- a/general_tests/rpcclient_it_test.go +++ b/general_tests/rpcclient_it_test.go @@ -202,6 +202,18 @@ func TestRPCITDirectedRPC(t *testing.T) { } } +func TestRPCITTimeout(t *testing.T) { + if !*testIntegration { + return + } + var status map[string]interface{} + if err := rpcPoolFirst.Call("Responder.Status", "3s", &status); err == nil { + t.Error("Expecting timeout") + } else { + t.Error(err) + } +} + // Special tests involving remote server (manually set) // The server network will be manually disconnected without TCP close func TestRPCITRmtRpcConnPool(t *testing.T) {