Skip to content

Conversation

@kmayoral
Copy link
Collaborator

Note: This is a duplicate PR of #85 with the only difference being that this is created directly from a branch pushed to this repo instead of from a local forked repo branch on my end, thanks!

Hi there,

I'm a new user of ktor and attempted to use the Ktor project generator (https://start.ktor.io/) to start a new project and included a few of your plugins into my project template.

When I went to run the sample, I got some build errors due to the fact that the generated project runs with Exposed 0.60.0 while the latest supported here currently is 0.44.0.

I went down the rabbit hole of checking out this repo and attempted to update to support the latest ktor (3.1.1), exposed (0.60.0) and kotlin (2.1.10) to hopefully be compatible with the project that is generated from the start.ktor.io site.

Through the process, I had to update several other dependencies and make several modifications to the task scheduling related implementations for postgres, mongo and redis implementations.

Some notes:

  • I learned that the kreds library didn't expose some transitive dependencies as needed by our usages, so also added a few of those to resolve some build errors
  • I wasn't able to get any of the server scheduling lock task tests to run successfully without significant modifications to the core logic. I'm not sure if those tests were working previously or being silently ignored, but I'd appreciate a code review on those sections to confirm.
  • Several of these tests and others appear to be a little flaky on my builds but I've gotten them all to pass in one go several times.
  • To resolve the last issues with the redis lock manager, I had to wrap the acquire and release lock key calls with a mutex owned by the generated key. This feels like a smell to me but I'm happy to let anyone take a stab at cleaning things up as I mentioned this is my first time navigating into using many of these libraries.

Thank you!

@kmayoral
Copy link
Collaborator Author

Looks like I may have messed up the merge, checking now...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants