| Rev |
Age |
Author |
Path |
Log message |
Diff |
| 37462 |
38 d 17 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/event/ |
Fire TagListing Solr update after commit instead of inside the write transaction
TagListingChangeListener used a plain @EventListener, so the async Solr rebuild
ran on a separate thread in a new transaction while the publishing controller
transaction was still open. FofoSolr.updateSingleCatalog then re-read
tag_listing on a connection that could not see the uncommitted rows and
re-indexed the pre-change price; for a catalog's first-ever listing it read
zero rows, took the isEmpty branch and deleted the doc from Solr.
Switched to @TransactionalEventListener(phase = AFTER_COMMIT). All publish
sites (TagListingController, PriceDropController, IndentController,
InventoryController, ModelHotDealServiceImpl) are inside a @Transactional
boundary, so no event is dropped. |
|
| 37053 |
90 d 16 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/event/ |
Add FLAGSHIP_UPDATED tag-listing event to trigger Solr reindex when a model's flagship status changes |
|
| 35800 |
231 d 8 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
Optimize credit note generation (bulk query), fix brand code NPE, add dealer code order validation, add @Profile guard on SolrStartupSync |
|
| 35547 |
267 d 12 h |
amit |
/trunk/ |
Real-time Solr updates for TagListing changes
- Add Spring ApplicationEvent for TagListing changes (price, status, create, delete)
- Add async listener for incremental Solr updates (updateSingleCatalog)
- Add failure tracking with solr_update_failures table for visibility
- Add admin dashboard API for tech team to retry failed updates
- Add auto-retry job every 5 minutes (max 3 retries)
- Add startup sync for consistency after restart
- Add isProd check to skip Solr updates in local/dev environment
- Inject event publisher in TagListing, PriceDrop, Indent controllers |
|