-
Notifications
You must be signed in to change notification settings - Fork 15
Merge from upstream #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
mdb_load wasn't properly inserting escaped backslashes into the data. mdb_dump wasn't escaping backslashes when generating printable output.
This reverts commit 0e895ff. Was not an LMDB bug.
FreeBSD 11 supports robust process-shared POSIX mutexes, but requires them to be explicitly destroyed before munmap
On DUPSORT DBs, must initialize xcursor regardless of whether caller requested its data.
Was setting C_DEL flag gratuitously
|
Hi @hassila, thanks so much for opening this! Have you performed testing for these changes, and if so, in what capacity? It would also be great to trigger cross-repo CI testing for Swift, Swift-DocC, and Swift-LMDB. There are instructions here: https://github.com/apple/swift/blob/main/docs/ContinuousIntegration.md#cross-repository-testing |
|
Hi @franklinsch, we're just in the process of integrating LMDB support, so no extensive testing of the changes as of yet (just wanted to open up the discussion on keeping CLMDB up-to-date as it said on the tin, otherwise we'd consider wrapping it ourselves which seemed counterproductive). I can see how I could possible get cross-repo CI testing if I open up a Swift-DocC PR to test against this one (although I wouldn't be able to trigger the build for it likely, but we'll see), but for "Swift" it's not obvious that there's any dependency as far as I could find? I must be missing something. We'll test it internally with our own storage layer built on top although the unit test suite is fairly basic as of yet. I can also try running lbmd:s tests, but they are also fairly basic... |
|
The test trigger would be in the Swift repo, with Swift-LMDB as a cross-repo reference. I can do that since I think you're right, you won't have the access to do so. Is this PR ready for testing? |
|
Yes, it's as ready as I can make it - I've manually run the mdb test suite which look ok and also run the internal unit tests we have for our storage layer which also was ok. I did a fork/merge at https://github.com/hassila/swift-lmdb/tree/hassila-mdb-merge-patch as it made testing easier for me at least, I can open a new PR from there instead if you like? |
|
Sounds good, thanks! I kicked off some builds here: swiftlang/swift#59324 |
|
Seems something broke, but must admit it's a bit unclear what the root cause was (I'm probably just missing how to navigate the CI results) |
|
You can access the full log by clicking "View as plain text" (if the output is too large, you can This seems related to the LMDB changes here. You should be able to reproduce the issue by cloning the swift-docc repo and updating the |
|
Thanks @franklinsch, I tried on macOS with Swift 5.6.1 and passed main DocC test suite without any problems, then I pointed it to the updated LMDB branch and managed to reproduce one failure; Basically LMDB fails to open the LMDB environment in readNavigatorIndex with an |
|
Ok, the offending commit seems to be da0527a - specifically the removal of line 5616 |
|
Ok, I filed https://bugs.openldap.org/show_bug.cgi?id=9861 - I also tried a patch in https://github.com/hassila/swift-lmdb/tree/hassila-mdb-merge-patch - if I run the DocC test suite against that version it comes through clean FWIW. Hopefully they will accept that fix and merge it upstream, we'll see - I'm not familiar enough with the code base to feel fully confident that the fix is exactly correct, so perhaps await feedback there first. |
|
Ok, it was accepted and fixed upstream - can we kick off a new test run perhaps? |
|
That's amazing, thanks so much for investigating, putting up a patch, and proposing it upstream! I triggered a new round of testing. |
|
All passed :-) |
|
Woo! 🎉 I also tested a local build and it's working great. Thanks so much @hassila! |
|
Cross-repo tests passed here: swiftlang/swift#59324 |
Handfull of bug fixes...