I am doing a conversion, and after loading accounting data some background jobs are started which run very long, every time i get a message in the log like:
Rebuilt entity.data.feed.info cache in 96ms, entries for 13 entities
I also get a lot of messages like: Slow hit to AT_ENTITY:one:moqui.basic.LocalizedMessage running time 1303.18682 is greater than average 9.144019615004106E-4 plus 2.6 standard deviations 0.7123199657241792
I read the documentation in Moqui Documentation but the purpose of datafeeds are not explained.
So the main question: why do we have data feeds and what are the benefits? They seem to be a big overhead?
I do not use the elastic search, do i also not need datafeeds?
Well, of course you can disable the background jobs and your issue would be resolved.
The data feeds exist as an abstraction mechanism over elasticsearch, where the concept of a document translates to the final indices in elasticsearch. Note that some services depend on and are implemented to work with data documents, and hence elasticsearch. So does some of the community screens (accounting, party, etc …)
The slow hit message you get usually means you’re indexing a large data document, and hence you might want to take different approaches such as:
Reduce the frequency of indexation in the background services
Increase the hardware specs. More memory and CPU definitely helps
Optimize indexation, there could be a bottleneck that can alleviate the pressure.
Also I remember that the issue with localized message was improved in later versions, so are you on the very latest moqui core? That might also help. and If you’re on the latest, maybe erase the indices completely and rebuild from scratch?
Hi Taher,
thanks for the quick reply, I solved it yesterday by commenting out all references to data feed in EntityFacadeImpl.groovy what fixed the problem. As mentioned i disabled elastic search anyway so do not need this datafeed.
I am using 3.0 which is the latest released version?
You know instead of gutting the code, why not simply delete all your data documents? This issue can be much more easily solved in the database instead of code