suvodeep-pyne opened a new pull request, #16662:
URL: https://github.com/apache/pinot/pull/16662

   ## Summary
   - Moved DefaultClusterConfigChangeHandler from pinot-server to pinot-common 
to make it available for both controller and broker components
   - Refactored AuditConfigManager to use PinotClusterConfigChangeListener 
interface instead of Helix's ClusterConfigChangeListener
   - Added comprehensive unit tests for 
DefaultClusterConfigChangeHandler.getChangedProperties() method
   
   ## Motivation
   The DefaultClusterConfigChangeHandler was only available in the server 
module, but it's needed by both controller and broker components to handle 
cluster configuration changes. This PR refactors the class to a common location 
and updates the first controller class (AuditConfigManager) to use it.
   
   ## Changes
   1. Moved `DefaultClusterConfigChangeHandler` from `pinot-server/.../helix/` 
to `pinot-common/.../config/`
   2. Updated `AuditConfigManager` to implement 
`PinotClusterConfigChangeListener` instead of Helix's 
`ClusterConfigChangeListener`
   3. Integrated `DefaultClusterConfigChangeHandler` in `BaseControllerStarter` 
to manage cluster config changes
   4. Added `@VisibleForTesting` annotation to `getChangedProperties` method
   5. Created comprehensive unit tests for `getChangedProperties` method 
covering all edge cases
   
   ## Testing
   - Added `DefaultClusterConfigChangeHandlerTest` with 10 test cases covering:
     - Empty maps
     - Added/deleted/updated properties
     - Null handling
     - Mixed changes
   - Updated existing `AuditConfigManagerTest` to work with the new interface
   
   ## Impact
   - No breaking changes for existing server usage
   - Controller components can now use the same cluster config change handling 
mechanism
   - Foundation for future broker integration


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to