[ 
https://issues.apache.org/jira/browse/OAK-10655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Konrad Windszus updated OAK-10655:
----------------------------------
    Description: 
Currently the feature provided in OAK-9208 emits WARNs like the following

{code}
5.02.2024 11:46:49.748 *WARN* [ResourceResolverFactory registration] 
org.apache.jackrabbit.oak.composite.impl.NonDefaultMountWriteReportingObserver$ChangeReporter
 Unexpected changes (38) performed on a non-default mount. Printing at most 
50_- /apps : Changed_- ....
java.lang.RuntimeException: null
        at 
org.apache.jackrabbit.oak.composite.impl.NonDefaultMountWriteReportingObserver$CountingDiff.report(NonDefaultMountWriteReportingObserver.java:106)
        at 
org.apache.jackrabbit.oak.composite.impl.NonDefaultMountWriteReportingObserver.contentChanged(NonDefaultMountWriteReportingObserver.java:88)
        at 
org.apache.jackrabbit.oak.spi.commit.CompositeObserver.contentChanged(CompositeObserver.java:51)
        at 
org.apache.jackrabbit.oak.spi.commit.ChangeDispatcher.contentChanged(ChangeDispatcher.java:79)
        at 
org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler$ObservableLockBasedScheduler.contentChanged(LockBasedScheduler.java:394)
        at 
org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.execute(LockBasedScheduler.java:303)
        at 
org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.schedule(LockBasedScheduler.java:270)
        at 
org.apache.jackrabbit.oak.segment.SegmentNodeStore.merge(SegmentNodeStore.java:211)
        at 
org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:262)
        at 
org.apache.jackrabbit.oak.jcr.delegate.WorkspaceDelegate$WorkspaceCopy.perform(WorkspaceDelegate.java:130)
        at 
org.apache.jackrabbit.oak.jcr.delegate.WorkspaceDelegate.copy(WorkspaceDelegate.java:99)
        at 
org.apache.jackrabbit.oak.jcr.session.WorkspaceImpl$2.performVoid(WorkspaceImpl.java:163)
        at 
org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performVoid(SessionDelegate.java:299)
        at 
org.apache.jackrabbit.oak.jcr.session.WorkspaceImpl.copy(WorkspaceImpl.java:150)
        at 
org.apache.jackrabbit.oak.jcr.session.WorkspaceImpl.copy(WorkspaceImpl.java:132)
        at 
.....
{code}

It would be useful to add a dedicated exception message to the throwable (or 
prevent logging it) and indicate that this only indicates where the JCR session 
has been committed.

  was:
Currently the feature provided in OAK-9208 emits WARNs like the following

{code}
5.02.2024 11:46:49.748 *WARN* [ResourceResolverFactory registration] 
org.apache.jackrabbit.oak.composite.impl.NonDefaultMountWriteReportingObserver$ChangeReporter
 Unexpected changes (38) performed on a non-default mount. Printing at most 
50_- /apps : Changed_- ....
java.lang.RuntimeException: null
        at 
org.apache.jackrabbit.oak.composite.impl.NonDefaultMountWriteReportingObserver$CountingDiff.report(NonDefaultMountWriteReportingObserver.java:106)
        at 
org.apache.jackrabbit.oak.composite.impl.NonDefaultMountWriteReportingObserver.contentChanged(NonDefaultMountWriteReportingObserver.java:88)
        at 
org.apache.jackrabbit.oak.spi.commit.CompositeObserver.contentChanged(CompositeObserver.java:51)
        at 
org.apache.jackrabbit.oak.spi.commit.ChangeDispatcher.contentChanged(ChangeDispatcher.java:79)
        at 
org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler$ObservableLockBasedScheduler.contentChanged(LockBasedScheduler.java:394)
        at 
org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.execute(LockBasedScheduler.java:303)
        at 
org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.schedule(LockBasedScheduler.java:270)
        at 
org.apache.jackrabbit.oak.segment.SegmentNodeStore.merge(SegmentNodeStore.java:211)
        at 
org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:262)
        at 
org.apache.jackrabbit.oak.jcr.delegate.WorkspaceDelegate$WorkspaceCopy.perform(WorkspaceDelegate.java:130)
        at 
org.apache.jackrabbit.oak.jcr.delegate.WorkspaceDelegate.copy(WorkspaceDelegate.java:99)
        at 
