I am seeing quite some random failures in the Browse Collection scenario.
Typically:
14:05:21 [INFO] [exec] [chrome #0-5] Browse collections 14:05:21 [INFO] [exec] [chrome #0-5] [32m✓[39m user "John" exists in group "members" 14:05:21 [INFO] [exec] [chrome #0-5] [32m✓[39m I login as "John" 14:05:21 [INFO] [exec] [chrome #0-5] [32m✓[39m I have a HTML Note 14:05:21 [INFO] [exec] [chrome #0-5] [32m✓[39m I browse to the document 14:05:21 [INFO] [exec] [chrome #0-5] [32m✓[39m I add the document to the "MyCollection" collection 14:05:21 [INFO] [exec] [chrome #0-5] [32m✓[39m I click the "collections" button 14:05:21 [INFO] [exec] [chrome #0-5] [32m✓[39m I can see the "MyCollection" collection 14:05:21 [INFO] [exec] [chrome #0-5] [32m✓[39m I can click on the "MyCollection" collection 14:05:21 [INFO] [exec] [chrome #0-5] [32m✓[39m I can see that the document belongs to the collection 14:05:21 [INFO] [exec] [chrome #0-5] [32m✓[39m I can click the document in the collection 14:05:21 [INFO] [exec] [chrome #0-5] [32m✓[39m I can see the collection is in queue mode 14:05:21 [INFO] [exec] [chrome #0-5] [31m1)[39m I can see the collection queue has the document 14:05:21 [INFO] [exec] [chrome #0-5] [36m!![39m I can remove the document from the collection queue 14:05:21 [INFO] [exec] [chrome #0-5] [36m!![39m I can see the collection queue does not have the document
As shown in the attached screenshot, the left-hand side queue is empty while it should show the colllection member we are currently on.
After investigation, it seems linked to ELEMENTS-709 which makes our elements abort concurrent requests.
I was able to reproduce such random failure locally.
The thing about the collection drawer menu is that it uses the page provider from the nuxeo-collection-view-layout to populate its collection member queue. In certain race conditions, this page provider is used twice at the same time to populate the collection drawer menu members queue and the view layout listing. We end up with a request abortion and the drawer is not populated as in the provided screenshot.
2 possible solution to fix:
- expose the uncancelable property at nuxeo-page-provider element level and use it on the nuxeo-collection-view-layout page provider
- stop sharing this page provider between the collection drawer menu and view layout
IMO, the 2nd solution is cleaner, easier to maitain and make the nuxeo-collections element more reusable.
- is caused by
-
ELEMENTS-709 Handle obsolete responses on nuxeo-resource and nuxeo-operation
- Resolved