Yossi,

While the statements about backwards compatibility are generally true please 
keep in mind that geode-native pre-modernization was never an official release. 
I strongly recommend you upgrade to an official release. Several bugs, memory 
leaks and security issues have been addressed in the official released versions 
of geode-native.

Unfortunately for you, the pre-modernization branch does not have a simple 
migration path since the official release of geode-native changes almost every 
API to use modern C++11 standards. It isn’t a terribly difficult task to make 
the conversion and this list will be happy to provide assistance with specific 
questions on changes.

A couple of hints:

There is no singleton cache anymore. Create your Cache instance and hold onto 
it. When it is destructed the cache will be closed and destroyed. You can now 
have more than one Cache in a process space. Cache is moveable so you can move 
it into a shared_ptr or unique_ptr.
SharedPtr<T> is now std::shared_ptr<T>.
Use auto keyword everywhere you can.
Nearly all raw pointers are now std::unique_ptr, std::shared_ptr, or references.
All char* have been converted to std::string.
All std::strings are expected to be UTF-8 encoded.
        std::u16string are expected to be UTF-16
        std::u32string are expected to be UTF-32
        std::wstring are platform dependent, but generally UTF-16 or UTF-32.


-Jake



> On Dec 12, 2019, at 2:30 AM, Alberto Gomez <alberto.go...@est.tech> wrote:
> 
> Hi Yossi,
> 
> Version 1.4 of the cpp native client should work with Geode version 1.10. 
> Client/server backward compatibility is a requirement in Geode as described 
> here:
> 
> https://cwiki.apache.org/confluence/display/GEODE/Managing+Backward+Compatibility
> 
> ---------------------------------------------------------------------------------------------
> Client/server backward compatibility
> 
> Client/server backward compatibility must work for all releases. All previous 
> versions of clients must be supported because they may be embedded in 
> applications that users would find difficult, if not impossible, to track 
> down and upgrade.
> 
> ---------------------------------------------------------------------------------------------
> 
> 
> Nevertheless, it is always advisable to use the client in the latest release 
> available, so if it is possible for you to upgrade the clients, the 
> recommendation would be to upgrade to cpp native client version 1.10.
> 
> Best regards,
> 
> /Alberto
> 
> ________________________________
> From: Yossi Reginiano <yossi.regini...@amdocs.com>
> Sent: Thursday, December 12, 2019 9:24 AM
> To: dev@geode.apache.org <dev@geode.apache.org>
> Cc: u...@geode.apache.org <u...@geode.apache.org>
> Subject: upgrade of geode version
> 
> 
> Hi team,
> 
> 
> 
> We are currently using geode version 1.4 and wish to upgrade to version 1.10
> 
> We are still using cpp client geode-native - 
> pre-modernization<https://github.com/apache/geode-native/releases/tag/pre-modernization>
>  (that was released on the 8th of may 2017), can we still work with this 
> client after the upgrade to 1.10?
> 
> If not – which cpp client version is suitable?
> 
> 
> 
> Thanks,
> 
> Yossi Reginiano
> 
> 
> 
> This email and the information contained herein is proprietary and 
> confidential and subject to the Amdocs Email Terms of Service, which you may 
> review at https://www.amdocs.com/about/email-terms-of-service

Reply via email to