You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geode.apache.org by Yossi Reginiano <Yo...@amdocs.com> on 2019/12/12 08:24:30 UTC

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 <https://www.amdocs.com/about/email-terms-of-service>

Re: upgrade of geode version

Posted by Jacob Barrett <jb...@pivotal.io>.
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 <al...@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 <Yo...@amdocs.com>
> Sent: Thursday, December 12, 2019 9:24 AM
> To: dev@geode.apache.org <de...@geode.apache.org>
> Cc: user@geode.apache.org <us...@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


Re: upgrade of geode version

Posted by Jacob Barrett <jb...@pivotal.io>.
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 <al...@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 <Yo...@amdocs.com>
> Sent: Thursday, December 12, 2019 9:24 AM
> To: dev@geode.apache.org <de...@geode.apache.org>
> Cc: user@geode.apache.org <us...@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


Re: upgrade of geode version

Posted by Alberto Gomez <al...@est.tech>.
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 <Yo...@amdocs.com>
Sent: Thursday, December 12, 2019 9:24 AM
To: dev@geode.apache.org <de...@geode.apache.org>
Cc: user@geode.apache.org <us...@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

Re: upgrade of geode version

Posted by Alberto Gomez <al...@est.tech>.
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 <Yo...@amdocs.com>
Sent: Thursday, December 12, 2019 9:24 AM
To: dev@geode.apache.org <de...@geode.apache.org>
Cc: user@geode.apache.org <us...@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