Projects:Improve Org Session Cache&action=edit/QA
Performance/scalability
Measures were taken in an instance with 600 organizations (created with this script, using a role with access to all of them.
Now the only factors for the size of the cache is the number of organizations in the tree and the ones that are accessible by current role, but the tree topology is not a factor anymore.
For the 600 organizations case session has been reduced from 1MB (having a tree with few levels, this could increase up to 14MB having 600 levels) to 550KB, which is a reduction of almost 50% in size.
POS login time (counting session creation, not data loading), has been reduced from 291ms to 208ms.
Other places making intensive use of this component have also improved in performance. For example, order creation in backoffice (counting FormInitializationComponent request) has been reduced from 180ms to 71ms.
More detailed figures can be found here.
Test cases
Being the modified components core pieces that are used by every other tests, there is no need for specific functional test cases for this project.
AllowedOrganizationsTest
has been adapted to test new flows in OrganizationStructureProvider
, current code coverage is 67%.
Code review
https://docs.google.com/spreadsheets/d/1Mq9G6DI7jXLZ98hkZp2cihizGFf5ZH7ieXahovisSCg