sidebar_position: 2

Configuration

Connection Setup

use fluss::client::FlussConnection;
use fluss::config::Config;

let mut config = Config::default();
config.bootstrap_servers = "127.0.0.1:9123".to_string();

let conn = FlussConnection::new(config).await?;

Connection Configurations

OptionDescriptionDefault
bootstrap_serversCoordinator server address127.0.0.1:9123
writer_request_max_sizeMaximum request size in bytes10 MB
writer_acksAcknowledgment setting (all waits for all replicas)all
writer_retriesNumber of retries on failurei32::MAX
writer_batch_sizeBatch size for writes2 MB
writer_batch_timeout_msThe maximum time to wait for a writer batch to fill up before sending.100
writer_bucket_no_key_assignerBucket assignment strategy for tables without bucket keys: sticky or round_robinsticky
scanner_remote_log_prefetch_numNumber of remote log segments to prefetch4
remote_file_download_thread_numNumber of concurrent remote log file downloads3
scanner_remote_log_read_concurrencyStreaming read concurrency within a remote log file4
scanner_log_max_poll_recordsMaximum records returned in a single poll()500
connect_timeout_msTCP connect timeout in milliseconds120000
security_protocolPLAINTEXT (default) or sasl for SASL authPLAINTEXT
security_sasl_mechanismSASL mechanism (only PLAIN is supported)PLAIN
security_sasl_usernameSASL username (required when protocol is sasl)(empty)
security_sasl_passwordSASL password (required when protocol is sasl)(empty)

SASL Authentication

To connect to a Fluss cluster with SASL/PLAIN authentication enabled:

let mut config = Config::default();
config.bootstrap_servers = "127.0.0.1:9123".to_string();
config.security_protocol = "sasl".to_string();
config.security_sasl_mechanism = "PLAIN".to_string();
config.security_sasl_username = "admin".to_string();
config.security_sasl_password = "admin-secret".to_string();

let conn = FlussConnection::new(config).await?;