@@ -16,7 +16,7 @@ use tokio::{sync::broadcast, task::JoinHandle, time::Instant};
1616use uuid:: Uuid ;
1717
1818/// Capacity for the data channel.
19- pub ( crate ) const DATA_CHANNEL_CAPACITY : usize = 1024 * 10 ;
19+ pub ( crate ) const DATA_CHANNEL_CAPACITY : usize = 1024 * 100 ;
2020
2121/// Capacity for the control channel.
2222pub ( crate ) const CONTROL_CHANNEL_CAPACITY : usize = 1024 ;
@@ -66,7 +66,8 @@ pub(crate) struct TaskConfig {
6666 pub ( crate ) enable_compression_for_ingestion : bool ,
6767 pub ( crate ) recovery_config : RecoveryConfig ,
6868 pub ( crate ) control_channel_capacity : usize ,
69- pub ( crate ) data_channel_capacity : usize ,
69+ pub ( crate ) ingestion_data_channel_capacity : usize ,
70+ pub ( crate ) backup_data_channel_capacity : usize ,
7071}
7172
7273/// Data message with stream ID for routing
@@ -92,8 +93,9 @@ pub(crate) fn start_tasks(config: TaskConfig) -> Result<StreamSystem> {
9293 let ( control_tx, _control_rx) = broadcast:: channel ( config. control_channel_capacity ) ;
9394
9495 // Create data channel for high-frequency data messages
95- let ( ingestion_tx, ingestion_rx) = async_channel:: bounded ( config. data_channel_capacity ) ;
96- let ( backup_tx, backup_rx) = async_channel:: bounded ( config. data_channel_capacity ) ;
96+ let ( ingestion_tx, ingestion_rx) =
97+ async_channel:: bounded ( config. ingestion_data_channel_capacity ) ;
98+ let ( backup_tx, backup_rx) = async_channel:: bounded ( config. backup_data_channel_capacity ) ;
9799
98100 // Clone the sender for each task
99101 let backup_control_tx = control_tx. clone ( ) ;
@@ -498,7 +500,8 @@ mod tests {
498500 checkpoint_interval,
499501 enable_compression_for_ingestion : false ,
500502 control_channel_capacity : 128 ,
501- data_channel_capacity : 128 ,
503+ ingestion_data_channel_capacity : 128 ,
504+ backup_data_channel_capacity : 128 ,
502505 recovery_config : RecoveryConfig {
503506 retry_policy : RetryPolicy :: default ( ) ,
504507 backups_enabled : true ,
@@ -557,7 +560,8 @@ mod tests {
557560 checkpoint_interval,
558561 enable_compression_for_ingestion : false ,
559562 control_channel_capacity : 128 ,
560- data_channel_capacity : 128 ,
563+ ingestion_data_channel_capacity : 128 ,
564+ backup_data_channel_capacity : 128 ,
561565 recovery_config : RecoveryConfig {
562566 retry_policy : RetryPolicy :: default ( ) ,
563567 backups_enabled : true ,
@@ -610,7 +614,8 @@ mod tests {
610614 checkpoint_interval,
611615 enable_compression_for_ingestion : false ,
612616 control_channel_capacity : 128 ,
613- data_channel_capacity : 128 ,
617+ ingestion_data_channel_capacity : 128 ,
618+ backup_data_channel_capacity : 128 ,
614619 recovery_config : RecoveryConfig {
615620 retry_policy : RetryPolicy :: default ( ) ,
616621 backups_enabled : true ,
@@ -673,7 +678,8 @@ mod tests {
673678 checkpoint_interval : Duration :: from_secs ( 60 ) ,
674679 enable_compression_for_ingestion : false ,
675680 control_channel_capacity : 128 ,
676- data_channel_capacity : 128 ,
681+ ingestion_data_channel_capacity : 128 ,
682+ backup_data_channel_capacity : 128 ,
677683 recovery_config : RecoveryConfig {
678684 retry_policy : RetryPolicy :: default ( ) ,
679685 backups_enabled : true ,
@@ -750,7 +756,8 @@ mod tests {
750756 checkpoint_interval,
751757 enable_compression_for_ingestion : false ,
752758 control_channel_capacity : 128 ,
753- data_channel_capacity : 128 ,
759+ ingestion_data_channel_capacity : 128 ,
760+ backup_data_channel_capacity : 128 ,
754761 recovery_config : RecoveryConfig {
755762 retry_policy : RetryPolicy {
756763 max_attempts : 3 ,
@@ -843,7 +850,8 @@ mod tests {
843850 checkpoint_interval,
844851 enable_compression_for_ingestion : false ,
845852 control_channel_capacity : 128 ,
846- data_channel_capacity : 128 ,
853+ ingestion_data_channel_capacity : 128 ,
854+ backup_data_channel_capacity : 128 ,
847855 recovery_config : RecoveryConfig {
848856 retry_policy : RetryPolicy :: default ( ) ,
849857 backups_enabled : true ,
@@ -914,7 +922,8 @@ mod tests {
914922 checkpoint_interval,
915923 enable_compression_for_ingestion : false ,
916924 control_channel_capacity : 128 ,
917- data_channel_capacity : 128 ,
925+ ingestion_data_channel_capacity : 128 ,
926+ backup_data_channel_capacity : 128 ,
918927 recovery_config : RecoveryConfig {
919928 retry_policy : RetryPolicy :: default ( ) ,
920929 backups_enabled : true ,
0 commit comments