org.apache.jackrabbit.oak.jcr.session.WorkspaceImpl$2.performVoid(WorkspaceImpl.java:163)
        at 
org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performVoid(SessionDelegate.java:299)
        at 
org.apache.jackrabbit.oak.jcr.session.WorkspaceImpl.copy(WorkspaceImpl.java:150)
        at 
org.apache.jackrabbit.oak.jcr.session.WorkspaceImpl.copy(WorkspaceImpl.java:132)
        at 
biz.netcentric.cq.tools.actool.startuphook.impl.AcToolStartupHookServiceImpl.copyAcHistoryToOrFromApps(AcToolStartupHookServiceImpl.java:194)
        at 
biz.netcentric.cq.tools.actool.startuphook.impl.AcToolStartupHookServiceImpl.runAcTool(AcToolStartupHookServiceImpl.java:109)
        at 
biz.netcentric.cq.tools.actool.startuphook.impl.AcToolStartupHookServiceImpl.activate(AcToolStartupHookServiceImpl.java:94)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at 
org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:245)
        at 
org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41)
        at 
org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:687)
        at 
org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:531)
        at 
org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317)
        at 
org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307)
        at 
org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:354)
        at 
org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:115)
        at 
org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:1002)
        at 
org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:975)
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:785)
        at 
org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1274)
        at 
org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1225)
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232)
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152)
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959)
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895)
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184)
        at 
org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116)
        at 
org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
        at 
org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
        at 
org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
        at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4863)
.....
{code}

It would be useful to add a dedicated exception message to the throwable (or 
prevent logging it) and indicate that this only indicates where the JCR session 
has been committed.


> Improve warning emitted for Unexpected changes performed on a non-default 
> mount
> -------------------------------------------------------------------------------
>
>                 Key: OAK-10655
>                 URL: https://issues.apache.org/jira/browse/OAK-10655
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>            Reporter: Konrad Windszus
>            Priority: Major
>
> Currently the feature provided in OAK-9208 emits WARNs like the following
> {code}
> 5.02.2024 11:46:49.748 *WARN* [ResourceResolverFactory registration] 
> org.apache.jackrabbit.oak.composite.impl.NonDefaultMountWriteReportingObserver$ChangeReporter
>  Unexpected changes (38) performed on a non-default mount. Printing at most 
> 50_- /apps : Changed_- ....
> java.lang.RuntimeException: null
>       at 
> org.apache.jackrabbit.oak.composite.impl.NonDefaultMountWriteReportingObserver$CountingDiff.report(NonDefaultMountWriteReportingObserver.java:106)
>       at 
> org.apache.jackrabbit.oak.composite.impl.NonDefaultMountWriteReportingObserver.contentChanged(NonDefaultMountWriteReportingObserver.java:88)
>       at 
> org.apache.jackrabbit.oak.spi.commit.CompositeObserver.contentChanged(CompositeObserver.java:51)
>       at 
> org.apache.jackrabbit.oak.spi.commit.ChangeDispatcher.contentChanged(ChangeDispatcher.java:79)
>       at 
> org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler$ObservableLockBasedScheduler.contentChanged(LockBasedScheduler.java:394)
>       at 
> org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.execute(LockBasedScheduler.java:303)
>       at 
> org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.schedule(LockBasedScheduler.java:270)
>       at 
> org.apache.jackrabbit.oak.segment.SegmentNodeStore.merge(SegmentNodeStore.java:211)
>       at 
> org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:262)
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.WorkspaceDelegate$WorkspaceCopy.perform(WorkspaceDelegate.java:130)
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.WorkspaceDelegate.copy(WorkspaceDelegate.java:99)
>       at 
> org.apache.jackrabbit.oak.jcr.session.WorkspaceImpl$2.performVoid(WorkspaceImpl.java:163)
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performVoid(SessionDelegate.java:299)
>       at 
> org.apache.jackrabbit.oak.jcr.session.WorkspaceImpl.copy(WorkspaceImpl.java:150)
>       at 
> org.apache.jackrabbit.oak.jcr.session.WorkspaceImpl.copy(WorkspaceImpl.java:132)
>       at 
> .....
> {code}
> It would be useful to add a dedicated exception message to the throwable (or 
> prevent logging it) and indicate that this only indicates where the JCR 
> session has been committed.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to