Hi folks,
I've deprecated S3_PING [1] and GOOGLE_PING [3]. The replacements are
NATIVE_S3_PING [2] and GOOGLE_PING2 [4].
S3_PING started out as a copy of sample code by Amazon a long time ago,
and - because I never wanted Amazon's dependencies - is quite fat, as it
contains a bunch of dependent classes.
While Amazon's client code has evolved and become more robust, S3_PING
has never changed much, so I suspect it contains a number of bugs and is
possibly also not very efficient.
GOOGLE_PING is a subclass of S3_PING and uses Google's AWS compatibility
library. Thus, GOOGLE_PING inherits all of S3_PING's deficiencies.
A couple of week's ago, I therefore created NATIVE_S3_PING (a port of
Zalando's original protocol of the same name for 3.x), which uses the
AWS client SDK to access S3 storage.
This week, I also committed a first version of GOOGLE_PING2, which doe
not extend S3_PING any longer, but instead uses Google's client library
to access Google Cloud Storage directly.
The benefit of using an official client library instead of the
copy&paste kludge that's called S3_PING is that client libs are
maintained / updated / offer new functionality / yada yada yada.
Since both protocols have depedencies, they're located in the
jgroups-extras repo (
https://github.com/jgroups-extras). I want to core
JGroups repo to be free of any dependencies.
S3_PING and GOOGLE_PING will be removed from JGroups in the next major
version (5.x).
If you have any concerns that functionality currently present in either
S3_PING or GOOGLE_PING is not available in NATIVE_S3_PING or
GOOGLE_PING2, let me know.
Cheers,
[1]
http://www.jgroups.org/manual4/index.html#_s3_ping
[2]
https://github.com/jgroups-extras/native-s3-ping
[3]
http://www.jgroups.org/manual4/index.html#_google_ping
[4]
https://github.com/jgroups-extras/jgroups-google