- 
                Notifications
    You must be signed in to change notification settings 
- Fork 23
Configurable batch size #389
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev_performance_test_improvements
Are you sure you want to change the base?
Configurable batch size #389
Conversation
e881b8f    to
    6900c8c      
    Compare
  
    9e73424    to
    ed0fb03      
    Compare
  
    6900c8c    to
    9b3c43a      
    Compare
  
    15928f1    to
    4209743      
    Compare
  
    9b3c43a    to
    25ec968      
    Compare
  
    4209743    to
    9f4461f      
    Compare
  
    25ec968    to
    7d20ea4      
    Compare
  
    7d20ea4    to
    e8bd34f      
    Compare
  
    8bb5221    to
    4ad7f02      
    Compare
  
    rebalances in case of long processing time
f776f0c    to
    0a91e33      
    Compare
  
    0a91e33    to
    e62aee1      
    Compare
  
    92368f1    to
    cfa7321      
    Compare
  
    94e66ba    to
    4f22357      
    Compare
  
    
      
        
              This comment has been minimized.
        
        
      
    
  This comment has been minimized.
      
        
              This comment has been minimized.
        
        
      
    
  This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Checked the code and documentation, checking tests and perf scripts next.
| @@ -1,3 +1,12 @@ | |||
| # confluent-kafka-javascript 1.6.1 | |||
|  | |||
| v1.6.1 is a maintenance release. It is supported for all usage. | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: Let's make it 1.7.0
        
          
                MIGRATION.md
              
                Outdated
          
        
      | - An API compatible version of `eachBatch` is available, maximum batch size | ||
| can be configured through the `js.consumer.max.batch.size` configuration property | ||
| and defaults to 32. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - An API compatible version of `eachBatch` is available, maximum batch size | |
| can be configured through the `js.consumer.max.batch.size` configuration property | |
| and defaults to 32. | |
| - An API compatible version of `eachBatch` is available, maximum batch size | |
| can be configured through the `js.consumer.max.batch.size` configuration property | |
| and defaults to 32. It is not dependent on the size of the batches present on the broker, as the batches are constructed client-side. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, I think we should add that while we start attempting to fill batches with js.consumer.max.batch.size, it may be scaled down based on the actual messages received.
| this.#cacheExpirationTimeoutMs = this.#maxPollIntervalMs; | ||
| rdKafkaConfig['max.poll.interval.ms'] = this.#maxPollIntervalMs * 2; | ||
|  | ||
| if (rdKafkaConfig['js.consumer.max.batch.size'] !== undefined) { | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| if (rdKafkaConfig['js.consumer.max.batch.size'] !== undefined) { | |
| if (Object.hasOwn(rdKafkaConfig, 'js.consumer.max.batch.size')) { | 
      
        
              This comment has been minimized.
        
        
      
    
  This comment has been minimized.
cefcf3f    to
    38aa2dc      
    Compare
  
    38aa2dc    to
    99a906c      
    Compare
  
    … one partition and there are messages being fetched for other partitions
…me before first assignment
b6266ca    to
    3816d53      
    Compare
  
    57b16eb    to
    8c112e4      
    Compare
  
    
      
        
              This comment has been minimized.
        
        
      
    
  This comment has been minimized.
8c112e4    to
    a7e6023      
    Compare
  
    
      
        
              This comment has been minimized.
        
        
      
    
  This comment has been minimized.
ea61499    to
    72c3bed      
    Compare
  
    72c3bed    to
    68cc1e4      
    Compare
  
    
Closes #286.
batch size is now configurable through the 'js.max.batch.size` property (-1 for unlimited batch size). Even when unlimited batch sizes are actually limited by librdkafka consumer buffer.
Checklist
Test & Review
automatic tests and running the performance example