The Wire · Showcase
REDIS TRANSACTION BUG FIXED, SPRING TOOLS CLOSES AOT ENVIRONMENT GAP
By RepoJournal · Filed · About Spring
Spring Data Redis patches a critical watch/transaction state bug that broke EXEC result counting, while Spring Tools ships the environment-aware AOT refresh teams have been waiting for.
The most pressing fix lands in Spring Data Redis: UnifiedJedis.watch() was incorrectly queuing commands between WATCH and MULTI as transaction results, causing servers to report mismatched result counts [1]. This broke any code relying on watched keys with multi-command transactions. The team also swept through javadoc and assertion messages, tightening validation in setTimeToLive() [2] [3] [4]. Over in Spring Tools, Alex Boyko shipped the long-pending AOT maven/gradle refresh fix that now passes environment variables to the client [5], closing out issue #1950 entirely and patching the initial groundwork on #1813. Martin Lippert also polished project naming defaults in the initializer, using artifact ID as fallback when no other value exists [6]. Meanwhile, Spring AI documentation expanded with partitioning guidance for shared vector indexes [7] and added input-handling notes to Redis chat memory queries [8], both aimed at teams managing multi-tenant or multi-group document stores.
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 Data Redis if you use watch() with MULTI/EXEC transactions spring-projects/spring-data-redis [immediate]
- → Pull latest Spring Tools for AOT environment variable support in IDE spring-projects/spring-tools [plan]
- → Review Spring AI vector index docs if managing partitioned or shared indexes spring-projects/spring-ai [monitor]
References
- [1] Fix UnifiedJedis watch transaction state. spring-projects/spring-data-redis
- [2] Fix typos in Javadoc and assertion messages. spring-projects/spring-data-redis
- [3] Fix Asserts. spring-projects/spring-data-redis
- [4] Fix argument validation in RedisData.setTimeToLive(Long, TimeUnit). spring-projects/spring-data-redis
- [5] Pass environment to refresh AOT maven/gralde command on the client (#1867) spring-projects/spring-tools
- [6] GH-1927: use artifact as default for the project name if there is no other (defaut) value coming from initializ spring-projects/spring-tools
- [7] Document partitioning a shared vector index ↗ spring-projects/spring-ai
- [8] Add Javadoc notes on input handling in Redis chat memory queries ↗ spring-projects/spring-ai