googleforgames / quilkin

Quilkin is a non-transparent UDP proxy specifically designed for use with large scale multiplayer dedicated game server deployments, to ensure security, access control, telemetry data, metrics and more.
Apache License 2.0
1.31k stars 95 forks source link

Proxy causing excessive relay log generation #990

Open jatin4sharma opened 3 months ago

jatin4sharma commented 3 months ago

What happened: Starting proxy with ["proxy", "--management-server", "http://quilkin-relay-agones:7800"] causes excessive relay log generation.

kubectl logs -f -l role=proxy
{"timestamp":"2024-07-30T04:31:50.241497Z","level":"INFO","fields":{"message":"Starting Quilkin","version":"0.9.0-dev","commit":"c57cb3e11aab43a0d87233fd9ac32468a3d8b16d"},"target":"quilkin::cli","filename":"src/cli.rs","threadId":"ThreadId(1)"}
{"timestamp":"2024-07-30T04:31:50.241782Z","level":"INFO","fields":{"message":"Starting admin endpoint","address":"[::]:8000"},"target":"quilkin::components::admin","filename":"src/components/admin.rs","threadId":"ThreadId(1)"}
{"timestamp":"2024-07-30T04:31:50.241980Z","level":"INFO","fields":{"message":"Starting proxy","port":7777,"proxy_id":"quilkin-proxies-5fd449fbc5-kcbqf"},"target":"quilkin::cli::proxy","filename":"src/cli/proxy.rs","span":{"name":"run"},"spans":[{"name":"run"}],"threadId":"ThreadId(1)"}
{"timestamp":"2024-07-30T04:31:50.248456Z","level":"INFO","fields":{"message":"attempting to connect to `http://quilkin-relay-agones:7800/`"},"target":"xds::client","filename":"crates/xds/src/client.rs","threadId":"ThreadId(67)"}
{"timestamp":"2024-07-30T04:31:50.335934Z","level":"INFO","fields":{"message":"Connected to management server"},"target":"xds::client","filename":"crates/xds/src/client.rs","threadId":"ThreadId(67)"}
{"timestamp":"2024-07-30T04:31:50.354639Z","level":"INFO","fields":{"message":"Quilkin is ready"},"target":"quilkin::components::proxy","filename":"src/components/proxy.rs","span":{"name":"run"},"spans":[{"name":"run"}],"threadId":"ThreadId(1)"}
{"timestamp":"2024-07-30T04:31:50.354995Z","level":"INFO","fields":{"message":"starting phoenix HTTP service","addr":"[::]:7600"},"target":"quilkin::net::phoenix","filename":"src/net/phoenix.rs","threadId":"ThreadId(198)"}
kubectl logs -f -l role=xds
'{"timestamp":"2024-07-30T04:32:29.917170Z","level":"ERROR","fields":{"message":"NACK","nonce":"5e37a748-dc49-4113-a6e2-59aab6cf0cd2","error":"Status { code: 3, message: \"no resources in delta response\", details: [] }"},"target":"xds::server","filename":"crates/xds/src/server.rs","span":{"client":"quilkin-proxies-5fd449fbc5-kcbqf","id":"quilkin-relay-agones-79bf488968-6jtl4","name":"xds_server_stream"},"spans":[{"name":"delta_aggregated_resources"},{"client":"quilkin-proxies-5fd449fbc5-kcbqf","id":"quilkin-relay-agones-79bf488968-6jtl4","name":"xds_server_stream"}],"threadId":"ThreadId(63)"}
{"timestamp":"2024-07-30T04:32:29.918103Z","level":"ERROR","fields":{"message":"NACK","nonce":"2bc474f2-3a57-444d-9d1c-ab4b35aee92e","error":"Status { code: 3, message: \"no resources in delta response\", details: [] }"},"target":"xds::server","filename":"crates/xds/src/server.rs","span":{"client":"quilkin-proxies-5fd449fbc5-kcbqf","id":"quilkin-relay-agones-79bf488968-6jtl4","name":"xds_server_stream"},"spans":[{"name":"delta_aggregated_resources"},{"client":"quilkin-proxies-5fd449fbc5-kcbqf","id":"quilkin-relay-agones-79bf488968-6jtl4","name":"xds_server_stream"}],"threadId":"ThreadId(62)"}
{"timestamp":"2024-07-30T04:32:29.918932Z","level":"ERROR","fields":{"message":"NACK","nonce":"12c2161e-fadc-4831-9b93-3d1f2e662e0c","error":"Status { code: 3, message: \"no resources in delta response\", details: [] }"},"target":"xds::server","filename":"crates/xds/src/server.rs","span":{"client":"quilkin-proxies-5fd449fbc5-kcbqf","id":"quilkin-relay-agones-79bf488968-6jtl4","name":"xds_server_stream"},"spans":[{"name":"delta_aggregated_resources"},{"client":"quilkin-proxies-5fd449fbc5-kcbqf","id":"quilkin-relay-agones-79bf488968-6jtl4","name":"xds_server_stream"}],"threadId":"ThreadId(3)"}

What you expected to happen: Probably logging this message just once or not logging at all.

How to reproduce it (as minimally and precisely as possible): Launch relay with these arguments:

          args:
            - relay
            - file
            - /etc/quilkin.yaml
  quilkin.yaml: 
    version: v1alpha1
    filters:
      - name: quilkin.filters.capture.v1alpha1.Capture
        config:
          suffix:
            size: 3
            remove: true
      - name: quilkin.filters.token_router.v1alpha1.TokenRouter

Launch agent with these arguments:

          args:
            - agent
            - --relay
            - http://quilkin-relay-agones:7900    
            - agones
            - --config-namespace
            - lsg
            - --gameservers-namespace
            - lsg

Lastly, launch proxy as I stated above.

Anything else we need to know?:

Environment: Dev