Commit 07ba609b authored by Walter Fender's avatar Walter Fender

Fix local cluster leaking memory.

Local cluster is leaking memory due to mutation detector being enabled. In addition there is no warning in the logs that this could be the issue. Added a log warning when this feature is enabled to make debugging this issue easier for other cases of this. Fixed import ordering as per @liggitt
parent 86ca3afb
...@@ -90,8 +90,9 @@ AUTH_ARGS=${AUTH_ARGS:-""} ...@@ -90,8 +90,9 @@ AUTH_ARGS=${AUTH_ARGS:-""}
# Install a default storage class (enabled by default) # Install a default storage class (enabled by default)
DEFAULT_STORAGE_CLASS=${KUBE_DEFAULT_STORAGE_CLASS:-true} DEFAULT_STORAGE_CLASS=${KUBE_DEFAULT_STORAGE_CLASS:-true}
# start the cache mutation detector by default so that cache mutators will be found # Do not run the mutation detector by default on a local cluster.
KUBE_CACHE_MUTATION_DETECTOR="${KUBE_CACHE_MUTATION_DETECTOR:-true}" # It is intended for a specific type of testing and inherently leaks memory.
KUBE_CACHE_MUTATION_DETECTOR="${KUBE_CACHE_MUTATION_DETECTOR:-false}"
export KUBE_CACHE_MUTATION_DETECTOR export KUBE_CACHE_MUTATION_DETECTOR
# panic the server on watch decode errors since they are considered coder mistakes # panic the server on watch decode errors since they are considered coder mistakes
...@@ -1037,4 +1038,4 @@ if [[ "${KUBETEST_IN_DOCKER:-}" == "true" ]]; then ...@@ -1037,4 +1038,4 @@ if [[ "${KUBETEST_IN_DOCKER:-}" == "true" ]]; then
cluster/kubectl.sh config set-credentials myself --client-key=/var/run/kubernetes/client-admin.key --client-certificate=/var/run/kubernetes/client-admin.crt cluster/kubectl.sh config set-credentials myself --client-key=/var/run/kubernetes/client-admin.key --client-certificate=/var/run/kubernetes/client-admin.crt
cluster/kubectl.sh config set-context local --cluster=local --user=myself cluster/kubectl.sh config set-context local --cluster=local --user=myself
cluster/kubectl.sh config use-context local cluster/kubectl.sh config use-context local
fi fi
\ No newline at end of file
...@@ -24,6 +24,8 @@ import ( ...@@ -24,6 +24,8 @@ import (
"sync" "sync"
"time" "time"
"github.com/golang/glog"
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/diff" "k8s.io/apimachinery/pkg/util/diff"
) )
...@@ -43,6 +45,7 @@ func NewCacheMutationDetector(name string) CacheMutationDetector { ...@@ -43,6 +45,7 @@ func NewCacheMutationDetector(name string) CacheMutationDetector {
if !mutationDetectionEnabled { if !mutationDetectionEnabled {
return dummyMutationDetector{} return dummyMutationDetector{}
} }
glog.Warningln("Mutation detector is enabled, this will result in memory leakage.")
return &defaultCacheMutationDetector{name: name, period: 1 * time.Second} return &defaultCacheMutationDetector{name: name, period: 1 * time.Second}
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment