Need someone to review code to port Cadence Workflow Engine onto MongoDB

Hello MongoDB team and community friends,

I come from the Cadence Workflow project. GitHub - uber/cadence: Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.
Right now Cadence Workflow has been ported on Cassandra/MySQL/Postgres/Scylla/TiDB/etc

And there are people asking for MongoDB as well – it’s one of the most popular NoSQL database!

So I started working on a project to support using MongoDB in Cadence Workflow Engine.
This is the first PR Implement MongoDB plugin Part1: skeleton and ConfigStore by longquanzheng · Pull Request #4590 · uber/cadence · GitHub

But I am looking for someone with expertise on MongoDB to review the code. The Cadence team doesn’t have any people familiar with it. I am also quite new to this.

Any help would be super appreciated!

Thanks,
Quanzheng Long

2 Likes

Welcome to the MongoDB Community Forums @Long_Quanzheng !

I’m not familiar with Cadence, but a helpful starting point would be sharing some pointers on how to run and test your plugin as well as the current state of the code. This is a large changeset and it is not obvious what functionality has been implemented so far. Some of the changed files also seem unrelated (eg /nosqlplugin/cassandra/*) and presumably should be excluded to make the PR easier to review.

It looks like a lot of tests are currently commented out in the PR (eg mongodb_persistence_test.go) and the PR description is Part 1 so I’m curious what the remaining tasks are. Is there an epic or issue(s) describing what will be implemented?

I think the Cadence community should be able to provide some feedback in terms of adherence to their coding conventions and plugin API. Test coverage would help ensure that your plugin is returning the expected results.

Did you have any specific questions about your usage of MongoDB so far?

Regards,
Stennie

1 Like