Bernd Wahlen created SOLR-18325:
-----------------------------------

             Summary:  Upgrade Jackson from 2.x to 3.x (tools.jackson)
                 Key: SOLR-18325
                 URL: https://issues.apache.org/jira/browse/SOLR-18325
             Project: Solr
          Issue Type: Improvement
          Components: SolrJ
    Affects Versions: 10.0
            Reporter: Bernd Wahlen


SolrJ (and Solr generally) depends on Jackson 2.x (com.fasterxml.jackson.*); 
solr-solrj:10.0.0 pulls jackson-databind:2.20. Jackson 3 is released, with 3.1 
as the recommended stable line.

Because Jackson 3 changed its Maven coordinates and packages 
(com.fasterxml.jackson.core/databind → 
tools.jackson.core/tools.jackson.databind), it can coexist with Jackson 2 on a 
classpath — but that's the problem downstream: applications that have moved to 
Jackson 3 (e.g. anything on Spring Boot 4, which now defaults to Jackson 3) and 
also use SolrJ are forced to ship both Jackson runtimes, since SolrJ keeps 
Jackson 2. Filing this to track the upgrade for a major release where the 
coordinate/package change is acceptable.

Motivation
- Align with the current Jackson line (3.1 stable); Jackson 2 will eventually 
EOL.
- Let Jackson-3 downstreams avoid bundling two Jackson runtimes when they use 
SolrJ.

Scope / considerations
- Package/coordinate change across the codebase: 
com.fasterxml.jackson.{databind,core} → tools.jackson.{databind,core}. 
Annotations are unaffected — they stay com.fasterxml.jackson.annotation 
(Jackson 3 depends on jackson-annotations 2.20+ by design), so @JsonProperty 
etc. don't change.
- API changes: ObjectMapper is immutable/builder-based 
(JsonMapper.builder()…build()); exceptions are unchecked now 
(tools.jackson.core.JacksonException replaces JsonProcessingException).
- Jackson 3.0 is not LTS — target 3.1.x.
- Needs alignment across all Solr modules (server, solrj, contribs).
- Breaking coordinate change → natural fit for the next major (11.0, already in 
dev per SOLR-18003).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to