Skip to content

Add object-storage-mock test utility#4570

Closed
snazy wants to merge 3 commits into
apache:mainfrom
snazy:obj-storage-mock
Closed

Add object-storage-mock test utility#4570
snazy wants to merge 3 commits into
apache:mainfrom
snazy:obj-storage-mock

Conversation

@snazy

@snazy snazy commented May 28, 2026

Copy link
Copy Markdown
Member

This PR donates the polaris-object-storage-mock module to Polaris.

The module provides an embeddable object storage mock server for tests. It exposes provider-facing HTTP surfaces for S3, GCS, ADLS Gen2, and STS, while keeping the backing bucket behavior controllable by tests. This lets Polaris tests exercise real SDK/client behavior without depending on external cloud services.

See tools/object-storage-mock/README.md for more detail on the module’s purpose, how it differs from a simple file-system or in-memory object store, and how it can be used.

This PR is intentionally scoped to the initial donation/import of the object-storage-mock into Polaris. Follow-up changes, cleanup, feature work, broader integration, or behavior changes should be handled in separate PRs.

snazy added 2 commits May 28, 2026 09:22
This PR donates the polaris-object-storage-mock module to Polaris.

The module provides an embeddable object storage mock server for tests.
It exposes provider-facing HTTP surfaces for S3, GCS, ADLS Gen2, and STS, while keeping the backing bucket behavior controllable by tests. This lets Polaris tests exercise real SDK/client behavior without depending on external cloud services.

See tools/object-storage-mock/README.md for more detail on the module’s purpose, how it differs from a simple file-system or in-memory object store, and how it can be used.

This PR is intentionally scoped to the initial donation/import of the object-storage-mock into Polaris. Follow-up changes, cleanup, feature work, broader integration, or behavior changes should be handled in separate PRs.
@@ -0,0 +1,33 @@
/*
* Copyright (C) 2024 Dremio

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Shouldn't we change the headers to ASF headers + add CODE_COPIED_TO_POLARIS?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Once a file/code has substantially changed.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

CODE_COPIED_TO_POLARIS still makes sense, I think

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Not sure about CODE_COPIED_TO_POLARIS - it felt like a good idea, but IDK 🤷

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

but wasn't CODE_COPIED_TO_POLARIS added specifically to track copied/contributed files?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

It's not really enforced and a lot of contributed files already do not have it.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

cc our license expert @jbonofre

@github-project-automation github-project-automation Bot moved this from PRs In Progress to Ready to merge in Basic Kanban Board May 29, 2026
@flyrain

flyrain commented May 29, 2026

Copy link
Copy Markdown
Contributor

Hi @snazy, thanks so much for putting this together! Donating the polaris-object-storage-mock utility is a massive contribution. Given that this is a substantial new module donation to the project, could we start a quick thread on the dev mailing list to discuss the motivation, the integration plan and the header/licensing tracking. Since it's a large import, bringing it to the dev list ensures the broader community has visibility.

Appreciate your hard work on this!

@collado-mike

Copy link
Copy Markdown
Contributor

Since it's a large import, bringing it to the dev list ensures the broader community has visibility.

Agree with @flyrain . This warrants a good discussion

@flyingImer

Copy link
Copy Markdown
Collaborator

This is huge😃! At a glance, I wonder if this is better to go with polaris main repo or should go separately? I feel a dev thread can definitely get the folks up to speed on the rationale, motivation etc.

@github-actions

Copy link
Copy Markdown

This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.

@github-actions github-actions Bot added the stale label Jun 29, 2026
@github-actions github-actions Bot closed this Jul 5, 2026
@github-project-automation github-project-automation Bot moved this from Ready to merge to Done in Basic Kanban Board Jul 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants