Modifications have been made in the edit mode and have been published but they're not present in live, do you know why?
There isn't any error in the logs.
One explanation to this behavior is the presence of User Generated Content (UGC).
The principle of UGC is explained there: when a user creates a content in live mode, a specific mixin and properties will be set in order to prevent any overwriting if a publication is being made from the edit workspace to the live workspace.
The same principles is applied if you're modifying that thanks to a customer action directly in the live workspace
In order to know if it's your case, you can:
In order to know the "scope" of this UGC, you can also look for the property j:
If you want to remove this mixin and property, you can:
JCRObservationManager.setAllEventListenersDisabled(true); def nodeType = "[jnt:user]"; def path = "/"; final String stmt = "SELECT * FROM " + nodeType + " where [jcr:mixinTypes] = 'jmix:liveProperties' AND ISDESCENDANTNODE('" + path + "'); org.jahia.services.content.MultipleNodeIterator iterator = session.getWorkspace().getQueryManager().createQuery(stmt, Query.JCR_SQL2).execute().getNodes(); log.info("Number of affected nodes :"+iterator.getSize()); while (iterator.hasNext()) { final JCRNodeWrapper node = (JCRNodeWrapper) iterator.nextNode(); log.info("Live Properties :"+node.getPropertyAsString("j:liveProperties")); node.getProperty("j:liveProperties").remove(); node.removeMixin("jmix:liveProperties"); log.info("liveProperties removed for " + node.getPropertyAsString('j:firstName')); } session.save(); JCRObservationManager.setAllEventListenersDisabled(false);
It will of course only correct the current state of your nodes but your custom code is responsible, you'll have to correct it