Skip to content
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

Create a well defined charset for namespaces and test them in DAT #9351

Closed
sherifnada opened this issue Jan 7, 2022 · 6 comments · Fixed by #10793
Closed

Create a well defined charset for namespaces and test them in DAT #9351

sherifnada opened this issue Jan 7, 2022 · 6 comments · Fixed by #10793
Assignees
Labels
area/connectors Connector related issues type/enhancement New feature or request

Comments

@sherifnada
Copy link
Contributor

Tell us about the problem you're trying to solve

issues like #7435 happen because we don't have clear rules for what characters should be allowed in a namespace. In addition, destinations don't have clear guidance around how to handle namespaces which contain special characters e.g: a custom namespace with a - or a space could cause a destination to fail.

Describe the solution you’d like

  1. define exactly what characters / rules are allowed in a namespace (both custom and source-defined namespaces).
  2. Destinations should be resilient towards all allowed characters
  3. DAT should test that all destinations can handle all namespace chars. For this one it is super important that we put on the chaos monkey hat in choosing namespace values in the test to make sure the destination can handle everything we throw at it.
@sherifnada sherifnada added type/enhancement New feature or request area/connectors Connector related issues labels Jan 7, 2022
@sherifnada sherifnada added this to the ConnCore Feb 2 milestone Jan 26, 2022
@tuliren
Copy link
Contributor

tuliren commented Feb 2, 2022

Sprint summary

Did not have time to look into this yet.

@tuliren
Copy link
Contributor

tuliren commented Feb 23, 2022

Sprint summary

  • What has been done:
    • Snowflake specific namespace tests.
  • What remains:
    • Need to generalize the solution.
  • ETA
    • End of this week (Feb 25th).

@tuliren
Copy link
Contributor

tuliren commented Feb 23, 2022

TODO

  • Publish an initial rule set.

@sherifnada
Copy link
Contributor Author

sherifnada commented Feb 23, 2022

Plan

MVP

  • Publish initial ruleset. This should describe which characters are allowed, how we perform namespace mappings, how we handle name conflicts if they exist, and boundary conditions (e.g: max length)
  • Implement the initial rule set in an opt-in DAT testcase
  • Bring Snowflake & Bigquery into compliance with it

Post-MVP

UI

Backend

  • implement that test case for the rest of the connectors. Create an epic and handoff to GL or accept community contributions
  • make the testcase opt-out in DAT

@tuliren
Copy link
Contributor

tuliren commented Mar 2, 2022

Summary

@sherifnada
Copy link
Contributor Author

Nice work @tuliren!

I imagine the next steps here are:

  1. Finalize the DAT PR
  2. Publish the spec in our external docs (maybe after review/ratification/etc..)
  3. Bring the remaining destinations into compliance with the new Namespace spec

Does that sound right?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/connectors Connector related issues type/enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants