<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SmartDukaan &#x2013; /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/config/OfferCacheGate.java</title><description>WebSVN RSS feed &#x2013; SmartDukaan</description><lastBuildDate>Fri, 30 Oct 2026 21:55:32 +0530</lastBuildDate><generator>WebSVN 2.8.6-DEV</generator><language>en</language><link>https://svn.smartdukaan.com/log.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fdao%2Fconfig%2FOfferCacheGate.java&amp;max=40&amp;</link><atom:link href="https://svn.smartdukaan.com/rss.php?path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fdao%2Fconfig%2FOfferCacheGate.java&amp;repname=SmartDukaan" rel="self" type="application/rss+xml" />
<item><pubDate>Mon, 19 Oct 2026 08:38:47 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37907 – fix(offers): stop stale offer rows being re-cached after an offer ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 5 file(s) modified&lt;/strong&gt;&lt;br/&gt;fix(offers): stop stale offer rows being re-cached after an offer change&lt;br /&gt;
&lt;br /&gt;
Readers whose transaction began before an offer write committed could cache&lt;br /&gt;
the old row (e.g. offer 10851 shown inactive on Offer History for 6h).&lt;br /&gt;
- OfferCacheGate: offer caches refuse fills from readers whose transaction&lt;br /&gt;
  began before the last offer change (atomic Lua check-and-set)&lt;br /&gt;
- TxStartTrackingTransactionManager records each transaction&apos;s start time&lt;br /&gt;
- offer cache evictions run after the transaction completes, marking the change first&lt;br /&gt;
- activate/publishAll evict inside their REQUIRES_NEW transaction&lt;br /&gt;
- evictAllOfferCaches(YearMonth) for Refresh Cache; offer cache TTL 6h -&gt; 1h&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/config/CacheConfig.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/config/OfferCacheGate.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/config/TxStartTrackingTransactionManager.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/offers/OfferService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/offers/OfferServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fdao%2Fconfig%2FOfferCacheGate.java&amp;rev=37907</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fdao%2Fconfig%2FOfferCacheGate.java&amp;rev=37907</guid></item>
</channel></rss>