Skip to content

Conversation

@BillyONeal
Copy link

Fixes #1245

boost::uuid::uuid is no longer trivial, and data is no longer an array, but a type providing overloaded operators that attempt to "look like" an array.

These changes should be safe on previous boost versions.

@devOpsHazelcast
Copy link
Contributor

devOpsHazelcast commented Oct 16, 2024

CLA assistant check
All committers have signed the CLA.

@BillyONeal
Copy link
Author

I've asked our Legal folks for permission to sign the CLA.

@BillyONeal
Copy link
Author

Legal gave me permission, CLA now signed :)

@devOpsHazelcast
Copy link
Contributor

PR closed by Hazelcast automation as no activity (>3 months). Please reopen with comments, if necessary. Thank you for using Hazelcast and your valuable contributions

@BillyONeal
Copy link
Author

@JackPGreen Could you reconsider looking at this? If hazelcast can't be built with current boost we are going to be forced to remove it from our curated registry.

@ihsandemir ihsandemir reopened this Feb 11, 2025
@ihsandemir ihsandemir self-requested a review as a code owner February 11, 2025 08:08
Copy link
Collaborator

@ihsandemir ihsandemir left a comment

Choose a reason for hiding this comment

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

Thanks for the PR. It is great findings. I have a single comment.

typename T::value_type>::value &&
std::is_trivial<typename T::value_type::first_type>::value &&
hazelcast::util::is_trivial_or_uuid<typename T::value_type::first_type>::value &&
std::is_trivial<typename T::value_type::second_type>::value,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
std::is_trivial<typename T::value_type::second_type>::value,
hazelcast::util::is_trivial_or_uuid<typename T::value_type::second_type>::value,

there are 6 places in ClientMessage.h which uses std::is_trivial and all needs to change right?

Copy link
Author

Choose a reason for hiding this comment

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

I have to admit I don't really know what this code does; I just checked where they presumably were supposed to go before.

A use of is_trivial only needs to change if you expect that thing to accept boost::uuid in that place.

I think I got all the get overloads, or did I miss one?

Copy link
Collaborator

Choose a reason for hiding this comment

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

@BillyONeal Just sent an update commit for the missing parts. Can you review them if you see any problems. And then, we can merge if the PR is green. It would still be good to see if this code would work in latest boost versions.

}

template<typename T>
typename std::enable_if<std::is_trivial<T>::value, boost::future<T>>::
Copy link
Author

Choose a reason for hiding this comment

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

I don't think the changes in this file have any effect because nobody tried to use this decode function with a boost::uuid. No objection to the change though.

typename T::value_type>::value &&
hazelcast::util::is_trivial_or_uuid<typename T::value_type::first_type>::value &&
std::is_trivial<typename T::value_type::second_type>::value,
hazelcast::util::is_trivial_or_uuid<typename T::value_type::second_type>::value,
Copy link
Author

Choose a reason for hiding this comment

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

I didn't touch this one or the one after because as far as I could see nobody formed vector<pair<trivial, uuid>> but no objection to the change.

@ihsandemir ihsandemir enabled auto-merge (squash) February 19, 2025 14:47
@BillyONeal
Copy link
Author

Unfortunately, it looks like 1.87 broke even more stuff :(

@JackPGreen
Copy link
Contributor

Unfortunately, it looks like 1.87 broke even more stuff :(

I'm not sure if you've spotted something locally, or if it's the failing CI builds - if the latter, this PR has flagged some separate issues that we're addressing in parallel :)

Thanks for the contribution!

@BillyONeal
Copy link
Author

I'm not sure if you've spotted something locally, or if it's the failing CI builds - if the latter, this PR has flagged some separate issues that we're addressing in parallel :)

I mean microsoft/vcpkg#42678 which tries to update vcpkg to 1.87. We are likely to remove hazelcast-cpp-client from our registry in order to take the boost update (and will of course add it back as soon as we have a hazelcast-cpp-client that successfully builds)

@ihsandemir
Copy link
Collaborator

ihsandemir commented Feb 26, 2025

I'm not sure if you've spotted something locally, or if it's the failing CI builds - if the latter, this PR has flagged some separate issues that we're addressing in parallel :)

I mean microsoft/vcpkg#42678 which tries to update vcpkg to 1.87. We are likely to remove hazelcast-cpp-client from our registry in order to take the boost update (and will of course add it back as soon as we have a hazelcast-cpp-client that successfully builds)

It is this reported issue. We have to look for upgrading boost to a more recent version as minimum required version and fixing the related problems.

@BillyONeal
Copy link
Author

I mean microsoft/vcpkg#42678 which tries to update vcpkg to 1.87.

Looks like this landed, which deindexed hazelcast-cpp-client. Just wanted to stress that this isn't intended to be punitive; it's just that the amount of patch to respond to the asio changes was more than we were willing to do as mere package management maintainers. We would love to add it back as soon as we have a copy that works with 1.87.

@JackPGreen
Copy link
Contributor

@ihsandemir now that Boost 1.88 is supported in #1334, is this PR still necessary?

@ihsandemir
Copy link
Collaborator

fixed by #1322

closing this PR.

@ihsandemir ihsandemir closed this Oct 21, 2025
auto-merge was automatically disabled October 21, 2025 14:29

Pull request was closed

@BillyONeal BillyONeal deleted the fix-boost-1-86 branch October 21, 2025 23:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Build failed with Boost 1.86

4 participants