-
Notifications
You must be signed in to change notification settings - Fork 186
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
Add MemFS context isolation test, and use memfs in quickstart dense example. #3438
Conversation
[sc-19989] |
This pull request has been linked to Shortcut Story #19989: memfs initialization and testing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works great from R where we have a single Context object by default / design (allowing more or others as needed, but typically users just want one) and for that the (current ?) memfs
setup works just fine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the fix, good catch! I am worried about introducing a 2-step initialization and shared pointers, could you please check if we can avoid that before merging?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the changes! Let's wait for Isiah's/Eric's opinion on the ownership issue before we can proceed.
Also could you please add tests for your changes, at least a regression test for the bug you are fixing? I think it will be almost identical to your example, but I am not sure examples are run on CI so a test would make sense here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was able to reproduce VFS.RemoveDir()
errors using C# API and after building / linking with this branch errors were resolved. Thanks, this was good to review - lots of good information here
This is a bit confusing: edd@rob:~/git/tiledb/examples/cpp_api(rd/memfs_error_debug)$ ./memfs
Error: Must use process global Context on memfs.
2 3 4 6 7 8
The MemFilesystem is associated with a single VFS instance.
edd@rob:~/git/tiledb/examples/cpp_api(rd/memfs_error_debug)$ So it throws on the attempt to |
759d989
to
79e16d1
Compare
79e16d1
to
cc66664
Compare
No functional changes remaining in this PR.
Through debug, we've discovered that the MemFS was not getting initialized in the VFS, despite being "enabled" by default. A global Context and VFS are typically used on the object so this bug was previously overlooked. This work item initializes the MemFS in the VFS and adds an example test, which also highlights the need for a global Context on MemFS.
TYPE: BUG
DESC: Initialize MemFS in the VFS