singer-io / tap-mongodb

GNU Affero General Public License v3.0
28 stars 38 forks source link

Update how PyMongo handles UUIDs #77

Open luandy64 opened 2 years ago

luandy64 commented 2 years ago

Description of change

This PR sets the PyMongo client to use the "standard" representation of UUID instead of the default "undefined" representation.

From the docs:

uuidRepresentation: The BSON representation to use when encoding from and decoding to instances of UUID. Valid values are the strings: “standard”, “pythonLegacy”, “javaLegacy”, “csharpLegacy”, and “unspecified” (the default). New applications should consider setting this to “standard” for cross language compatibility.

I found this section of the PyMongo docs that gives good background behind the issue here.

QA steps

Risks

I don't think anyone is leaning on the current representation of UUID. It seems to be broken in terms of our syncing.

Rollback steps