adobe / adobe/frl-online-proxy

FRL docker failed every night at 3.40

Open
#44 11 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
6
Forks
8
PR merge metrics
No merged PRs in 30d

Description

**Description**
I created a FRL docker, our test server is working fine (doesn't get requests) however the production one is crashing every night at 3.40, at that time its also consuming a lot more memory. is there scheduled some thing in the service? a cleanup? i cant find anything in the logs:
[2022-06-14][03:38:01][frl_proxy::proxy][INFO] Received GET request for /status
[2022-06-14][03:38:01][frl_proxy::proxy][DEBUG] Received request headers: {"host": "localhost:8443", "user-agent": "Wget/1.21.2", "accept": "*/*", "accept-encoding": "identity", "connection": "Keep-Alive"}
[2022-06-14][03:38:01][frl_proxy::proxy][INFO] Returning status: proxyVersion: 1.2.0, message: Proxy is running
[2022-06-14][03:38:01][mio::poll][TRACE] deregistering event source from poller
[2022-06-14][03:38:31][mio::poll][TRACE] registering event source with poller: token=Token(184549378), interests=READABLE | WRITABLE
[2022-06-14][03:38:31][frl_proxy::proxy][INFO] Received GET request for /status
[2022-06-14][03:38:31][frl_proxy::proxy][DEBUG] Received request headers: {"host": "localhost:8443", "user-agent": "Wget/1.21.2", "accept": "*/*", "accept-encoding": "identity", "connection": "Keep-Alive"}
[2022-06-14][03:38:31][frl_proxy::proxy][INFO] Returning status: proxyVersion: 1.2.0, message: Proxy is running
[2022-06-14][03:38:31][mio::poll][TRACE] deregistering event source from poller
[2022-06-14][03:39:01][mio::poll][TRACE] registering event source with poller: token=Token(201326594), interests=READABLE | WRITABLE
[2022-06-14][03:39:01][frl_proxy::proxy][INFO] Received GET request for /status
[2022-06-14][03:39:01][frl_proxy::proxy][DEBUG] Received request headers: {"host": "localhost:8443", "user-agent": "Wget/1.21.2", "accept": "*/*", "accept-encoding": "identity", "connection": "Keep-Alive"}
[2022-06-14][03:39:01][frl_proxy::proxy][INFO] Returning status: proxyVersion: 1.2.0, message: Proxy is running
[2022-06-14][03:39:01][mio::poll][TRACE] deregistering event source from poller
[2022-06-14][03:39:31][mio::poll][TRACE] registering event source with poller: token=Token(218103810), interests=READABLE | WRITABLE
[2022-06-14][03:39:31][frl_proxy::proxy][INFO] Received GET request for /status
[2022-06-14][03:39:31][frl_proxy::proxy][DEBUG] Received request headers: {"host": "localhost:8443", "user-agent": "Wget/1.21.2", "accept": "*/*", "accept-encoding": "identity", "connection": "Keep-Alive"}
[2022-06-14][03:39:31][frl_proxy::proxy][INFO] Returning status: proxyVersion: 1.2.0, message: Proxy is running
[2022-06-14][03:39:31][mio::poll][TRACE] deregistering event source from poller
[2022-06-14][03:40:01][mio::poll][TRACE] registering event source with poller: token=Token(234881026), interests=READABLE | WRITABLE
[2022-06-14][03:40:01][frl_proxy::proxy][INFO] Received GET request for /status
[2022-06-14][03:40:01][frl_proxy::proxy][DEBUG] Received request headers: {"host": "localhost:8443", "user-agent": "Wget/1.21.2", "accept": "*/*", "accept-encoding": "identity", "connection": "Keep-Alive"}
[2022-06-14][03:40:01][frl_proxy::proxy][INFO] Returning status: proxyVersion: 1.2.0, message: Proxy is running
[2022-06-14][03:40:01][mio::poll][TRACE] deregistering event source from poller
[2022-06-14][03:40:32][mio::poll][TRACE] registering event source with poller: token=Token(251658242), interests=READABLE | WRITABLE
[2022-06-14][03:40:32][frl_proxy::proxy][INFO] Received GET request for /status
[2022-06-14][03:40:32][frl_proxy::proxy][DEBUG] Received request headers: {"host": "localhost:8443", "user-agent": "Wget/1.21.2", "accept": "*/*", "accept-encoding": "identity", "connection": "Keep-Alive"}
[2022-06-14][03:40:32][frl_proxy::proxy][INFO] Returning status: proxyVersion: 1.2.0, message: Proxy is running
[2022-06-14][03:40:32][mio::poll][TRACE] deregistering event source from poller
[2022-06-14][03:40:52][mio::poll][TRACE] registering event source with poller: token=Token(268435458), interests=READABLE | WRITABLE
[2022-06-14][03:40:52][frl_proxy::proxy][INFO] Received GET request for /status
[2022-06-14][03:40:52][frl_proxy::proxy][DEBUG] Received request headers: {"host": "adobe-licensing.nl.emglive.com:8443", "connection": "Keep-Alive, TE", "te": "trailers, deflate, gzip, compress", "user-agent": "RPT-HTTPClient/0.3-3E", "pragma": "no-cache", "accept-language": "en-us,en;q=0.5", "accept-encoding": "gzip, deflate, x-gzip, compress, x-compress"}
[2022-06-14][03:40:52][frl_proxy::proxy][INFO] Returning status: proxyVersion: 1.2.0, message: Proxy is running
[2022-06-14][03:41:02][mio::poll][TRACE] registering event source with poller: token=Token(1795162115), interests=READABLE | WRITABLE
[2022-06-14][03:41:02][frl_proxy::proxy][INFO] Received GET request for /status
[2022-06-14][03:41:02][frl_proxy::proxy][DEBUG] Received request headers: {"host": "localhost:8443", "user-agent": "Wget/1.21.2", "accept": "*/*", "accept-encoding": "identity", "connection": "Keep-Alive"}
[2022-06-14][03:41:02][frl_proxy::proxy][INFO] Returning status: proxyVersion: 1.2.0, message: Proxy is running
[2022-06-14][03:41:02][mio::poll][TRACE] deregistering event source from poller
[2022-06-14][03:41:18][mio::poll][TRACE] registering event source with poller: token=Token(1811939331), interests=READABLE | WRITABLE
[2022-06-14][03:41:52][mio::poll][TRACE] deregistering event source from poller
[2022-06-14][08:04:28][frl_proxy][DEBUG] conf: Settings { proxy: Proxy { mode: Passthrough, host: "0.0.0.0", port: "8080", ssl_port: "8443", remote_host: "https://lcs-cops.adobe.io", ssl: true }, ssl: Ssl { cert_path: "/etc/frl-proxy/nl.emglive_com.pfx", password: "[OBSCURED]" }, logging: Logging { level: Trace, destination: File, file_path: "/etc/frl-proxy/frl-proxy-log.log" }, cache: Cache { db_path: "proxy-cache.sqlite" }, network: Network { use_proxy: false, proxy_host: "127.0.0.1", proxy_port: "8888", use_proxy: false, proxy_username: "", proxy_password: "[OBSCURED]" } }
[2022-06-14][08:12:21][frl_proxy::proxy][INFO] Starting graceful shutdown
[2022-06-14][08:12:21][mio::poll][TRACE] deregistering event source from poller
[2022-06-14][08:12:21][mio::poll][TRACE] deregistering event source from poller

**Steps to reproduce**
My docker file:
FROM alpine:latest

# UPDATE IMAGE
RUN apk update
RUN apk upgrade

# Install wget
RUN apk add wget
RUN apk add curl

# Download latest FRL version and move to correct location
RUN echo "$(curl -s https://api.github.com/repos/adobe/frl-online-proxy/tags | sed -n 's/.*"name": "\(.*\)",.*/\1/p' | head -n 1)" > ./URL
#RUN URL=$(curl -s https://api.github.com/repos/adobe/frl-online-proxy/tags | sed -n 's/.*"name": "\(.*\)",.*/\1/p' | head -n 1)
RUN echo "$(curl -s https://api.github.com/repos/adobe/frl-online-proxy/tags | sed -n 's/.*"name": "\(.*\)",.*/\1/p' | head -n 1 | cut -c 2-)" > ./VERSION
#RUN VERSION=$(curl -s https://api.github.com/repos/adobe/frl-online-proxy/tags | sed -n 's/.*"name": "\(.*\)",.*/\1/p' | head -n 1 | cut -c 2-)
RUN wget https://github.com/adobe/frl-online-proxy/releases/download/$(cat ./URL)/frl-proxy-linux-$(cat ./VERSION).tar.gz
RUN tar xf frl-proxy-linux-$(cat ./VERSION).tar.gz

# Remove old content
RUN rm frl-proxy-linux-$(cat ./VERSION).tar.gz
RUN rm URL

# Set container timezone to Europe/Amsterdam
RUN apk add tzdata && cp /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime && echo "Europe/Amsterdam" > /etc/timezone

HEALTHCHECK CMD wget https://localhost:8443/status --no-check-certificate -q -O - > /dev/null 2>&1

CMD ./frl-proxy/frl-proxy -c /etc/frl-proxy/proxy-conf.toml start

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
![image](https://user-images.githubusercontent.com/57639986/173544264-cb99f119-8344-456b-a877-2cf7801e12a2.png)
![image](https://user-images.githubusercontent.com/57639986/173544448-48878583-264b-4042-b5ca-1fe8084d21a6.png)

**Environment**
- frl-proxy version: 1.2.0
- OS type and version: Alpine
- Any other relevant info:
- Config:
[proxy]
mode = "passthrough"
host = "0.0.0.0"
port = "8080"
ssl_port = "8443"
remote_host = "https://lcs-cops.adobe.io"
ssl = true

[ssl]
cert_path = "/etc/frl-proxy/nl.emglive_com.pfx"
cert_password = "XXXXX"

[logging]
level = "trace"
destination = "file"
file_path = "/etc/frl-proxy/frl-proxy-log.log"

Contributor guide

Open the contributing guide

Research direction

Start with the supplied Dockerfile, the proxy-conf.toml settings, and the 03:40 log window. Run the container with version 1.2.0 on Alpine and inspect the healthcheck and graceful-shutdown behavior around that time. Done means the scheduled trigger or memory-related failure is identified with reproducible evidence and a regression check or configuration guidance is established.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, rust
Domain
infrastructure, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.