Subversion Repositories SmartDukaan

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
36359 21 d 14 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ rbm rating dashboard view commited  
36334 22 d 14 h ranu /trunk/ rbm rating dashboard view commited  
36333 22 d 14 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 22 d 16 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 26 d 17 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 27 d 13 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ code optimization of today po rbm page  
36276 28 d 16 h ranu /trunk/ unique call and recording will show on dashboard  
36234 33 d 20 h ranu /trunk/ back date data ..........dashboard display on calling  
36229 35 d 13 h ranu /trunk/ rbm l1,l2,l3 layer introduce  
36228 35 d 14 h ranu /trunk/ rbm l1,l2,l3 layer introduce  
36225 35 d 14 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ rbm l1,l2,l3 layer introduce  
36212 36 d 13 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ rbm l1,l2,l3 layer introduce  
36210 36 d 14 h ranu /trunk/ rbm l1,l2,l3 layer introduce  
36181 40 d 14 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ weekly rating system live on calling module  
35852 77 d 13 h ranu /trunk/ call data download  
35843 78 d 11 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ called will come from agent call log instead of remark  
35822 81 d 16 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ show all caleed by auth user  
35821 81 d 16 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ show all caleed by auth user  
35818 81 d 18 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ show all caleed by auth user  
35816 81 d 19 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ calling l2 improve  
35763 89 d 21 h ranu /trunk/ rbm called detail now coming from call log not by remark  
35762 90 d 11 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ rbm calls date wise filter given  
35761 90 d 11 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ rbm calls date wise filter given  
35760 90 d 11 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ rbm calls date wise filter given  
35759 90 d 11 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ rbm calls date wise filter given  
35757 90 d 13 h ranu /trunk/ rbm calls date wise filter given  
35730 91 d 19 h ranu /trunk/ rbm calls date wise filter given  
35721 92 d 20 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ code commit for calling target / retailer contact  
35720 92 d 21 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ code commit for calling target / retailer contact  
35714 93 d 13 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ code commit for calling target / retailer contact  
35702 93 d 14 h ranu /trunk/ now recording also fetching  
35677 95 d 19 h ranu /trunk/ code commit for calling target / retailer contact  
35672 96 d 12 h ranu /trunk/ code commit for calling target / retailer contact  
35670 96 d 13 h ranu /trunk/ code commit for calling target / retailer contact  
35669 96 d 14 h ranu /trunk/ code commit for calling target / retailer contact  
35665 96 d 17 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ code commit for calling target / retailer contact  
35662 97 d 14 h ranu /trunk/ code commit for calling target / retailer contact  
35654 98 d 20 h ranu /trunk/ code commit for calling target / retailer contact  
35645 100 d 17 h ranu /trunk/ code commit for calling target  
35631 102 d 20 h ranu /trunk/ code commit for calling target