The Wire · Showcase
SPRING-KAFKA FIXES THREE CRITICAL BATCH LISTENER BUGS OVERNIGHT
By RepoJournal · Filed · About Spring
Spring-Kafka shipped fixes for broken rollback handling, commit timing logic, and null pointer crashes that could silently fail message processing in production.
Three separate batch listener regressions are now patched across the stack. The first [1] fixes a critical bug where empty record lists bypass the AfterRollbackProcessor entirely, leaving failed batches unseekable on retry. The second [2] corrects a logic flaw in COUNT_TIME commit mode where time-based acknowledgments were never evaluated, causing batches to commit on count alone and ignore configured time windows. The third [3] eliminates a null pointer exception in StreamsBuilderFactoryBean when Kafka properties are unset, which could crash the entire factory during initialization. All three are marked for immediate cherry-pick to 4.0.x and 3.3.x. On the integration desk, Spring-Integration fixed an MQTT v5 payload conversion bug [4] where SmartMessageConverter was applied in the wrong direction, breaking custom payload transformations and misaligning the inbound adapter with the outbound contract. The security desk is quiet: a routine docs dependency bump .
One email a day. Unsubscribe in one click.
Keep up with Spring in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Upgrade spring-kafka immediately if running batch listeners with rollback processing spring-projects/spring-kafka [immediate]
- → Verify COUNT_TIME commit mode behavior in production if configured - may have been silently falling back to count-only spring-projects/spring-kafka [plan]
- → Update spring-integration if using MQTT v5 with custom payload converters spring-projects/spring-integration [plan]
References
- [1] GH-4439: Pass full record list to batch rollback processor ↗ spring-projects/spring-kafka
- [2] GH-4444: Consider ackTime for COUNT_TIME commits ↗ spring-projects/spring-kafka
- [3] Fix NPE in StreamsBuilderFactoryBean when Properties are null (#4435) spring-projects/spring-kafka
- [4] GH-10990: Fix MQTT v5 inbound payload conversion ↗ spring-projects/spring-integration