Fixes
- Close kafka consumer at the end of sync
- Commit offsets synchronously.
- Bump
confluent-kafka[protobuf]
from2.2.*
to2.3.*
- Add more info logs
- Add new config
debug_contexts
for enabling debugging
- Bump
dpath
from2.0.6
to2.1.*
- Bump
confluent-kafka[protobuf]
from1.9.2
to2.2.*
- Bump
grpcio-tools
from1.51.1
to1.57.*
- Bump test dependencies
- Switch from
subscribe
toassign
for better initial offset control - Implement specifying partitions in configuration
- Introducing the use of the
seek
method to reset the source partition offsets at the start of a run
- Bump
pipelinewise-tap-kafka
from confluent-kafka from1.8.2
to1.9.0
. - Remove CI checks for Python 3.6
BREAKING CHANGES
Upgrading from 6.x to 7.x: For the current taps without any primary keys defined, set new configuration property use_message_key
to false
. Taps left with default settings and no custom primary keys specified will fail if kafka messages do not have keys and lead to unexpected behaviour on targets otherwise.
Features:
- Added support for the message keys to be used as primary key for the record. Using message key is now a default option where custom PKs are not defined.
- Use unique proto class names per topic
- Raise exception on all brokers down
- Raise exception if custom PK not exists in the message
- Bump
dpath
from2.0.5
to2.0.6
- Bump
grpcio-tools
from1.43.0
to1.44.0
- Bump
pytest
from6.2.5
to7.0.1
Features:
- Add protobuf support
Fixes:
- Fixed an issue when log messages raised exceptions
Requirement updates:
- Bump
dpath
from2.0.1
to2.0.5
- Bump
pytest-cov
from2.10.1
to3.0.0
- Bump
pylint
from2.4.2
to2.12.2
- Remove
filelock
requirement
- Fixed an issue when
tap_kafka.serialization
module not included in the package
BREAKING CHANGES
Upgrading from 4.x to 5.x: Please remove the existing state.json
created by tap-kafka 4.x.
5.x will continue consuming messages from the last consumed offset but will generate state.json
in a new format.
CHANGELOG
- Switching from
kafka-python
toconfluent-kafka-python
- Using faster
orjson
provided bypipelinewise-singer-python-2.x
- Remove local store and bookmark consumed message in
STATE
messages - Add
initial_start_time
optional parameter
Fixes:
- Fallback to default consumer timeout if
consumer_timeout_ms
is not provided in discovery mode. - Stop mis-handling exceptions during discovery.
- Improve the performance of persisting kafka messages if the local store cannot perform frequent file appends and causing high I/O issues
- Switching from
jsonpath-ng
todpath
python library to improve the performance of extracting primary keys - Change the syntax of
primary_keys
from JSONPath to/slashed/paths
ala XPath
- Add
max_poll_records
option
- Add local storage of consumed messages and instant commit kafka offsets
- Add more configurable options:
consumer_timeout_ms
,session_timeout_ms
,heartbeat_interval_ms
,max_poll_interval_ms
- Add two new fixed output columns:
MESSAGE_PARTITION
andMESSAGE_OFFSET
- Commit offset from state file and not from the consumed messages
- Make logging customisable
- Rewamp the output schema with no JSON flattening
- Add 'encoding' as a configurable parameter
- Add license classifier
- Initial release