Skip to content

Conversation

@shaunrd0
Copy link
Member

Support for custom storage paths was removed in TileDB-Server, causing REST CI failures since core sets the URI field for array / group creation requests. This updates the requests to not set the URI field if we are talking to a 3.0 REST server.


TYPE: BUG
DESC: Do not provide storage URIs in TileDB-Server REST requests.

tiledb_encryption_type_t encryption_type_ = TILEDB_NO_ENCRYPTION;
const char* encryption_key_ = nullptr;

// TODO: Update ArrayFx to use VFSTestSetup.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Porting this to VFSTestSetup quickly became a lot of work and I didn't want to hold up the PR. I can do this as follow up to remove the duplication between this fixture and VFSTestSetup.

* @param creation_uri The URI passed to array / group create request.
* @return The backend storage location for the created array / group.
*/
std::string get_rest_array_uri(const std::string& creation_uri) const {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Default storage generates a unique array / group ID and uses this as the prefix within the default storage location to create the asset. Currently it's a bit awkward for clients to create an array / group and not know where it lives.

If we don't support custom storage locations moving forward, there could be a response from the server to tell core where the array was created, or an endpoint to request the backend location of an asset given its tiledb URI. The latter might exist server side already, but I don't believe we have support for it in core if it does.

This hack works for our tests but that's very likely only because the bucket is emptied after each test in the destructor.

Copy link
Member

@ypatia ypatia Nov 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The info about the storage prefix backing the tiledb:// asset exists in the UI, and (will?) exists in TileDB-Client. Core can unfortunately not use any of those, so if you've got a suggestion/idea on how we could do that " response from the server" or something similar, please open a ticket.

@shaunrd0 shaunrd0 marked this pull request as ready for review November 13, 2025 23:12
@shaunrd0 shaunrd0 requested a review from ypatia November 13, 2025 23:12
@shaunrd0 shaunrd0 merged commit 36da774 into main Nov 17, 2025
56 checks passed
@shaunrd0 shaunrd0 deleted the shaunreed/core-430-do-not-allow-custom-storage-uris-within-tiledb-server-array branch November 17, 2025 16:40
@shaunrd0
Copy link
Member Author

/backport to release-2.29

@github-actions
Copy link
Contributor

Started backporting to release-2.29: https://github.com/TileDB-Inc/TileDB/actions/runs/19507074322

@github-actions
Copy link
Contributor

@shaunrd0 backporting to "release-2.29" failed, the patch most likely resulted in conflicts:

$ git am --3way --empty=keep --ignore-whitespace --keep-non-patch changes.patch

Patch format detection failed.
Error: The process '/usr/bin/git' failed with exit code 128

Please backport manually!

shaunrd0 added a commit that referenced this pull request Nov 19, 2025
Support for custom storage paths was removed in TileDB-Server, causing
REST CI failures since core sets the URI field for array / group
creation requests. This updates the requests to not set the URI field if
we are talking to a 3.0 REST server.

---
TYPE: BUG
DESC: Do not provide storage URIs in TileDB-Server REST requests.
shaunrd0 added a commit that referenced this pull request Nov 21, 2025
This backports #5687 to release 2.29 following changes in tiledb-server
to remove custom URIs from request body during array / group creation.

#5692 was also backported to fix SSL errors after some changes to REST
CI to support `tiledb://` VFS testing:
https://github.com/TileDB-Inc/TileDB-Internal/actions/runs/19505457900/job/55833344767

---
TYPE: NO_HISTORY
DESC: Backport #5687 and #5692 to release-2.29.

---------

Co-authored-by: Theodore Tsirpanis <teo@tsirpanis.gr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants