This major version release from Factor House:
- Improves data inspect
- Improves consumer offset management
- Improves Kafka Streams agent integration
- Adds Flex and Community Helm Charts
- Resolves a number of small bugs, and,
- Bumps Kafka client dependencies to v3.9.0.
Brand new Helm Charts + Release simplification
This has been a highly requested feature for a while now: in-depth Helm Charts for all of our products!
Customers can now install Helm charts for our full product suite - Flex, Kpow and the Community Editions of both:
helm repo add factorhouse https://charts.factorhouse.io helm repo update helm install my-kpow-ce factorhouse/kpow-ce
To read more about our improvements to Helm + Docker see this blog post: Updates to container specifics (DockerHub and Helm Charts).
We've also streamlined our deliverables, introducing clearer release channels to make accessing our products easier than ever. This groundwork sets the stage for a big year of exciting releases!
Consolidate release artifacts
- Consistently deploy all artifacts (Maven, Clojars, AWS Marketplace, Helm, ArtifactHub and DockerHub) to the
factorhouse
organisation. - See blog post: A final goodbye to OperatrIO for more details.
Simplify DockerHub repos
- Consolidate DockerHub repos: we now deploy to the
factorhouse/kpow
andfactorhouse/flex
repos respectively. - Community Editions still found at
factorhouse/kpow-ce
andfactorhouse/flex-ce
repos. - See blog post: Updates to container specifics (DockerHub and Helm Charts) for more details.
Communicate Java compatibility and evolution
- Bump our default Java version to JDK17 for Docker and Helm
- Java 11 and 8 JARs still available
- See blog post: Releasing Software at Factor House: Our Java Compatibility and Evolution Strategy for more details.
1.0.0 Kpow Streams Agent!
Our beloved open-source Kpow Streams Agent hits its 1.0.0 release milestone!
Along with core improvements to the agent, we have poured a lot of love into Kpow's Kafka Streams UI and crunched down on backend work required when processing streams metrics.
- Visit the GitHub README to find out more about the changes and to get started
- JavaDocs for using the agent are now available over at javadoc.io
- Kpow's Streams Agent can be found on Maven Central at io.factorhouse/kpow-streams-agent
Data Inspect improvements
This release is packed with quality improvements to our data inspection functionality, making it smoother, more reliable, and better than ever!
Stay tuned! We're bringing plenty more quality improvements to Kpow's data inspection functionality this year!
New modes
The data inspect form now contains additional Modes. New options include:
- Slice (default) - queries records beginning from a start time
- Bounded window - queries records between a start and end time
Improved data inspect reliability
There has been an outstanding bug in Kafka relating to long-running consumers that could not recover after certain broker rolling-upgrade scenarios. This bug is captured in KAFKA-13467 and resolved in Kafka clients 3.8.0 and above.
Some customers have reported this exact issue when running on Confluent Cloud. We think Confluent periodically roll their brokers in each cluster (probably for reasonable ops reasons) and update their DNS with new broker IPS rather than changing the bootstrap.
This release now resolves this long-standing data inspect issue! Our data inspect consumer pool should be more resilient to broker upgrades.
We have also added the option to manually restart the consumer pool for any case there may be unexpected consumer death.
Configurable isolation level
Starting with 94.1 customers can now specify the isolation level of the query (defaulting to READ_UNCOMMITED
). When set to READ_COMMITED
data inspect results will only return records from committed transactions. This can be particularly useful for customers looking to debug issues, where they ignore data in uncommitted transactions
Improved Offset Management
Kpow has long supported managing consumer group offsets, but this release gives the feature the attention it deserves:
- Reset offset by providing new offset value
- Reset offset by providing a precise timestamp
- Consistent action menu across different nodes of consumer group topology as well as in table views