Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
W wendelin.core
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1
    • Issues 1
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 5
    • Merge requests 5
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • nexedi
  • wendelin.core
  • Merge requests
  • !13

Closed
Created Nov 03, 2022 by Levin Zimmermann@levin.zimmermannMaintainer
  • Report abuse
Report abuse

WIP: Fix NEO ipv6 address usage with WCFS

  • Overview 15
  • Commits 3
  • Changes 7

Hello,

I encountered a problem when reading from the root object of a NEO storage which has been opened by using an ipv6 address:

>>> from wendelin.lib.zodb import dbopen
>>> root = dbopen("neo://cluster-name@[::]:2051")
>>> # "abc" points to a ZBigArray
>>> root["abc"][0]

I inserted a dirty print in the first line of wcfs join function:

print(zurl)

which returns:

neo://:::2051/cluster-name

while I would expect

neo://[::]:2051/cluster-name


Following the wc code [1] I understood that the conversion of the URL happens in zstor_2zurl. I think zstor_2zurl needs explicit changes to add square brackets for ivp6 hosts.

My initial draft only adjusts the NEO part, maybe we also need to change the ZEO part?

WIP: Adding tests, running tests.

Best, Levin

/cc @kirr


[1] root["abc"][0] leads to __getitem__ which leads to _fileh property which leads to fileh_open, which leads to pywconnOf which finally calls zstor_2zurl.

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: fix-ipv6
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7