Jinwoo Hwang created GEODE-10475:
------------------------------------
Summary: 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
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)