Add IPv6 support to StatusServer and related classes. #119
No reviewers
Labels
No labels
area: database
area: documentation
area: elasticsearch
area: herald
area: packaging
area: scribe
consider soon
critical
dependencies
good first issue
hacktoberfest
help wanted
improvement
needs: repro
new feature
priority: blocker
priority: high
priority: low
priority: medium
type: bug
type: bug-fix
type: discussion
type: feature request
type: improvement
type: new feature
type: refactor
type: task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: LBRYCommunity/hub#119
Loading…
Reference in a new issue
No description provided.
Delete branch "moodyjon/ipv6"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes #117
Update: Fixes #121
Not sure whether this is complete. I think I need help with this part in
hub/env.py
:If I allow the
cs_host()
to belocalhost
instead of 127.0.0.1, then it will start TCP servers on both v4/v6 sockets.What is the problem with docker and this behavior?
Just saw a new
EADDRINUSE
problem when running lbry-sdk tests against this hub branch.https://github.com/moodyjon/lbry-sdk/actions/runs/3911989925/jobs/6686050669
Converting this to draft status while investigating.
I did some work on
StatusServer.start()
to make it retry to overcome transientEADDRINUSE
. It got a bit more complicated in order to handle cases likeHOST=::,0.0.0.0
,HOST=0.0.0.0,::
,HOST=myserver1,myserver2
, etc. I importedresolve_host()
from mymoodyjon/lbry-sdk:ipv6
branch to do name resolution.Have not seen
EADDRINUSE
since that one occurrence. Not sure what the root cause of that was. Possible infrastructure?If I don't disable IPv4 mapping, then the IPv6 port will sometimes seize (or try to seize) responsibility for IPv4. The bad effect is seen when starting the server with
HOST=::,0.0.0.0
orHOST=0.0.0.0,::
. I forget which one fails, but 1 of these two orderings has persistentEADDRINUSE
errors.The bad ordering (on my machine) is
HOST=::,0.0.0.0
:HOST=0.0.0.0,::
works fine.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.