AI Briefing
KO

Olive Young Extends Cancellation Window to 'Just Before Shipment'… Solving Concurrency with Kafka and Distributed Locks

·2026.09.01 17:16

Key point

Olive Young improved customer convenience by changing the cancellation deadline from the logistics task assignment time to the picking completion time.

Details

Olive Young previously used the logistics center's shipping instruction (task assignment) time as the cutoff for non-cancellable orders, but this left time before actual shipment, causing customer inconvenience. Accordingly, the company redefined the point of no return for each delivery type and expanded the cancellable window.

Changes to Cancellation Deadlines by Delivery Type

For Center Delivery, the cancellation deadline was moved from task assignment to Picking completion; for Vendor Delivery, from shipping instruction to invoice registration; and for Today Dream, from order acceptance to dispatch. These changes align with the interpretation of the right to withdraw under the E-Commerce Act, allowing cancellations until the product actually leaves the shelf or is handed off externally.

Cancellation Decision Logic Based on a Single Timestamp Value

To consolidate distributed cancellation decision code, a single timestamp value called 'Non-cancellable Time' was introduced into the order delivery information. If this value is empty, the order is considered cancellable; if filled, it is considered non-cancellable. Only the timing of when this value is populated differs by delivery type. This structure facilitates the restoration of cancellable states (e.g., allowing re-cancellation after a dispatch cancellation).

Kafka Event Streaming and Safeguards

To enable real-time cancellation decisions, the system adopted a method of subscribing to picking completion events from the logistics system via Kafka. This reduces coupling associated with synchronous queries and ensures availability. To prevent incidents caused by event loss, a double safeguard was applied to also populate the non-cancellable time upon receiving shipment confirmation events.

Concurrency Control for Today Dream Dispatch and Cancellation

To handle cases where dispatch requests and cancellation requests occur simultaneously in the Today Dream service, distributed locks were applied. To overcome the limitations of DB pessimistic or optimistic locks, a concurrency control method was introduced that maintains consistency while including external API call intervals, resolving the issue of riders being dispatched to cancelled orders.

This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.

Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.