gabriellefu opened a new pull request, #23355:
URL: https://github.com/apache/kafka/pull/23355

    Follow-up to KAFKA-20973. AlterConfigsIntegrationTest only covered the 
request-side                                                                    
         
     validation of `${file:...}` placeholders. Nothing verified that a 
non-STRING dynamic                                                              
              
     broker config written as a placeholder is actually applied once the broker 
replays the                                                                     
     
     record from the metadata log. That apply path used to parse the unresolved 
placeholder                                                                     
     
     and silently drop the entry with an ERROR log, which #23267 fixed. The 
existing                                                                        
         
     DynamicBrokerReconfigurationTest#testUpdatesUsingConfigProvider did not 
catch it because                                                                
        
     its INT config is a custom metrics-reporter key that is not in the broker 
ConfigDef, so                                                                   
      
     the type check never parsed it, and its other configs are STRING and 
PASSWORD.                                                                       
           
                                                                                
                                                                                
     
     This adds positive cases next to the existing negative ones. Each one 
alters a single                                                                 
          
     config through a FileConfigProvider placeholder, waits until 
describeConfigs on the                                                          
                   
     broker resource reports the entry with the expected source and the 
resolved value, and                                                             
             
     then reads the broker's live KafkaConfig through the typed getter. 
Coverage is by                                                                  
             
     ConfigDef type since DynamicConfig.Broker.validate only branches on the 
type: INT                                                                       
        
     (`num.io.threads`, both per-broker and cluster-wide so that 
updateBrokerConfig and                                                          
                    
     updateDefaultConfig are each exercised), LONG (`log.retention.ms`), DOUBLE 
                                                                                
     
     (`log.cleaner.min.cleanable.ratio`), BOOLEAN (`log.preallocate`) and LIST 
with a                                                                          
      
     validator (`log.cleanup.policy`). There is no dynamic broker config of 
type SHORT or                                                                   
         
     CLASS. With the one-line change from #23267 reverted, all new cases fail 
on the                                                                          
       
     waitForCondition timeout while the existing negative cases are unaffected. 
 


-- 
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]

Reply via email to