Skip to content

v2.0.0

Latest
Compare
Choose a tag to compare
@dasch dasch released this 24 Aug 11:07
· 295 commits to master since this release
  • Replace ruby-kafka with rdkafka-ruby as the low-level library underneath Racecar (#97).
  • Fix max_wait_time usage (#179).
  • Removed config option sasl_over_ssl.
  • [Racecar::Consumer] Do not pause consuming partitions on exception.
  • [Racecar::Consumer] topic, payload and key are mandadory to method produce.
  • [Racecar::Consumer] process_batch retrieves an array of messages instead of batch object.
  • [Racecar::Consumer] Remove offset_retention_time.
  • [Racecar::Consumer] Allow providing additional_config for subscriptions.
  • [Racecar::Consumer] Provide access to producer and consumer.
  • [Racecar::Consumer] Enforce delivering messages with method deliver!.
  • [Racecar::Consumer] instead of raising when a partition EOF is reached, the result can be queried through consumer.last_poll_read_partition_eof?.
  • [Racecar::Config] Remove offset_retention_time, connect_timeout and offset_commit_threshold.
  • [Racecar::Config] Pass config to rdkafka-ruby via producer and consumer.
  • [Racecar::Config] Replace max_fetch_queue_size with min_message_queue_size.
  • [Racecar::Config] Add synchronous_commits to control blocking of consumer.commit (default false).
  • [Racecar::Config] Add security_protocol to control protocol between client and broker.
  • [Racecar::Config] SSL configuration via ssl_ca_location, ssl_crl_location, ssl_keystore_location and ssl_keystore_password.
  • [Racecar::Config] SASL configuration via sasl_mechanism, sasl_kerberos_service_name, sasl_kerberos_principal, sasl_kerberos_kinit_cmd, sasl_kerberos_keytab, sasl_kerberos_min_time_before_relogin, sasl_username and sasl_password.
  • [Instrumentation] produce_message.racecar sent whenever a produced message is queued. Payload includes topic, key, value and create_time.
  • [Instrumentation] acknowledged_message.racecar send whenever a produced message was successfully received by Kafka. Payload includes offset and partition, but no message details.
  • [Instrumentation] rdkafka-ruby does not yet provide instrumentation rdkafka-ruby#54.
  • [Instrumentation] if processors define a statistics_callback, it will be called once every second for every subscription or producer connection. The first argument will be a Hash, for contents see librdkafka STATISTICS.md.
  • Add current directory to $LOAD_PATH only when --require option is used (#117).
  • Remove manual heartbeat support, see Long-running message processing section in README.