[ 
https://issues.apache.org/jira/browse/GEODE-10475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jinwoo Hwang updated GEODE-10475:
---------------------------------
    Fix Version/s: 2.0.0

> Migration of Apache HttpCore and HttpClient from version 4 to version 5 due 
> to Spring Framework migration from version 5
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: GEODE-10475
>                 URL: https://issues.apache.org/jira/browse/GEODE-10475
>             Project: Geode
>          Issue Type: Improvement
>            Reporter: Jinwoo Hwang
>            Assignee: Jinwoo Hwang
>            Priority: Major
>             Fix For: 2.0.0
>
>
> h3. Background
> As part of the ongoing Spring Framework migration from version 5 to 6 or 
> higher version, we need to upgrade Apache HttpCore and HttpClient 
> dependencies from version 4 to version 5. The newer Spring Framework versions 
> have compatibility requirements and recommendations for using HttpClient 5.x.
> h3. Current State
>  * Apache HttpCore: version 4.x
>  * Apache HttpClient: version 4.x
>  * Spring Framework: version 5.x (being migrated to newer version)
> h3. Target State
>  * Apache HttpCore: version 5.x (latest stable)
>  * Apache HttpClient: version 5.x (latest stable)
>  * Compatible with newer Spring Framework version
> h3. Scope of Work
>  # *Dependency Updates*
>  ** Update HttpCore from 4.x to 5.x in build files
>  ** Update HttpClient from 4.x to 5.x in build files
>  ** Update any transitive dependencies as needed
>  # *Code Migration*
>  ** Identify all usage of HttpClient 4.x APIs in the codebase
>  ** Migrate to HttpClient 5.x APIs (package names changed from 
> org.apache.http.* to org.apache.hc.client5.*)
>  ** Update connection management and configuration code
>  ** Migrate authentication and SSL/TLS configuration
>  # *API Changes to Address*
>  ** HttpClient 5 uses different package structure
>  ** Connection pooling configuration changes
>  ** Request/response handling API updates
>  ** Error handling and exception hierarchy changes
>  # *Testing*
>  ** Update unit tests that mock or test HTTP functionality
>  ** Verify integration tests still pass
>  ** Test HTTP-based features (management APIs, client connections, etc.)
>  ** Performance testing to ensure no regression
> h3. Affected Components
>  * Geode management and monitoring APIs
>  * HTTP-based client connections
>  * REST API implementations
>  * Any components using HTTP for external communication
> h3. Breaking Changes
> This migration may introduce breaking changes for:
>  * Custom code that directly uses HttpClient APIs
>  * Configuration related to HTTP connection management
>  * Any HTTP-related extensibility points
> h3. Acceptance Criteria
>  *  All HttpCore and HttpClient dependencies upgraded to version 5.x
>  *  All compilation errors resolved
>  *  All existing tests pass
>  *  HTTP functionality works as expected
>  *  No performance regression in HTTP operations
>  *  Documentation updated for any configuration changes
>  *  Migration guide provided for users with custom HTTP code
> h3. Dependencies
>  * Depends on Spring Framework migration completion
>  * May require updates to other HTTP-related libraries
> h3. Risk Assessment
> {*}Medium Risk{*}: While HttpClient 5 maintains similar functionality, the 
> API changes require careful migration and thorough testing to ensure no 
> functionality is broken.



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

Reply via email to