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

Upgraded Hazelcast Go Client to v1.3.0 #112

Merged
merged 1 commit into from
Aug 15, 2022

Conversation

yuce
Copy link
Contributor

@yuce yuce commented Aug 15, 2022

Hi Philipp, thanks for this cool project and including Hazelcast as an option to your users.

We've released Hazelcast Go Client v1.3.0 last month with important bug fixes (and new cool features!). Here's what was changed since v1.2.0:

This PR upgrades Hazelcast Go Client v1.2.0 to v1.3.0,

Starting with v1.3.0, we added support for the Near Cache, which keeps the map entries in memory and helps tremendously with read heavy workloads: https://pkg.go.dev/github.com/hazelcast/hazelcast-go-client#Map I am sure that's a feature your users can benefit from.

In your Hazelcast related code, you have this remark:

// TODO: When a Hazelcast server dies and the client creates new connections to the new server,
// does the map still work or do we need to get the map from the client again?

The answer is: Hazelcast Go Client handles this internally, no need to get the map again.

I also noticed that logging is turned off for the Hazelcast client with config.Logger.Level = logger.OffLevel In case you'd like to customize the output or use a different logger, It is possible to override it: https://pkg.go.dev/github.com/hazelcast/hazelcast-go-client@v1.3.0/logger#hdr-Using_a_Custom_Logger

The gokv API is very clean and easy to use, but I would strongly suggest adding context support to it. Hazelcast Go Client supports it for all of its API, and it turned out to be a useful feature for our own users.

In case you'd like to join, we have our own Slack channel at: https://hazelcastcommunity.slack.com/channels/go-client You can get an invite at: https://slack.hazelcast.com/

Thanks again for your work!

@philippgille
Copy link
Owner

Hi Yüce, thank you for the PR! It's an honor to get a contribution and additional info directly from a maintainer of one of the storages that gokv supports!

  • Seeing Hazelcast near cache support land in the Go SDK is great! I think I once worked with a codebase that made use of Hazelcast near caches when I was working in the Java ecosystem. I'll have a look how I can expose this feature to users in a simple way 👍
  • Regarding the TODO commit I'll remove it then, thanks!
  • Regarding the logger I'll check if I can make it configurable so that users can at least choose the level
  • Regarding context.Context yes 💯 , I've been considering it for a long time already and will probably do it in the release after the next one (i.e. next is v0.7 with lots of dependency updates as v0.6 is quite old, but maintaining backward compatibility, then v0.8 could come shortly after with the context breaking change).

I noticed the GitHub Actions workflow didn't run, I think I have it only configured for pushes which also trigger for my own PRs, but not for PRs from contributors. I just recently switched from Travis CI to GitHub Actions. I'm going to change that, but for now I just checked out your branch and ran mage test hazelcast and it's all good 🟢

Thanks again!

@philippgille philippgille merged commit 2c28465 into philippgille:master Aug 15, 2022
philippgille added a commit that referenced this pull request Aug 28, 2022
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