Spring-boot: Upgrade to Elasticsearch 2.4 / Jackson 2.8.2

Created on 12 Sep 2016  路  7Comments  路  Source: spring-projects/spring-boot

Elasticsearch 2.4 depends on Jackson 2.8.1. You should consider cancelling the downgrade to Jackson 2.7 as mentioned in #6536. We are running Elasticsearch 2.4 with spring boot 1.4.0.RELEASE and Jackson 2.8.2 with no issue so far.

enhancement

Most helpful comment

@snicoll has encouraged me to reconsider this one. Assuming that we want to provide versions of Jackson and Elasticsearch that work together we have two options:

  1. Downgrade Jackson to 2.7
  2. Upgrade Elasticsearch to 2.4

1 is what we've currently done as Elasticsearch 2.4 didn't exist when we fixed #6508. Now that it does exist, 2 becomes an option. Typically we wouldn't even consider changing to a new minor version of something in a maintenance release, but we have to do so here if we want the default versions of Jackson and Elasticsearch to be compatible.

Arguably upgrading Elasticsearch is the least bad of the two options:

  • It's less widely used than Jackson
  • Presumably, an upgrade is additive whereas the Jackson downgrade will definitely remove some features that people may already be using

All 7 comments

@wilkinsona @olivergierke is that ok to use Elasticsearch 2.4 with our current SD release train?

Depends on how conservative you'd like to be (i.e. which Boot version you want to upgrade in). We're gonna upgrade to ES 2.4 as it fixes the incompatibility with Jackson 2.8 for Ingalls. So it might be good idea to upgrade to ES 2.4 for Boot 1.5 and leave the manual upgrade for Boot 1.4 users as an update in a service release might come as a surprise.

It's too late to cancel the downgrade as we can't move to new minor versions of Jackson and Elasticsearch in 1.4.x. We should wait for 1.5.

argh Elasticsearch 5 will probably be out when Spring Boot 1.5 will be released. But, that's another story :v:

Maybe something in the documentation could be useful to indicate that 1.4.0.RELEASE is built against Jackson 2.8.x and subsequent release are downgraded to Jackson 2.7.6.

@snicoll has encouraged me to reconsider this one. Assuming that we want to provide versions of Jackson and Elasticsearch that work together we have two options:

  1. Downgrade Jackson to 2.7
  2. Upgrade Elasticsearch to 2.4

1 is what we've currently done as Elasticsearch 2.4 didn't exist when we fixed #6508. Now that it does exist, 2 becomes an option. Typically we wouldn't even consider changing to a new minor version of something in a maintenance release, but we have to do so here if we want the default versions of Jackson and Elasticsearch to be compatible.

Arguably upgrading Elasticsearch is the least bad of the two options:

  • It's less widely used than Jackson
  • Presumably, an upgrade is additive whereas the Jackson downgrade will definitely remove some features that people may already be using

That sounds unusual but reasonable to me. There'd still be the escape hatch to downgrade both Jackson _and_ ES in case you're running into issues with ES 2.4.

:+1:

Was this page helpful?
0 / 5 - 0 ratings