Skip to content

Sync port forward context managed hangs on exit for around a minute #570

@jacobtomlinson

Description

@jacobtomlinson

Which project are you reporting a bug for?

kr8s

What happened?

While investigating #569 I noticed a hang locally when running a sync port forward context manager. It seems to take a long time to exit the context manager.

# Create web server Pod
kubectl run webserver --image nginx --port 80
kubectl expose po webserver
import kr8s
import requests
import time

[svc] = kr8s.get("svc", "webserver")
start = time.time()
with svc.portforward(remote_port=80, local_port="auto") as local_port:
    print(f"After enter: {time.time() - start:.1}s")
    resp = requests.get(f"http://localhost:{local_port}/")
    print(f"After rerquest: {time.time() - start:.1}s")
print(f"After exit: {time.time() - start:.1}s")
After enter: 0.001s
After rerquest: 0.04s
After exit: 70s
# Clean up
kubectl delete svc/webserver po/webserver

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions