Subversion Repositories SmartDukaan

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
36883 7 d 23 h ranu /trunk/ calling target given  
36596 39 d 21 h ranu /trunk/ row dump of target  
36359 66 d 19 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ rbm rating dashboard view commited  
36334 67 d 19 h ranu /trunk/ rbm rating dashboard view commited  
36333 67 d 19 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ Fix IllegalStateException: drop 'unless' when using @Cacheable(sync=true)

Spring Cache rejects @Cacheable with both sync=true AND an 'unless' attribute,
throwing IllegalStateException on every invocation. Surfaced in production log
on smartdukaan — MonitorController.todayPORBM:739 was returning 500 on 40
observed calls this session.

Dropped 'unless'. Caching an occasionally-empty List for 5 min is harmless:
months with no sales produce an empty result, which is cheaper to re-query
after 5 min than to keep special-casing. The real fix driver for sync=true
(stampede protection) is preserved.
 
36329 67 d 21 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ Tune rbmWeeklyBilling cache: 2m→5m TTL + sync=true

The RBM weekly billing aggregate query takes ~2s per call (1,924 cumulative hits
on hadb1 = 3,800s DB time). Previously cached for only 2 minutes with no
stampede protection — every 2m window, every concurrent dashboard load ran the
aggregate in parallel and burnt Hikari slots simultaneously.

- 2m → 5m: this is month-level aggregate bucketed by week, doesn't need
sub-minute freshness for an RBM dashboard.
- sync=true: single in-JVM computation per (monthStart, monthEnd) key per
expiry window; concurrent misses wait for the in-flight load instead of
racing to the DB.

fiveMintimeoutCacheManager already exists in CacheConfig:73 (Caffeine, in-memory,
so no Redis/LocalDateTime serialization concerns).
 
36296 71 d 22 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ Add 2-min cache on dashboard-family queries

Three queries dominate dashboard DB time (~830 s / 30 min combined) because
they re-execute on every dashboard refresh with near-identical parameters:

- OrderRepositoryImpl.selectPartnersBilledBetweenDates: dynamic endDate is
LocalDateTime.now(), so cache key bucketed to 2-minute boundaries via SpEL
(endDate.toEpochSecond / 120) so calls in the same bucket share an entry.
- UserWalletRepositoryImpl.getPartnerWiseCollectionAchievement and
RbmTargetServiceImpl.getWeeklyBillingDataForMonth: default Spring key
(fofoIds + startDate) is stable, no bucketing needed.

All three use the existing Caffeine 'twoMintimeoutCacheManager' (in-memory,
per-JVM, expireAfterWrite=2min). unless clause skips caching empty results
so legitimately-empty responses don't pin a bad entry.
 
36284 72 d 17 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ code optimization of today po rbm page  
36276 73 d 20 h ranu /trunk/ unique call and recording will show on dashboard  
36234 79 d 0 h ranu /trunk/ back date data ..........dashboard display on calling  
36229 80 d 18 h ranu /trunk/ rbm l1,l2,l3 layer introduce  
36228 80 d 18 h ranu /trunk/ rbm l1,l2,l3 layer introduce  
36225 80 d 19 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ rbm l1,l2,l3 layer introduce  
36212 81 d 18 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ rbm l1,l2,l3 layer introduce  
36210 81 d 19 h ranu /trunk/ rbm l1,l2,l3 layer introduce  
36181 85 d 19 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ weekly rating system live on calling module  
35852 122 d 17 h ranu /trunk/ call data download  
35843 123 d 15 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ called will come from agent call log instead of remark  
35822 126 d 20 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ show all caleed by auth user  
35821 126 d 20 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ show all caleed by auth user  
35818 126 d 22 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ show all caleed by auth user  
35816 126 d 23 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ calling l2 improve  
35763 135 d 2 h ranu /trunk/ rbm called detail now coming from call log not by remark  
35762 135 d 15 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ rbm calls date wise filter given  
35761 135 d 16 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ rbm calls date wise filter given  
35760 135 d 16 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ rbm calls date wise filter given  
35759 135 d 16 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ rbm calls date wise filter given  
35757 135 d 18 h ranu /trunk/ rbm calls date wise filter given  
35730 136 d 23 h ranu /trunk/ rbm calls date wise filter given  
35721 138 d 1 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ code commit for calling target / retailer contact  
35720 138 d 1 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ code commit for calling target / retailer contact  
35714 138 d 17 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ code commit for calling target / retailer contact  
35702 138 d 19 h ranu /trunk/ now recording also fetching  
35677 141 d 0 h ranu /trunk/ code commit for calling target / retailer contact  
35672 141 d 17 h ranu /trunk/ code commit for calling target / retailer contact  
35670 141 d 18 h ranu /trunk/ code commit for calling target / retailer contact  
35669 141 d 19 h ranu /trunk/ code commit for calling target / retailer contact  
35665 141 d 21 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ code commit for calling target / retailer contact  
35662 142 d 19 h ranu /trunk/ code commit for calling target / retailer contact  
35654 144 d 1 h ranu /trunk/ code commit for calling target / retailer contact