-
Notifications
You must be signed in to change notification settings - Fork 261
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reports of browsers running out of memory when tailing log files in UI #7156
Comments
I work for one of your customers that's reported this issue. I can replicate this issue within a minute or less when viewing logs for a very busy pod (nginx ingress for example). But just so that it's noted, I can login and never look at a log, and eventually the browser tab will crash from high memory usage. So it's not specific to log viewing. |
Based on additional feedback with @Sean-McQ observing behaviour, other pages such as v1 Project Monitoring, Deployments and Pods are seeing this memory usage too. Determining if we have to spawn separate tickets per page or be more generic here. 2.6.9 does offer some improvement but we have more digging to do. |
Some connection to #7247 |
✅ PASSEDReproduction Environment
🚨 Additional Reproduction Setup Details: Click to ExpandDocker Rancher install setup with Terraform: https://github.com/brudnak/linode-docker-cattle Reproduction steps
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
workload.user.cattle.io/workloadselector: apps.deployment-default-test-logs
name: test-logs
namespace: default
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
workload.user.cattle.io/workloadselector: apps.deployment-default-test-logs
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
workload.user.cattle.io/workloadselector: apps.deployment-default-test-logs
spec:
affinity: {}
containers:
- args:
- 'i=0; while true; do echo "$i: $(date)"; i=$((i+1)); sleep .001; done'
command:
- /bin/sh
- -c
image: busybox
imagePullPolicy: Always
name: fast
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
- args:
- 'i=0; while true; do echo "$i: $(date)"; i=$((i+1)); sleep 1; done'
command:
- /bin/sh
- -c
image: busybox
imagePullPolicy: Always
name: slower
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
- args:
- 'i=0; while true; do echo "$i: $(date)"; i=$((i+1)); sleep 10; done'
command:
- /bin/sh
- -c
image: busybox
imagePullPolicy: Always
name: sloooow
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
vim deploy.yml
# paste above yaml into file and exit vim
kubectl apply -f deploy.yml
Additional InfoRESULTS✅ ExpectedFor the Rancher UI to continue running without any issues ❌ ActualThe UI became unusable after ~20 minutes.
Validation Environment
🚨 Additional Reproduction Setup Details: Click to ExpandDocker Rancher install setup with Terraform: https://github.com/brudnak/linode-docker-cattle Validation steps
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
workload.user.cattle.io/workloadselector: apps.deployment-default-test-logs
name: test-logs
namespace: default
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
workload.user.cattle.io/workloadselector: apps.deployment-default-test-logs
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
workload.user.cattle.io/workloadselector: apps.deployment-default-test-logs
spec:
affinity: {}
containers:
- args:
- 'i=0; while true; do echo "$i: $(date)"; i=$((i+1)); sleep .001; done'
command:
- /bin/sh
- -c
image: busybox
imagePullPolicy: Always
name: fast
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
- args:
- 'i=0; while true; do echo "$i: $(date)"; i=$((i+1)); sleep 1; done'
command:
- /bin/sh
- -c
image: busybox
imagePullPolicy: Always
name: slower
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
- args:
- 'i=0; while true; do echo "$i: $(date)"; i=$((i+1)); sleep 10; done'
command:
- /bin/sh
- -c
image: busybox
imagePullPolicy: Always
name: sloooow
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
vim deploy.yml
# paste above yaml into file and exit vim
kubectl apply -f deploy.yml
Additional InfoRESULTS✅ ExpectedFor the Rancher UI to continue running without any issues ✅ ActualNo issues with Rancher after ~20 mins and drastically lower metrics
|
Internal reference: SURE-5383
Reported in Rancher 2.6.8.
When troubleshooting an issue involving websockets, I did get a report that was adjacent to it. When using the Vue UI to tail log files, the browser stops responding.
We'll need to see if we can repro this to narrow down what's going on. We may need busy log activity to fully reproduce.
Workaround:
Restart browser tab every few minutes, or sometimes before one minute.
The text was updated successfully, but these errors were encountered: