[Geoserver-devel] Request to upgrade guava dependency version

Hi all,

As geogit approaches to a stable version, at Boundless we’re working on the integration story with geoserver, for which we have a DataStore implementation that can serve data through geoserver out of a geogit repository.

I managed to retrofit a bunch of dependency versions to match older versions used by geoserver, but the problematic one is google’s guava, because geogit requires version 14.0.1 at the minimum for its implementation of node hashing, which is two versions ahead of the one currently used by geoserver/gwc.

There’s also another open source project, a geoservices rest api implementation prototype, that uses json-schema-validator, which in turn requires guava 13.0.1 at the minimum, due to a known bug that’s being fixed in a newer version <https://github.com/fge/json-schema-validator/issues/39>

So in order to homogenize and be nice to these downstream projects I’m asking for permission to upgrade our current guava dependency, both in geoserver and geowebcache.

We would also need this upgrade to be backported to geoserver 2.5.x and 2.4.x, since our client has a testing infrastructure that requires geoserver 2.4-SNAPSHOT.

The current dependency is at version 11.0.1 (from 2012) to 14.0.1 (from 2013), or to the latest stable version instead.
The latest guava version is 16.0.1 (from 2014-01-17, my birthday btw).

Upgrading to the latest would require a couple minimal extra changes due to the fact that Closeables.closeQuitely(Closeable) was deprecated in 14.0.1 and removed in 15.0.1. For instance: <https://github.com/groldan/geoserver/commit/211a12d306becc3b950b8506f19743e7cd4d36e3>

If interested in checking what the changes would look like, here are the relevant branches to both projects:

<https://github.com/groldan/geoserver/tree/upgrade_guava_14.0.1>
<https://github.com/groldan/geoserver/commits/upgrade_guava_16.0.1>

<https://github.com/groldan/geowebcache/tree/upgrade_guava_14.0.1>
<https://github.com/groldan/geowebcache/tree/upgrade_guava_16.0.1>

Looking forward to your comments and advise on how to proceed.

Cheers,
Gabriel

Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com

@gabrielroldan

On Fri, Mar 21, 2014 at 4:01 PM, Gabriel Roldan <groldan@anonymised.com>wrote:

If interested in checking what the changes would look like, here are the
relevant branches to both projects:

<https://github.com/groldan/geoserver/tree/upgrade_guava_14.0.1&gt;
<https://github.com/groldan/geoserver/commits/upgrade_guava_16.0.1&gt;

<https://github.com/groldan/geowebcache/tree/upgrade_guava_14.0.1&gt;
<https://github.com/groldan/geowebcache/tree/upgrade_guava_16.0.1&gt;

Looking forward to your comments and advise on how to proceed.

Hi, +1 on both changes on master, they seem pretty small. Actually, if you
want to upgrade other libraries as well,
I for one would be happy to see that too.

Then we have the stable series, 2.5.x. Not so sure about changing the
library version there, I would at least
wait a month before doing a backport there.

And then there is the maintenance one, 2.4.x. Even less thrilled to see it
there, but maybe we could
wait and have a 2.5.x with the library upgrade released and see how that
goes before porting back
to the maintenance series?

I'm probably just being overcautious, but I have no experience with guava
upgrades (and how good
at backwards compat behavior they are).

Cheers
Andrea

--

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

Thanks for the quick reply.

···

On Fri, Mar 21, 2014 at 12:22 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

okay

not for the time being.

You probably are, but that’s a good thing.
I’ve to say imho its as serious as it gets in managing api and compatibility.
I did an assessment of which guava features are used in the code base, and they are pretty minimal and have been frozen for years. For instance:

  • Function and Predicate, just interfaces and totally frozen since I started using guava at version 9
  • Preconditions, Throwables, Files, ByteStreams, Strings, and Stopwatch utility classes: no changes
  • Cache/CacheBuilder: unchanged since 11.0.1.
  • Collections: by far the most stable part of the library, plus guava guarantees full compliance to the java.util collections contracts in all its collections implementations, as opposed to commons-collections that have a lot for ill-behaved ones.

I have built successfully all the modules that use guava at all, which are main, extensions/wps, community/jdbcconfig, community/script, and gwc

All that said, I’m fine with a wait and see period too. In the mean time I can manage to manually replace the jar and so.

Cheers,
Gabriel

Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com

@gabrielroldan

On Fri, Mar 21, 2014 at 4:01 PM, Gabriel Roldan <groldan@anonymised.com> wrote:

If interested in checking what the changes would look like, here are the relevant branches to both projects:

<https://github.com/groldan/geoserver/tree/upgrade_guava_14.0.1>
<https://github.com/groldan/geoserver/commits/upgrade_guava_16.0.1>

<https://github.com/groldan/geowebcache/tree/upgrade_guava_14.0.1>
<https://github.com/groldan/geowebcache/tree/upgrade_guava_16.0.1>

Looking forward to your comments and advise on how to proceed.

Hi, +1 on both changes on master, they seem pretty small.

Actually, if you want to upgrade other libraries as well,
I for one would be happy to see that too.

Then we have the stable series, 2.5.x. Not so sure about changing the library version there, I would at least
wait a month before doing a backport there.

And then there is the maintenance one, 2.4.x. Even less thrilled to see it there, but maybe we could
wait and have a 2.5.x with the library upgrade released and see how that goes before porting back
to the maintenance series?

I’m probably just being overcautious, but I have no experience with guava upgrades (and how good
at backwards compat behavior they are).

Cheers
Andrea

==
Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


Hey all, reviving this thread.

Is it ok to move forward with this change? We'd prefer to see it on
both master and 2.5.x if everyone is comfortable with that. Or, we can
wait with the backport for a month as Andrea mentioned on 2.5.x and
only apply this to master.

On Fri, Mar 21, 2014 at 12:15 PM, Gabriel Roldan
<groldan@anonymised.com> wrote:

Thanks for the quick reply.

On Fri, Mar 21, 2014 at 12:22 PM, Andrea Aime <andrea.aime@anonymised.com>
wrote:

On Fri, Mar 21, 2014 at 4:01 PM, Gabriel Roldan <groldan@anonymised.com>
wrote:

If interested in checking what the changes would look like, here are the
relevant branches to both projects:

<https://github.com/groldan/geoserver/tree/upgrade_guava_14.0.1&gt;
<https://github.com/groldan/geoserver/commits/upgrade_guava_16.0.1&gt;

<https://github.com/groldan/geowebcache/tree/upgrade_guava_14.0.1&gt;
<https://github.com/groldan/geowebcache/tree/upgrade_guava_16.0.1&gt;

Looking forward to your comments and advise on how to proceed.

Hi, +1 on both changes on master, they seem pretty small.

okay

Actually, if you want to upgrade other libraries as well,
I for one would be happy to see that too.

not for the time being.

Then we have the stable series, 2.5.x. Not so sure about changing the
library version there, I would at least
wait a month before doing a backport there.

And then there is the maintenance one, 2.4.x. Even less thrilled to see it
there, but maybe we could
wait and have a 2.5.x with the library upgrade released and see how that
goes before porting back
to the maintenance series?

I'm probably just being overcautious, but I have no experience with guava
upgrades (and how good
at backwards compat behavior they are).

You probably are, but that's a good thing.
I've to say imho its as serious as it gets in managing api and
compatibility.
I did an assessment of which guava features are used in the code base, and
they are pretty minimal and have been frozen for years. For instance:
- Function and Predicate, just interfaces and totally frozen since I started
using guava at version 9
- Preconditions, Throwables, Files, ByteStreams, Strings, and Stopwatch
utility classes: no changes
- Cache/CacheBuilder: unchanged since 11.0.1.
- Collections: by far the most stable part of the library, plus guava
guarantees full compliance to the java.util collections contracts in all its
collections implementations, as opposed to commons-collections that have a
lot for ill-behaved ones.

I have built successfully all the modules that use guava at all, which are
main, extensions/wps, community/jdbcconfig, community/script, and gwc

All that said, I'm fine with a wait and see period too. In the mean time I
can manage to manually replace the jar and so.

Cheers,
Gabriel

Cheers
Andrea

--

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

--

Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com

@gabrielroldan

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--
Robert Marianski
Software Engineer | Boundless
rmarianski@anonymised.com
@boundlessgeo

If you want to throw together a pull request for master Rob that would be great, I don’t see any reason not to merge it right away.

Personally I would be fine with the upgrade on 2.5.x as well since it is a safe upgrade and nothing really core depends on it. But others may feel differently. Let’s see how the other devs feel and whether we need a waiting period for the 2.5.x backport.

···

On Mon, Jun 9, 2014 at 11:30 AM, Rob Marianski <rmarianski@anonymised.com> wrote:

Hey all, reviving this thread.

Is it ok to move forward with this change? We’d prefer to see it on
both master and 2.5.x if everyone is comfortable with that. Or, we can
wait with the backport for a month as Andrea mentioned on 2.5.x and
only apply this to master.

On Fri, Mar 21, 2014 at 12:15 PM, Gabriel Roldan

<groldan@anonymised.com.3839…> wrote:

Thanks for the quick reply.

On Fri, Mar 21, 2014 at 12:22 PM, Andrea Aime <andrea.aime@anonymised.com>
wrote:

On Fri, Mar 21, 2014 at 4:01 PM, Gabriel Roldan <groldan@anonymised.com>
wrote:

If interested in checking what the changes would look like, here are the
relevant branches to both projects:

<https://github.com/groldan/geoserver/tree/upgrade_guava_14.0.1>
<https://github.com/groldan/geoserver/commits/upgrade_guava_16.0.1>

<https://github.com/groldan/geowebcache/tree/upgrade_guava_14.0.1>
<https://github.com/groldan/geowebcache/tree/upgrade_guava_16.0.1>

Looking forward to your comments and advise on how to proceed.

Hi, +1 on both changes on master, they seem pretty small.

okay

Actually, if you want to upgrade other libraries as well,
I for one would be happy to see that too.

not for the time being.

Then we have the stable series, 2.5.x. Not so sure about changing the
library version there, I would at least
wait a month before doing a backport there.

And then there is the maintenance one, 2.4.x. Even less thrilled to see it
there, but maybe we could
wait and have a 2.5.x with the library upgrade released and see how that
goes before porting back
to the maintenance series?

I’m probably just being overcautious, but I have no experience with guava
upgrades (and how good
at backwards compat behavior they are).

You probably are, but that’s a good thing.
I’ve to say imho its as serious as it gets in managing api and
compatibility.
I did an assessment of which guava features are used in the code base, and
they are pretty minimal and have been frozen for years. For instance:

  • Function and Predicate, just interfaces and totally frozen since I started
    using guava at version 9
  • Preconditions, Throwables, Files, ByteStreams, Strings, and Stopwatch
    utility classes: no changes
  • Cache/CacheBuilder: unchanged since 11.0.1.
  • Collections: by far the most stable part of the library, plus guava
    guarantees full compliance to the java.util collections contracts in all its
    collections implementations, as opposed to commons-collections that have a
    lot for ill-behaved ones.

I have built successfully all the modules that use guava at all, which are
main, extensions/wps, community/jdbcconfig, community/script, and gwc

All that said, I’m fine with a wait and see period too. In the mean time I
can manage to manually replace the jar and so.

Cheers,
Gabriel

Cheers
Andrea

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com

@gabrielroldan


Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Robert Marianski
Software Engineer | Boundless
rmarianski@anonymised.com
@boundlessgeo


HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems


Geoserver-devel mailing list
Geoserver-devel@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Justin Deoliveira
Vice President, Engineering | Boundless
jdeolive@anonymised.com
@j_deolive

Any preference for guava version 14 vs 16? I'd be inclined to just
jump all the way to 16 if there aren't any objections.

Actually, version 17 of guava is out now. Would it be better to target
that? Glancing at the release notes, it doesn't look like we'd be
affected:
http://code.google.com/p/guava-libraries/wiki/Release17

On Mon, Jun 9, 2014 at 2:03 PM, Justin Deoliveira
<jdeolive@anonymised.com> wrote:

If you want to throw together a pull request for master Rob that would be
great, I don't see any reason not to merge it right away.

Personally I would be fine with the upgrade on 2.5.x as well since it is a
safe upgrade and nothing really core depends on it. But others may feel
differently. Let's see how the other devs feel and whether we need a waiting
period for the 2.5.x backport.

On Mon, Jun 9, 2014 at 11:30 AM, Rob Marianski <rmarianski@anonymised.com>
wrote:

Hey all, reviving this thread.

Is it ok to move forward with this change? We'd prefer to see it on
both master and 2.5.x if everyone is comfortable with that. Or, we can
wait with the backport for a month as Andrea mentioned on 2.5.x and
only apply this to master.

On Fri, Mar 21, 2014 at 12:15 PM, Gabriel Roldan
<groldan@anonymised.com> wrote:
> Thanks for the quick reply.
>
> On Fri, Mar 21, 2014 at 12:22 PM, Andrea Aime
> <andrea.aime@anonymised.com>
> wrote:
>>
>> On Fri, Mar 21, 2014 at 4:01 PM, Gabriel Roldan
>> <groldan@anonymised.com>
>> wrote:
>>>
>>> If interested in checking what the changes would look like, here are
>>> the
>>> relevant branches to both projects:
>>>
>>> <https://github.com/groldan/geoserver/tree/upgrade_guava_14.0.1&gt;
>>> <https://github.com/groldan/geoserver/commits/upgrade_guava_16.0.1&gt;
>>>
>>> <https://github.com/groldan/geowebcache/tree/upgrade_guava_14.0.1&gt;
>>> <https://github.com/groldan/geowebcache/tree/upgrade_guava_16.0.1&gt;
>>>
>>> Looking forward to your comments and advise on how to proceed.
>>
>>
>> Hi, +1 on both changes on master, they seem pretty small.
>
> okay
>
>>
>> Actually, if you want to upgrade other libraries as well,
>> I for one would be happy to see that too.
>
> not for the time being.
>
>>
>>
>> Then we have the stable series, 2.5.x. Not so sure about changing the
>> library version there, I would at least
>> wait a month before doing a backport there.
>>
>> And then there is the maintenance one, 2.4.x. Even less thrilled to see
>> it
>> there, but maybe we could
>> wait and have a 2.5.x with the library upgrade released and see how
>> that
>> goes before porting back
>> to the maintenance series?
>>
>> I'm probably just being overcautious, but I have no experience with
>> guava
>> upgrades (and how good
>> at backwards compat behavior they are).
>>
> You probably are, but that's a good thing.
> I've to say imho its as serious as it gets in managing api and
> compatibility.
> I did an assessment of which guava features are used in the code base,
> and
> they are pretty minimal and have been frozen for years. For instance:
> - Function and Predicate, just interfaces and totally frozen since I
> started
> using guava at version 9
> - Preconditions, Throwables, Files, ByteStreams, Strings, and Stopwatch
> utility classes: no changes
> - Cache/CacheBuilder: unchanged since 11.0.1.
> - Collections: by far the most stable part of the library, plus guava
> guarantees full compliance to the java.util collections contracts in all
> its
> collections implementations, as opposed to commons-collections that have
> a
> lot for ill-behaved ones.
>
> I have built successfully all the modules that use guava at all, which
> are
> main, extensions/wps, community/jdbcconfig, community/script, and gwc
>
> All that said, I'm fine with a wait and see period too. In the mean time
> I
> can manage to manually replace the jar and so.
>
> Cheers,
> Gabriel
>
>
>>
>> Cheers
>> Andrea
>>
>> --
>> ==
>> Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
>> for more information.
>> ==
>>
>> Ing. Andrea Aime
>> @geowolf
>> Technical Lead
>>
>> GeoSolutions S.A.S.
>> Via Poggio alle Viti 1187
>> 55054 Massarosa (LU)
>> Italy
>> phone: +39 0584 962313
>> fax: +39 0584 1660272
>> mob: +39 339 8844549
>>
>> http://www.geo-solutions.it
>> http://twitter.com/geosolutions_it
>>
>> -------------------------------------------------------
>
>
>
>
> --
>
> Gabriel Roldán
>
> Software Developer | Boundless
>
> groldan@anonymised.com
>
> @gabrielroldan
>
>
> ------------------------------------------------------------------------------
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and
> their
> applications. Written by three acclaimed leaders in the field,
> this first edition is now available. Download your free book today!
> http://p.sf.net/sfu/13534_NeoTech
> _______________________________________________
> Geoserver-devel mailing list
> Geoserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>

--
Robert Marianski
Software Engineer | Boundless
rmarianski@anonymised.com
@boundlessgeo

------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems

_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--
Justin Deoliveira
Vice President, Engineering | Boundless
jdeolive@anonymised.com
@j_deolive

--
Robert Marianski
Software Engineer | Boundless
rmarianski@anonymised.com
@boundlessgeo

Hi Rob,

thanks for resurrecting this thread. I have created a PR to upgrade master to guava 17.0 <https://github.com/geoserver/geoserver/pull/613>

@jdeolive it’s assigned to you in case you have a chance to take a look at it.

Cheers,
Gabriel

···

On Mon, Jun 9, 2014 at 3:57 PM, Rob Marianski <rmarianski@anonymised.com> wrote:

Any preference for guava version 14 vs 16? I’d be inclined to just
jump all the way to 16 if there aren’t any objections.

Actually, version 17 of guava is out now. Would it be better to target
that? Glancing at the release notes, it doesn’t look like we’d be
affected:
http://code.google.com/p/guava-libraries/wiki/Release17

On Mon, Jun 9, 2014 at 2:03 PM, Justin Deoliveira
<jdeolive@anonymised.com> wrote:

If you want to throw together a pull request for master Rob that would be
great, I don’t see any reason not to merge it right away.

Personally I would be fine with the upgrade on 2.5.x as well since it is a
safe upgrade and nothing really core depends on it. But others may feel
differently. Let’s see how the other devs feel and whether we need a waiting
period for the 2.5.x backport.

On Mon, Jun 9, 2014 at 11:30 AM, Rob Marianski <rmarianski@anonymised.com>
wrote:

Hey all, reviving this thread.

Is it ok to move forward with this change? We’d prefer to see it on
both master and 2.5.x if everyone is comfortable with that. Or, we can
wait with the backport for a month as Andrea mentioned on 2.5.x and
only apply this to master.

On Fri, Mar 21, 2014 at 12:15 PM, Gabriel Roldan
<groldan@anonymised.com> wrote:

Thanks for the quick reply.

On Fri, Mar 21, 2014 at 12:22 PM, Andrea Aime
<andrea.aime@anonymised.com1268…>
wrote:

On Fri, Mar 21, 2014 at 4:01 PM, Gabriel Roldan
<groldan@anonymised.com…>
wrote:

If interested in checking what the changes would look like, here are
the
relevant branches to both projects:

<https://github.com/groldan/geoserver/tree/upgrade_guava_14.0.1>
<https://github.com/groldan/geoserver/commits/upgrade_guava_16.0.1>

<https://github.com/groldan/geowebcache/tree/upgrade_guava_14.0.1>
<https://github.com/groldan/geowebcache/tree/upgrade_guava_16.0.1>

Looking forward to your comments and advise on how to proceed.

Hi, +1 on both changes on master, they seem pretty small.

okay

Actually, if you want to upgrade other libraries as well,
I for one would be happy to see that too.

not for the time being.

Then we have the stable series, 2.5.x. Not so sure about changing the
library version there, I would at least
wait a month before doing a backport there.

And then there is the maintenance one, 2.4.x. Even less thrilled to see
it
there, but maybe we could
wait and have a 2.5.x with the library upgrade released and see how
that
goes before porting back
to the maintenance series?

I’m probably just being overcautious, but I have no experience with
guava
upgrades (and how good
at backwards compat behavior they are).

You probably are, but that’s a good thing.
I’ve to say imho its as serious as it gets in managing api and
compatibility.
I did an assessment of which guava features are used in the code base,
and
they are pretty minimal and have been frozen for years. For instance:

  • Function and Predicate, just interfaces and totally frozen since I
    started
    using guava at version 9
  • Preconditions, Throwables, Files, ByteStreams, Strings, and Stopwatch
    utility classes: no changes
  • Cache/CacheBuilder: unchanged since 11.0.1.
  • Collections: by far the most stable part of the library, plus guava
    guarantees full compliance to the java.util collections contracts in all
    its
    collections implementations, as opposed to commons-collections that have
    a
    lot for ill-behaved ones.

I have built successfully all the modules that use guava at all, which
are
main, extensions/wps, community/jdbcconfig, community/script, and gwc

All that said, I’m fine with a wait and see period too. In the mean time
I
can manage to manually replace the jar and so.

Cheers,
Gabriel

Cheers
Andrea

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com

@gabrielroldan


Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and
their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Robert Marianski
Software Engineer | Boundless
rmarianski@anonymised.com
@boundlessgeo


HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Justin Deoliveira
Vice President, Engineering | Boundless
jdeolive@anonymised.com
@j_deolive


Robert Marianski
Software Engineer | Boundless
rmarianski@anonymised.com
@boundlessgeo

Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com

@gabrielroldan

It looks like Guava dropped its maven dependency on jrs305 in recent versions so anywhere @Nullable is being used without explicitly adding jsr305 breaks. Having fixed that, GWC master and 1.5.x seem to work with Guava 17.

···

On 9 June 2014 11:57, Rob Marianski <rmarianski@anonymised.com> wrote:

Any preference for guava version 14 vs 16? I’d be inclined to just
jump all the way to 16 if there aren’t any objections.

Actually, version 17 of guava is out now. Would it be better to target
that? Glancing at the release notes, it doesn’t look like we’d be
affected:
http://code.google.com/p/guava-libraries/wiki/Release17

On Mon, Jun 9, 2014 at 2:03 PM, Justin Deoliveira
<jdeolive@anonymised.com> wrote:

If you want to throw together a pull request for master Rob that would be
great, I don’t see any reason not to merge it right away.

Personally I would be fine with the upgrade on 2.5.x as well since it is a
safe upgrade and nothing really core depends on it. But others may feel
differently. Let’s see how the other devs feel and whether we need a waiting
period for the 2.5.x backport.

On Mon, Jun 9, 2014 at 11:30 AM, Rob Marianski <rmarianski@anonymised.com>
wrote:

Hey all, reviving this thread.

Is it ok to move forward with this change? We’d prefer to see it on
both master and 2.5.x if everyone is comfortable with that. Or, we can
wait with the backport for a month as Andrea mentioned on 2.5.x and
only apply this to master.

On Fri, Mar 21, 2014 at 12:15 PM, Gabriel Roldan
<groldan@anonymised.com> wrote:

Thanks for the quick reply.

On Fri, Mar 21, 2014 at 12:22 PM, Andrea Aime
<andrea.aime@anonymised.com1268…>
wrote:

On Fri, Mar 21, 2014 at 4:01 PM, Gabriel Roldan
<groldan@anonymised.com…>
wrote:

If interested in checking what the changes would look like, here are
the
relevant branches to both projects:

<https://github.com/groldan/geoserver/tree/upgrade_guava_14.0.1>
<https://github.com/groldan/geoserver/commits/upgrade_guava_16.0.1>

<https://github.com/groldan/geowebcache/tree/upgrade_guava_14.0.1>
<https://github.com/groldan/geowebcache/tree/upgrade_guava_16.0.1>

Looking forward to your comments and advise on how to proceed.

Hi, +1 on both changes on master, they seem pretty small.

okay

Actually, if you want to upgrade other libraries as well,
I for one would be happy to see that too.

not for the time being.

Then we have the stable series, 2.5.x. Not so sure about changing the
library version there, I would at least
wait a month before doing a backport there.

And then there is the maintenance one, 2.4.x. Even less thrilled to see
it
there, but maybe we could
wait and have a 2.5.x with the library upgrade released and see how
that
goes before porting back
to the maintenance series?

I’m probably just being overcautious, but I have no experience with
guava
upgrades (and how good
at backwards compat behavior they are).

You probably are, but that’s a good thing.
I’ve to say imho its as serious as it gets in managing api and
compatibility.
I did an assessment of which guava features are used in the code base,
and
they are pretty minimal and have been frozen for years. For instance:

  • Function and Predicate, just interfaces and totally frozen since I
    started
    using guava at version 9
  • Preconditions, Throwables, Files, ByteStreams, Strings, and Stopwatch
    utility classes: no changes
  • Cache/CacheBuilder: unchanged since 11.0.1.
  • Collections: by far the most stable part of the library, plus guava
    guarantees full compliance to the java.util collections contracts in all
    its
    collections implementations, as opposed to commons-collections that have
    a
    lot for ill-behaved ones.

I have built successfully all the modules that use guava at all, which
are
main, extensions/wps, community/jdbcconfig, community/script, and gwc

All that said, I’m fine with a wait and see period too. In the mean time
I
can manage to manually replace the jar and so.

Cheers,
Gabriel

Cheers
Andrea

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com

@gabrielroldan


Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and
their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Robert Marianski
Software Engineer | Boundless
rmarianski@anonymised.com
@boundlessgeo


HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Justin Deoliveira
Vice President, Engineering | Boundless
jdeolive@anonymised.com
@j_deolive


Robert Marianski
Software Engineer | Boundless
rmarianski@anonymised.com
@boundlessgeo


HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems


Geoserver-devel mailing list
Geoserver-devel@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Kevin Smith

Junior Software Engineer | Boundless

ksmith@anonymised.com

+1-778-785-7459

@boundlessgeo

That’s right, check the commit notes and the patch on the PR I just mentioned. Do you want me to create a PR for gwc or do you got it already?

···

On Mon, Jun 9, 2014 at 8:15 PM, Kevin Smith <ksmith@anonymised.com> wrote:

It looks like Guava dropped its maven dependency on jrs305 in recent versions so anywhere @Nullable is being used without explicitly adding jsr305 breaks. Having fixed that, GWC master and 1.5.x seem to work with Guava 17.


HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems


Geowebcache-devel mailing list
Geowebcache-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geowebcache-devel

Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com

@gabrielroldan

On 9 June 2014 11:57, Rob Marianski <rmarianski@…3839…> wrote:

Any preference for guava version 14 vs 16? I’d be inclined to just
jump all the way to 16 if there aren’t any objections.

Actually, version 17 of guava is out now. Would it be better to target
that? Glancing at the release notes, it doesn’t look like we’d be
affected:
http://code.google.com/p/guava-libraries/wiki/Release17

On Mon, Jun 9, 2014 at 2:03 PM, Justin Deoliveira
<jdeolive@anonymised.com39…> wrote:

If you want to throw together a pull request for master Rob that would be
great, I don’t see any reason not to merge it right away.

Personally I would be fine with the upgrade on 2.5.x as well since it is a
safe upgrade and nothing really core depends on it. But others may feel
differently. Let’s see how the other devs feel and whether we need a waiting
period for the 2.5.x backport.

On Mon, Jun 9, 2014 at 11:30 AM, Rob Marianski <rmarianski@anonymised.com>
wrote:

Hey all, reviving this thread.

Is it ok to move forward with this change? We’d prefer to see it on
both master and 2.5.x if everyone is comfortable with that. Or, we can
wait with the backport for a month as Andrea mentioned on 2.5.x and
only apply this to master.

On Fri, Mar 21, 2014 at 12:15 PM, Gabriel Roldan
<groldan@anonymised.com> wrote:

Thanks for the quick reply.

On Fri, Mar 21, 2014 at 12:22 PM, Andrea Aime
<andrea.aime@anonymised.com>
wrote:

On Fri, Mar 21, 2014 at 4:01 PM, Gabriel Roldan
<groldan@anonymised.com>
wrote:

If interested in checking what the changes would look like, here are
the
relevant branches to both projects:

<https://github.com/groldan/geoserver/tree/upgrade_guava_14.0.1>
<https://github.com/groldan/geoserver/commits/upgrade_guava_16.0.1>

<https://github.com/groldan/geowebcache/tree/upgrade_guava_14.0.1>
<https://github.com/groldan/geowebcache/tree/upgrade_guava_16.0.1>

Looking forward to your comments and advise on how to proceed.

Hi, +1 on both changes on master, they seem pretty small.

okay

Actually, if you want to upgrade other libraries as well,
I for one would be happy to see that too.

not for the time being.

Then we have the stable series, 2.5.x. Not so sure about changing the
library version there, I would at least
wait a month before doing a backport there.

And then there is the maintenance one, 2.4.x. Even less thrilled to see
it
there, but maybe we could
wait and have a 2.5.x with the library upgrade released and see how
that
goes before porting back
to the maintenance series?

I’m probably just being overcautious, but I have no experience with
guava
upgrades (and how good
at backwards compat behavior they are).

You probably are, but that’s a good thing.
I’ve to say imho its as serious as it gets in managing api and
compatibility.
I did an assessment of which guava features are used in the code base,
and
they are pretty minimal and have been frozen for years. For instance:

  • Function and Predicate, just interfaces and totally frozen since I
    started
    using guava at version 9
  • Preconditions, Throwables, Files, ByteStreams, Strings, and Stopwatch
    utility classes: no changes
  • Cache/CacheBuilder: unchanged since 11.0.1.
  • Collections: by far the most stable part of the library, plus guava
    guarantees full compliance to the java.util collections contracts in all
    its
    collections implementations, as opposed to commons-collections that have
    a
    lot for ill-behaved ones.

I have built successfully all the modules that use guava at all, which
are
main, extensions/wps, community/jdbcconfig, community/script, and gwc

All that said, I’m fine with a wait and see period too. In the mean time
I
can manage to manually replace the jar and so.

Cheers,
Gabriel

Cheers
Andrea

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com

@gabrielroldan


Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and
their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Robert Marianski
Software Engineer | Boundless
rmarianski@anonymised.com
@boundlessgeo


HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Justin Deoliveira
Vice President, Engineering | Boundless
jdeolive@anonymised.com839…
@j_deolive


Robert Marianski
Software Engineer | Boundless
rmarianski@anonymised.com39…
@boundlessgeo


HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Kevin Smith

Junior Software Engineer | Boundless

ksmith@anonymised.com

+1-778-785-7459

@boundlessgeo

Ok, here’s the GWC PR <https://github.com/GeoWebCache/geowebcache/pull/256> (got it already for 16.0.1 so it was easy)

···

On Mon, Jun 9, 2014 at 8:17 PM, Gabriel Roldan <groldan@anonymised.com> wrote:

That’s right, check the commit notes and the patch on the PR I just mentioned. Do you want me to create a PR for gwc or do you got it already?

Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com

@gabrielroldan

On Mon, Jun 9, 2014 at 8:15 PM, Kevin Smith <ksmith@anonymised.com> wrote:

It looks like Guava dropped its maven dependency on jrs305 in recent versions so anywhere @Nullable is being used without explicitly adding jsr305 breaks. Having fixed that, GWC master and 1.5.x seem to work with Guava 17.


HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems


Geowebcache-devel mailing list
Geowebcache-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geowebcache-devel

Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com

@gabrielroldan

On 9 June 2014 11:57, Rob Marianski <rmarianski@anonymised.com> wrote:

Any preference for guava version 14 vs 16? I’d be inclined to just
jump all the way to 16 if there aren’t any objections.

Actually, version 17 of guava is out now. Would it be better to target
that? Glancing at the release notes, it doesn’t look like we’d be
affected:
http://code.google.com/p/guava-libraries/wiki/Release17

On Mon, Jun 9, 2014 at 2:03 PM, Justin Deoliveira
<jdeolive@anonymised.com39…> wrote:

If you want to throw together a pull request for master Rob that would be
great, I don’t see any reason not to merge it right away.

Personally I would be fine with the upgrade on 2.5.x as well since it is a
safe upgrade and nothing really core depends on it. But others may feel
differently. Let’s see how the other devs feel and whether we need a waiting
period for the 2.5.x backport.

On Mon, Jun 9, 2014 at 11:30 AM, Rob Marianski <rmarianski@anonymised.com>
wrote:

Hey all, reviving this thread.

Is it ok to move forward with this change? We’d prefer to see it on
both master and 2.5.x if everyone is comfortable with that. Or, we can
wait with the backport for a month as Andrea mentioned on 2.5.x and
only apply this to master.

On Fri, Mar 21, 2014 at 12:15 PM, Gabriel Roldan
<groldan@anonymised.com> wrote:

Thanks for the quick reply.

On Fri, Mar 21, 2014 at 12:22 PM, Andrea Aime
<andrea.aime@anonymised.com>
wrote:

On Fri, Mar 21, 2014 at 4:01 PM, Gabriel Roldan
<groldan@anonymised.com>
wrote:

If interested in checking what the changes would look like, here are
the
relevant branches to both projects:

<https://github.com/groldan/geoserver/tree/upgrade_guava_14.0.1>
<https://github.com/groldan/geoserver/commits/upgrade_guava_16.0.1>

<https://github.com/groldan/geowebcache/tree/upgrade_guava_14.0.1>
<https://github.com/groldan/geowebcache/tree/upgrade_guava_16.0.1>

Looking forward to your comments and advise on how to proceed.

Hi, +1 on both changes on master, they seem pretty small.

okay

Actually, if you want to upgrade other libraries as well,
I for one would be happy to see that too.

not for the time being.

Then we have the stable series, 2.5.x. Not so sure about changing the
library version there, I would at least
wait a month before doing a backport there.

And then there is the maintenance one, 2.4.x. Even less thrilled to see
it
there, but maybe we could
wait and have a 2.5.x with the library upgrade released and see how
that
goes before porting back
to the maintenance series?

I’m probably just being overcautious, but I have no experience with
guava
upgrades (and how good
at backwards compat behavior they are).

You probably are, but that’s a good thing.
I’ve to say imho its as serious as it gets in managing api and
compatibility.
I did an assessment of which guava features are used in the code base,
and
they are pretty minimal and have been frozen for years. For instance:

  • Function and Predicate, just interfaces and totally frozen since I
    started
    using guava at version 9
  • Preconditions, Throwables, Files, ByteStreams, Strings, and Stopwatch
    utility classes: no changes
  • Cache/CacheBuilder: unchanged since 11.0.1.
  • Collections: by far the most stable part of the library, plus guava
    guarantees full compliance to the java.util collections contracts in all
    its
    collections implementations, as opposed to commons-collections that have
    a
    lot for ill-behaved ones.

I have built successfully all the modules that use guava at all, which
are
main, extensions/wps, community/jdbcconfig, community/script, and gwc

All that said, I’m fine with a wait and see period too. In the mean time
I
can manage to manually replace the jar and so.

Cheers,
Gabriel

Cheers
Andrea

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com

@gabrielroldan


Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and
their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Robert Marianski
Software Engineer | Boundless
rmarianski@anonymised.com
@boundlessgeo


HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Justin Deoliveira
Vice President, Engineering | Boundless
jdeolive@anonymised.com839…
@j_deolive


Robert Marianski
Software Engineer | Boundless
rmarianski@anonymised.com39…
@boundlessgeo


HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Kevin Smith

Junior Software Engineer | Boundless

ksmith@anonymised.com

+1-778-785-7459

@boundlessgeo

GeoServer PR merged. Didn’t have much of a choice since the GWC was already merged.

···

On Mon, Jun 9, 2014 at 5:23 PM, Gabriel Roldan <groldan@anonymised.com> wrote:

Ok, here’s the GWC PR <https://github.com/GeoWebCache/geowebcache/pull/256> (got it already for 16.0.1 so it was easy)


HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems


Geowebcache-devel mailing list
Geowebcache-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geowebcache-devel

Justin Deoliveira
Vice President, Engineering | Boundless
jdeolive@anonymised.com
@j_deolive

On Mon, Jun 9, 2014 at 8:17 PM, Gabriel Roldan <groldan@anonymised.com> wrote:

That’s right, check the commit notes and the patch on the PR I just mentioned. Do you want me to create a PR for gwc or do you got it already?

Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com

@gabrielroldan

On Mon, Jun 9, 2014 at 8:15 PM, Kevin Smith <ksmith@anonymised.com> wrote:

It looks like Guava dropped its maven dependency on jrs305 in recent versions so anywhere @Nullable is being used without explicitly adding jsr305 breaks. Having fixed that, GWC master and 1.5.x seem to work with Guava 17.


HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems


Geowebcache-devel mailing list
Geowebcache-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geowebcache-devel

Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com

@gabrielroldan

On 9 June 2014 11:57, Rob Marianski <rmarianski@anonymised.com> wrote:

Any preference for guava version 14 vs 16? I’d be inclined to just
jump all the way to 16 if there aren’t any objections.

Actually, version 17 of guava is out now. Would it be better to target
that? Glancing at the release notes, it doesn’t look like we’d be
affected:
http://code.google.com/p/guava-libraries/wiki/Release17

On Mon, Jun 9, 2014 at 2:03 PM, Justin Deoliveira
<jdeolive@anonymised.com39…> wrote:

If you want to throw together a pull request for master Rob that would be
great, I don’t see any reason not to merge it right away.

Personally I would be fine with the upgrade on 2.5.x as well since it is a
safe upgrade and nothing really core depends on it. But others may feel
differently. Let’s see how the other devs feel and whether we need a waiting
period for the 2.5.x backport.

On Mon, Jun 9, 2014 at 11:30 AM, Rob Marianski <rmarianski@anonymised.com>
wrote:

Hey all, reviving this thread.

Is it ok to move forward with this change? We’d prefer to see it on
both master and 2.5.x if everyone is comfortable with that. Or, we can
wait with the backport for a month as Andrea mentioned on 2.5.x and
only apply this to master.

On Fri, Mar 21, 2014 at 12:15 PM, Gabriel Roldan
<groldan@anonymised.com> wrote:

Thanks for the quick reply.

On Fri, Mar 21, 2014 at 12:22 PM, Andrea Aime
<andrea.aime@anonymised.com>
wrote:

On Fri, Mar 21, 2014 at 4:01 PM, Gabriel Roldan
<groldan@anonymised.com>
wrote:

If interested in checking what the changes would look like, here are
the
relevant branches to both projects:

<https://github.com/groldan/geoserver/tree/upgrade_guava_14.0.1>
<https://github.com/groldan/geoserver/commits/upgrade_guava_16.0.1>

<https://github.com/groldan/geowebcache/tree/upgrade_guava_14.0.1>
<https://github.com/groldan/geowebcache/tree/upgrade_guava_16.0.1>

Looking forward to your comments and advise on how to proceed.

Hi, +1 on both changes on master, they seem pretty small.

okay

Actually, if you want to upgrade other libraries as well,
I for one would be happy to see that too.

not for the time being.

Then we have the stable series, 2.5.x. Not so sure about changing the
library version there, I would at least
wait a month before doing a backport there.

And then there is the maintenance one, 2.4.x. Even less thrilled to see
it
there, but maybe we could
wait and have a 2.5.x with the library upgrade released and see how
that
goes before porting back
to the maintenance series?

I’m probably just being overcautious, but I have no experience with
guava
upgrades (and how good
at backwards compat behavior they are).

You probably are, but that’s a good thing.
I’ve to say imho its as serious as it gets in managing api and
compatibility.
I did an assessment of which guava features are used in the code base,
and
they are pretty minimal and have been frozen for years. For instance:

  • Function and Predicate, just interfaces and totally frozen since I
    started
    using guava at version 9
  • Preconditions, Throwables, Files, ByteStreams, Strings, and Stopwatch
    utility classes: no changes
  • Cache/CacheBuilder: unchanged since 11.0.1.
  • Collections: by far the most stable part of the library, plus guava
    guarantees full compliance to the java.util collections contracts in all
    its
    collections implementations, as opposed to commons-collections that have
    a
    lot for ill-behaved ones.

I have built successfully all the modules that use guava at all, which
are
main, extensions/wps, community/jdbcconfig, community/script, and gwc

All that said, I’m fine with a wait and see period too. In the mean time
I
can manage to manually replace the jar and so.

Cheers,
Gabriel

Cheers
Andrea

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com

@gabrielroldan


Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and
their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Robert Marianski
Software Engineer | Boundless
rmarianski@anonymised.com
@boundlessgeo


HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Justin Deoliveira
Vice President, Engineering | Boundless
jdeolive@anonymised.com839…
@j_deolive


Robert Marianski
Software Engineer | Boundless
rmarianski@anonymised.com39…
@boundlessgeo


HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Kevin Smith

Junior Software Engineer | Boundless

ksmith@anonymised.com

+1-778-785-7459

@boundlessgeo

On Mon, Jun 9, 2014 at 9:06 PM, Justin Deoliveira <jdeolive@anonymised.com

wrote:

GeoServer PR merged. Didn't have much of a choice since the GWC was
already merged.

I actually had reverted the GWC PR to wait until geoserver upgraded. Sorry
wasn't clear about that on IRC.

On Mon, Jun 9, 2014 at 5:23 PM, Gabriel Roldan <groldan@anonymised.com>
wrote:

Ok, here's the GWC PR <
https://github.com/GeoWebCache/geowebcache/pull/256&gt; (got it already for
16.0.1 so it was easy)

On Mon, Jun 9, 2014 at 8:17 PM, Gabriel Roldan <groldan@anonymised.com>
wrote:

That's right, check the commit notes and the patch on the PR I just
mentioned. Do you want me to create a PR for gwc or do you got it already?

On Mon, Jun 9, 2014 at 8:15 PM, Kevin Smith <ksmith@anonymised.com>
wrote:

It looks like Guava dropped its maven dependency on jrs305 in recent
versions so anywhere @Nullable is being used without explicitly adding
jsr305 breaks. Having fixed that, GWC master and 1.5.x seem to work with
Guava 17.

On 9 June 2014 11:57, Rob Marianski <rmarianski@anonymised.com>
wrote:

Any preference for guava version 14 vs 16? I'd be inclined to just
jump all the way to 16 if there aren't any objections.

Actually, version 17 of guava is out now. Would it be better to target
that? Glancing at the release notes, it doesn't look like we'd be
affected:
http://code.google.com/p/guava-libraries/wiki/Release17

On Mon, Jun 9, 2014 at 2:03 PM, Justin Deoliveira
<jdeolive@anonymised.com> wrote:
> If you want to throw together a pull request for master Rob that
would be
> great, I don't see any reason not to merge it right away.
>
> Personally I would be fine with the upgrade on 2.5.x as well since
it is a
> safe upgrade and nothing really core depends on it. But others may
feel
> differently. Let's see how the other devs feel and whether we need a
waiting
> period for the 2.5.x backport.
>
>
> On Mon, Jun 9, 2014 at 11:30 AM, Rob Marianski <
rmarianski@anonymised.com>
> wrote:
>>
>> Hey all, reviving this thread.
>>
>> Is it ok to move forward with this change? We'd prefer to see it on
>> both master and 2.5.x if everyone is comfortable with that. Or, we
can
>> wait with the backport for a month as Andrea mentioned on 2.5.x and
>> only apply this to master.
>>
>>
>> On Fri, Mar 21, 2014 at 12:15 PM, Gabriel Roldan
>> <groldan@anonymised.com> wrote:
>> > Thanks for the quick reply.
>> >
>> > On Fri, Mar 21, 2014 at 12:22 PM, Andrea Aime
>> > <andrea.aime@anonymised.com>
>> > wrote:
>> >>
>> >> On Fri, Mar 21, 2014 at 4:01 PM, Gabriel Roldan
>> >> <groldan@anonymised.com>
>> >> wrote:
>> >>>
>> >>> If interested in checking what the changes would look like,
here are
>> >>> the
>> >>> relevant branches to both projects:
>> >>>
>> >>> <https://github.com/groldan/geoserver/tree/upgrade_guava_14.0.1
>
>> >>> <
https://github.com/groldan/geoserver/commits/upgrade_guava_16.0.1&gt;
>> >>>
>> >>> <
https://github.com/groldan/geowebcache/tree/upgrade_guava_14.0.1&gt;
>> >>> <
https://github.com/groldan/geowebcache/tree/upgrade_guava_16.0.1&gt;
>> >>>
>> >>> Looking forward to your comments and advise on how to proceed.
>> >>
>> >>
>> >> Hi, +1 on both changes on master, they seem pretty small.
>> >
>> > okay
>> >
>> >>
>> >> Actually, if you want to upgrade other libraries as well,
>> >> I for one would be happy to see that too.
>> >
>> > not for the time being.
>> >
>> >>
>> >>
>> >> Then we have the stable series, 2.5.x. Not so sure about
changing the
>> >> library version there, I would at least
>> >> wait a month before doing a backport there.
>> >>
>> >> And then there is the maintenance one, 2.4.x. Even less thrilled
to see
>> >> it
>> >> there, but maybe we could
>> >> wait and have a 2.5.x with the library upgrade released and see
how
>> >> that
>> >> goes before porting back
>> >> to the maintenance series?
>> >>
>> >> I'm probably just being overcautious, but I have no experience
with
>> >> guava
>> >> upgrades (and how good
>> >> at backwards compat behavior they are).
>> >>
>> > You probably are, but that's a good thing.
>> > I've to say imho its as serious as it gets in managing api and
>> > compatibility.
>> > I did an assessment of which guava features are used in the code
base,
>> > and
>> > they are pretty minimal and have been frozen for years. For
instance:
>> > - Function and Predicate, just interfaces and totally frozen
since I
>> > started
>> > using guava at version 9
>> > - Preconditions, Throwables, Files, ByteStreams, Strings, and
Stopwatch
>> > utility classes: no changes
>> > - Cache/CacheBuilder: unchanged since 11.0.1.
>> > - Collections: by far the most stable part of the library, plus
guava
>> > guarantees full compliance to the java.util collections contracts
in all
>> > its
>> > collections implementations, as opposed to commons-collections
that have
>> > a
>> > lot for ill-behaved ones.
>> >
>> > I have built successfully all the modules that use guava at all,
which
>> > are
>> > main, extensions/wps, community/jdbcconfig, community/script, and
gwc
>> >
>> > All that said, I'm fine with a wait and see period too. In the
mean time
>> > I
>> > can manage to manually replace the jar and so.
>> >
>> > Cheers,
>> > Gabriel
>> >
>> >
>> >>
>> >> Cheers
>> >> Andrea
>> >>
>> >> --
>> >> ==
>> >> Meet us at GEO Business 2014! in London! Visit
http://goo.gl/fES3aK
>> >> for more information.
>> >> ==
>> >>
>> >> Ing. Andrea Aime
>> >> @geowolf
>> >> Technical Lead
>> >>
>> >> GeoSolutions S.A.S.
>> >> Via Poggio alle Viti 1187
>> >> 55054 Massarosa (LU)
>> >> Italy
>> >> phone: +39 0584 962313
>> >> fax: +39 0584 1660272
>> >> mob: +39 339 8844549
>> >>
>> >> http://www.geo-solutions.it
>> >> http://twitter.com/geosolutions_it
>> >>
>> >> -------------------------------------------------------
>> >
>> >
>> >
>> >
>> > --
>> >
>> > Gabriel Roldán
>> >
>> > Software Developer | Boundless
>> >
>> > groldan@anonymised.com
>> >
>> > @gabrielroldan
>> >
>> >
>> >
------------------------------------------------------------------------------
>> > Learn Graph Databases - Download FREE O'Reilly Book
>> > "Graph Databases" is the definitive new guide to graph databases
and
>> > their
>> > applications. Written by three acclaimed leaders in the field,
>> > this first edition is now available. Download your free book
today!
>> > http://p.sf.net/sfu/13534_NeoTech
>> > _______________________________________________
>> > Geoserver-devel mailing list
>> > Geoserver-devel@lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>> >
>>
>>
>>
>> --
>> Robert Marianski
>> Software Engineer | Boundless
>> rmarianski@anonymised.com
>> @boundlessgeo
>>
>>
>>
------------------------------------------------------------------------------
>> HPCC Systems Open Source Big Data Platform from LexisNexis Risk
Solutions
>> Find What Matters Most in Your Big Data with HPCC Systems
>> Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
>> Leverages Graph Analysis for Fast Processing & Easy Data Exploration
>> http://p.sf.net/sfu/hpccsystems
>>
>> _______________________________________________
>> Geoserver-devel mailing list
>> Geoserver-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>
>
>
>
> --
> Justin Deoliveira
> Vice President, Engineering | Boundless
> jdeolive@anonymised.com
> @j_deolive

--
Robert Marianski
Software Engineer | Boundless
rmarianski@anonymised.com
@boundlessgeo

------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk
Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--

Kevin Smith

Junior Software Engineer | Boundless

ksmith@anonymised.com

+1-778-785-7459

@boundlessgeo <https://twitter.com/boundlessgeo&gt;

------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk
Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
Geowebcache-devel mailing list
Geowebcache-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geowebcache-devel

--

Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com
@gabrielroldan <https://twitter.com/gabrielroldan&gt;

--

Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com
@gabrielroldan <https://twitter.com/gabrielroldan&gt;

------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
Geowebcache-devel mailing list
Geowebcache-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geowebcache-devel

--
*Justin Deoliveira*
Vice President, Engineering | Boundless
jdeolive@anonymised.com
@j_deolive <https://twitter.com/j_deolive&gt;

--

Gabriel Roldán

Software Developer | Boundless

groldan@anonymised.com
@gabrielroldan <https://twitter.com/gabrielroldan&gt;

On Tue, Jun 10, 2014 at 2:58 AM, Gabriel Roldan <groldan@anonymised.com>
wrote:

On Mon, Jun 9, 2014 at 9:06 PM, Justin Deoliveira <
jdeolive@anonymised.com> wrote:

GeoServer PR merged. Didn't have much of a choice since the GWC was
already merged.

I actually had reverted the GWC PR to wait until geoserver upgraded. Sorry
wasn't clear about that on IRC.

+1 on upgrading on trunk btw.
Just a bit on the fence about the stable series, as said above not a guava
user, not sure how well
they handle their upgrades, but if heavy guava users are very confident
about it, why not.

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------