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)

Reply via email to