FD-2505
Release Date: 2025-06-06
Software Version
The document refers to the following applications and corresponding software versions:
| Application | Version |
|---|---|
| Basket Client SDK | 3.0.0-beta02 |
| Basket Service | 4.1.0 |
| Item Registration Service | 4.1.0 |
| Checkout Service | 3.1.0 |
| Basket Finalization Service | 2.1.0 |
| Basket Event Bridge Service | 2.1.0 |
| Basket Notification Service | 2.1.0 |
| Offer Registration Service | 2.1.0 |
What's New - Basket Client SDK
Basket Lock Manager
The BasketLockManager was introduced to address critical concurrency issues in the basket management system. This document explains why this component was created, its importance, and the benefits it provides to the overall system architecture.
The basket management system operates in a highly concurrent environment where multiple coroutines might attempt to modify basket data simultaneously. Before the introduction of BasketLockManager, this led to several issues:
- Race Conditions: Multiple coroutines could read and modify the basket state at the same time, leading to inconsistent data.
- Data Corruption: Concurrent modifications could result in partial updates or lost updates to the basket.
- Unpredictable Behavior: Without proper synchronization, the behavior of the system was non-deterministic when multiple operations were performed concurrently.
- The BasketLockManager was created to provide a clean, reusable solution for ensuring thread safety in basket operations across the entire codebase.
| Issue Key | Summary | Change Description |
|---|---|---|
| POCP-76663 | Introducing Basket Lock Manager | The BasketLockManager is a critical
component that ensures data integrity and consistent behavior in our
basket management system. By providing a centralized, easy-to-use
mechanism for thread safety, it significantly improves the
reliability and maintainability of our codebase. |
Resolved Issues
| Issue Key | Summary | Change Description |
|---|---|---|
| POCP-76848 | Fixed missing automatic synchronization | Refactored waitForFinishSyncInfo to use
idiomatic flow and ensured that the checkout process correctly
waits until the synchronization is finished
|
What's New - Basket Service
This release contains no new features.
Resolved Issues
| Issue Key | Summary | Change Description |
|---|---|---|
| POCP-76504 | GraphQL - New fields for swapping and monitoring | Extended the GetStoreBasketOverviews query in
the GraphQL endpoint:
|
| POCP-76940 | New Subprocess - Remove Customer | New subprocess called 'Remove Customer' which removes all customer-related data from the basket and its transaction |
| POCP-77146 | Basket Security upgrades (Snyk.IO) | Resolved SNYK findings |
What's New - Item Registration Service
This release contains no new features.
Resolved Issues
| Issue Key | Summary | Change Description |
|---|---|---|
| POCP-77176 | Forward GK-Device-Id and GK-Customer-Id header attributes | The GK-Device-Id and GK-Customer-Id header attributes in the calls to Basket Service need to be forwarded so that the Basket Service is able to check if the values match the values in the basket. |
| POCP-77146 | Basket Security upgrades (Snyk.IO) | Resolved SNYK findings |
What's New - Checkout Service
This release contains no new features.
Resolved Issues
| Issue Key | Summary | Change Description |
|---|---|---|
| POCP-77146 | Basket Security upgrades (Snyk.IO) | Resolved SNYK findings |
| POCP-77146 | Basket Security upgrades (Snyk.IO) | Resolved SNYK findings |
What's New - Basket Finalization Service
This release contains no new features.
Resolved Issues
| Issue Key | Summary | Change Description |
|---|---|---|
| POCP-77146 | Basket Security upgrades (Snyk.IO) | Resolved SNYK findings |
What's New - Basket Event Bridge Service
This release contains no new features.
Resolved Issues
| Issue Key | Summary | Change Description |
|---|---|---|
| POCP-77146 | Basket Security upgrades (Snyk.IO) | Resolved SNYK findings |
What's New - Basket Notification Service
This release contains no new features.
Resolved Issues
| Issue Key | Summary | Change Description |
|---|---|---|
| POCP-77146 | Basket Security upgrades (Snyk.IO) | Resolved SNYK findings |
| POCP-77067 | Basket events for customer update | Created basket events when a customer is added to / removed from the basket |
What's New - Offer Registration Service
This release contains no new features.
Resolved Issues
| Issue Key | Summary | Change Description |
|---|---|---|
| POCP-77146 | Basket Security upgrades (Snyk.IO) | Resolved SNYK findings |