hazelcast-cpp-client icon indicating copy to clipboard operation
hazelcast-cpp-client copied to clipboard

Client member list state gets broken with hot restart

Open sancar opened this issue 6 years ago • 8 comments

This behavior has changed in hazelcast 3.12. For clients to be able to work with 3.12 members and hot-restart feature, the fix should be applied to all clients.

issue https://github.com/hazelcast/hazelcast/issues/14839 fix https://github.com/hazelcast/hazelcast/pull/14844 test https://github.com/hazelcast/hazelcast/issues/14839

sancar avatar Apr 05 '19 09:04 sancar

It's me again :) I've already done some research and wrote some fixes for this problem, also I wrote test cases, but they actually don't work now (but green, because UUIDs are changing), because I can't turn on the HotRestart feature (doesn't have Enterprise edition) to test it (without this feature, the UUIDs of cluster members are changed on every shutdown). Can I open a PR with an untested code and verify it via your CI or I should find another way?

RikeVoltz avatar May 13 '20 00:05 RikeVoltz

Many thanks for your contributions @RikeVoltz! :) 💯

I suggest getting a 30-day Free license key for Enterprise via this form: https://hazelcast.com/get-started/#deploymenttype-imdg

I'll follow-up your trial request if you use your email / name at your Github profile.

Cheers! :)

burakcelebi avatar May 13 '20 12:05 burakcelebi

I suggest getting a 30-day Free license key for Enterprise via this form: https://hazelcast.com/get-started/#deploymenttype-imdg

Thank you for the idea!) I've used same e-mail and full real name as in Github profile.

RikeVoltz avatar May 13 '20 12:05 RikeVoltz

Great, looking forward to it!

burakcelebi avatar May 14 '20 08:05 burakcelebi

Hi, I would like to work on this issue, can you guide me through working on this issue.

vedantbharti avatar Dec 12 '20 21:12 vedantbharti

Hello @vedantbharti I am happy to see you interested in fixing this issue. This indeed would be a good start for a contribution. All you need is to apply the same fix as it is at Java client. The test can be written in a very similar way. I like to guide you further if you have any questions. Please let me know if any more help is needed. Once you submit the PR, I can trigger the builds to verify it. The fix should not require EE server at all, OSS would even work fine.

@RikeVoltz I assume that you are currently working on this issue, are you?

ihsandemir avatar Dec 14 '20 12:12 ihsandemir

Hello @vedantbharti I am happy to see you interested in fixing this issue. This indeed would be a good start for a contribution. All you need is to apply the same fix as it is at Java client. The test can be written in a very similar way. I like to guide you further if you have any questions. Please let me know if any more help is needed. Once you submit the PR, I can trigger the builds to verify it. The fix should not require EE server at all, OSS would even work fine.

@RikeVoltz I assume that you are currently working on this issue, are you?

@ihsandemir can it be done in windows OS or linux environment is necessary?

vedantbharti avatar Dec 14 '20 12:12 vedantbharti

@vedantbharti Yes, it can totally be done at Windows. That would be great. Our library works on all platforms including Windows, MacOS and Linux.

On windows, I use vcpkg to install the dependencies for testing (namely boost, openssl and thrift (only required for testing)). Then we link to these places by providing the vcpkg toolchain as in this line: https://github.com/hazelcast/hazelcast-cpp-client/blob/master/scripts/build-windows.bat#L37 so that the cmake can find these dependencies. You can do differently just adding the dependencies to your VS solution manually as well but I find this as the easiest way. You only need this if you will try your test locally. But otherwise, our CI environment already has these in place.

ihsandemir avatar Dec 14 '20 13:12 ihsandemir