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

Cloud Spanner Lock Provider #1590

Merged
merged 11 commits into from
Nov 6, 2023

Conversation

pXius
Copy link

@pXius pXius commented Nov 6, 2023

This PR is to add a Google Cloud Spanner lock provider for Shedlock.

This implementation respects Spanner's transactionality by making use of read and write mutations within a transactional context.

The implementation is based on the StorageBasedLockProvider and accessor.
Tests extend AbstractStorageBasedLockProviderIntegrationTest and make use of the Spanner emulator in a test container to test integration.

I've also included an optional Configuration class when creating the lock provider which can be used for a custom host name, table and column names.

Finally, I was unsure if I was supposed to update the readme and parent pom with the new module. I did so anyway, but I'm of course open to change that and anything else as per your requirements.

@pXius
Copy link
Author

pXius commented Nov 6, 2023

Having issues with shouldCreateTwoIndependentLocks test that I'm unable to reproduce locally.

Will see what I can do.

@lukas-krecan
Copy link
Owner

Hi, thanks a lot. I will look at the PR soon

<archive>
<manifestEntries>
<Automatic-Module-Name>
net.javacrumbs.shedlock.provider.mongo
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please change this

@lukas-krecan
Copy link
Owner

Hi, I have taken the liberty to do some small refactorings here. If you are OK with the changes, I will merge it and release it. Thanks again.

@pXius
Copy link
Author

pXius commented Nov 6, 2023

Looks great to me!
Thanks for the swift feedback and attentiveness.

@lukas-krecan lukas-krecan merged commit a1a1639 into lukas-krecan:master Nov 6, 2023
2 checks passed
@lukas-krecan
Copy link
Owner

Release as 5.10.0

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