[
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)