I used mondrian-220.127.116.1185 with its roles support and it worked perfectly.
After migration to version 18.104.22.16803 I discovered that for same schema configuration roles work with some problems.
For example Role defined like this:
<CubeGrant cube="Sales" access="all">
<HierarchyGrant rollupPolicy="Partial" hierarchy="[Customers]" access="custom">
<MemberGrant member="[Customers].[USA]" access="none"/>
<MemberGrant member="[Customers].[USA].[CA]" access="all"/>
Cube cube = olapConnection.getOlapSchema().getCubes().get("Sales");
Hierarchy hierarchy = cube.getHierarchies().get("Customers");
Member defautlMember = hierarchy.getDefaultMember();
For version 22.214.171.12485 defautlMember object refers to [Customers].[All Customers]
For version 126.96.36.19903 defaultMember is null. Moreover hierarchy.getRootMembers() has member [Customers].[All Customers]
but this member does not have any child member.
In both cases I connect with XMLA with olap4j 1.0
I discovered that rollupPolicy="Partial" brings these problems, but without this configuration we can not benefit data hiding:
Maybe role managment differs somehow?
Please share your suggestion about this case.