-
Type: Bug
-
Status: Resolved
-
Priority: Major
-
Resolution: Duplicate
-
Affects Version/s: 9.10, 10.2
-
Fix Version/s: None
-
Component/s: Nuxeo Drive
-
Tags:
-
Backlog priority:500
- install nuxeo
- install drive
- create user robert
- create a workspace testWorkspace
- create 3 folders in it with the following permissions for robert:
-- testworkspace (READ) (see testWorkspacePerms.png) ---- first level (READ by inheritance) (see firstLevelPerms.png) ------ second level (none -> blocked) (see secondLevelPerms.png) -------- third level (READ) (see thirdLevelPerms.png)
- drag and drop some files (at least one) on each level
- login as robert
- enable synchronization on testWorkspace (see testWorkspaceSynched.png)
- observe synchronization is also enabled on firstLevel (see firstLevelSynched.png)
- observe synchronization is not enabled on thirdLevel (see thirdLevelNoSync.png)
- start Drive client
- connect as robert
- observe only firstLevel and not thirdLevel is detected (see driveClientSync.png) which is the expected behavior
- click OK
- observe nothing is synched on client side
- observe the following stack trace on server side:
2018-08-31 09:50:48,542 ERROR [http-nio-0.0.0.0-8080-exec-13] [org.nuxeo.ecm.webengine.app.WebEngineExceptionMapper] org.nuxeo.drive.adapter.RootlessItemException: Failed to invoke operation: NuxeoDrive.ScrollDescendants, Failed to invoke operation NuxeoDrive.ScrollDescendants, User robert has no READ access on parent of document /default-domain/workspaces/testWorkspaceSUPNXP23906/firstLevel/secondLevel/thirdLevel (5b2d319a-7ffa-48b7-9384-10c2647772f0). org.nuxeo.drive.adapter.RootlessItemException: Failed to invoke operation: NuxeoDrive.ScrollDescendants, Failed to invoke operation NuxeoDrive.ScrollDescendants, User robert has no READ access on parent of document /default-domain/workspaces/testWorkspaceSUPNXP23906/firstLevel/secondLevel/thirdLevel (5b2d319a-7ffa-48b7-9384-10c2647772f0). at org.nuxeo.drive.adapter.impl.DocumentBackedFolderItem.populateAncestorCache(DocumentBackedFolderItem.java:433) at org.nuxeo.drive.adapter.impl.DocumentBackedFolderItem.adaptDocuments(DocumentBackedFolderItem.java:383) at org.nuxeo.drive.adapter.impl.DocumentBackedFolderItem.doScrollDescendants(DocumentBackedFolderItem.java:235) at org.nuxeo.drive.adapter.impl.DocumentBackedFolderItem.scrollDescendants(DocumentBackedFolderItem.java:204) at org.nuxeo.drive.service.impl.FileSystemItemManagerImpl.scrollDescendants(FileSystemItemManagerImpl.java:194) at org.nuxeo.drive.operations.NuxeoDriveScrollDescendants.run(NuxeoDriveScrollDescendants.java:79) at sun.reflect.GeneratedMethodAccessor1137.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.nuxeo.ecm.automation.core.impl.InvokableMethod.doInvoke(InvokableMethod.java:166) at org.nuxeo.ecm.automation.core.impl.InvokableMethod.invoke(InvokableMethod.java:178) at org.nuxeo.ecm.automation.core.impl.OperationChainCompiler$OperationMethod.invoke(OperationChainCompiler.java:151) at org.nuxeo.ecm.automation.core.impl.OperationChainCompiler$CompiledChainImpl.lambda$invoke$0(OperationChainCompiler.java:218) at org.nuxeo.ecm.automation.OperationContext.call(OperationContext.java:328) at org.nuxeo.ecm.automation.OperationContext.callWithChainParameters(OperationContext.java:293) at org.nuxeo.ecm.automation.core.impl.OperationChainCompiler$CompiledChainImpl.invoke(OperationChainCompiler.java:215) at org.nuxeo.ecm.automation.core.impl.OperationServiceImpl.run(OperationServiceImpl.java:115) at org.nuxeo.ecm.automation.core.impl.OperationServiceImpl.lambda$run$0(OperationServiceImpl.java:105) at org.nuxeo.ecm.automation.OperationContext.call(OperationContext.java:328) at org.nuxeo.ecm.automation.OperationContext.callWithChainParameters(OperationContext.java:293) at org.nuxeo.ecm.automation.core.impl.OperationServiceImpl.run(OperationServiceImpl.java:105) at org.nuxeo.ecm.automation.server.jaxrs.OperationResource.execute(OperationResource.java:58) at org.nuxeo.ecm.automation.server.jaxrs.ExecutableResource.doPost(ExecutableResource.java:70) at sun.reflect.GeneratedMethodAccessor1084.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498)
Expected behavior: the synchronization should be done at workspace and first levels and there should not be any errors.
The synchronization should not look for deeper levels when user does not have enough rights or synchronization is not enabled.
- duplicates
-
NXP-24932 NuxeoDrive.ScrollDescendants shouldn't fail for an accessible descendant having a parent with blocked inherited permissions
- Resolved