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…
Add table
Add a link
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 belocalhostinstead 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
EADDRINUSEproblem 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:ipv6branch to do name resolution.Have not seen
EADDRINUSEsince 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.0orHOST=0.0.0.0,::. I forget which one fails, but 1 of these two orderings has persistentEADDRINUSEerrors.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.