You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In a long running service I create multiple gfapi.Volume objects to ensure the service does not stop functioning if a singleton instance disconnects. This causes a problem as the service sonsumes memory over time and is eventually OOM killed.
To Replicate the issue
1. The following files are created in a directory:
Dockerfile
FROM gluster/glusterfs-client AS builder
RUN yum -y update
RUN yum install -y glusterfs-api glusterfs-api-devel glusterfs-fuse gcc
RUN yum -y install valgrind
RUN curl -k https://dl.google.com/go/go1.15.3.linux-amd64.tar.gz | tar xz -C /usr/local
ENV PATH=/usr/local/go/bin:$PATH
Issue
In a long running service I create multiple gfapi.Volume objects to ensure the service does not stop functioning if a singleton instance disconnects. This causes a problem as the service sonsumes memory over time and is eventually OOM killed.
To Replicate the issue
1. The following files are created in a directory:
Dockerfile
docker-compose.yml
main.go
2. Start the environment
In a terminal in the folder run the following to start the glusterfs server and a build environment
3. Run valgrind
In the builder terminal run the following commands to build the binary file and generate reports using valgrind memcheck module:
go build -o test valgrind --log-file=log50.txt --leak-check=full ./test -n 50 valgrind --log-file=log100.txt --leak-check=full ./test -n 100
Observed Behaviour
There is a linear growth in memory leaks reported as the number of iterations is increased.
The text was updated successfully, but these errors were encountered: