Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove URL-escaping for coordinator password and username (#1546)
## Description of changes *Summarize the changes made by this PR.* - Improvements & Bug fixes - Don't url-escape username and password. The library does this automatically and query-escaping is a non-idempotent operation, so this leads to errors Originally we weren't running the coordinator using `/bin/sh` in kubernetes, which defaults to using Linux's `exec` environment. Because of this, the `$PASSWORD` flag wasn't being correctly populated -- it was being passed in as the literal string `"$PASSWORD"`. The resulting error, `invalid characters in username or password` (or something like that) made me think we needed to query-escape the password when in reality, the fix was to use `/bin/sh` to execute the coordinator command and properly hydrate the `--password` flag. Now that we're using `/bin/sh` and properly hydrating the `--password` flag, our special-character containing password is going through two layers of query escaping: once in our application logic and once in the underlying postgres library. Query escaping is non-idempotent because of the `%` character so this gives us authentication failures trying to connect to our RDS instance. ## Test plan *How are these changes tested?* - [x] Built and deployed a Coordinator image with these changes. Spun it up in staging, ssh'd in, manually started the coordinator, passing in the raw un-escaped password. It worked. ## Documentation Changes *Are all docstrings for user-facing APIs updated if required? Do we need to make documentation changes in the [docs repository](https://github.com/chroma-core/docs)?*
- Loading branch information