Replies: 8 comments
-
Thanks for raising this issue @danmunteanuevo! Please note the Just so that we enough data to know if this is a known issue or a new one can I ask you to share:
|
Beta Was this translation helpful? Give feedback.
-
OpenFGA Latest Docker from 4 days ago: [v0.3.1] |
Beta Was this translation helpful? Give feedback.
-
I have enabled on the docker the --experimentals="list-objects-optimized". The query are now faster for the other users/access rights and they work. |
Beta Was this translation helpful? Give feedback.
-
It it planned to ever support returning all items a user has a relationship with? So that I can use |
Beta Was this translation helpful? Give feedback.
-
@robinmanuelthiel it already is supported, but not well documented. If you provide a zero value for that config then it won't prematurely terminate. You can also use the StreamedListObjects API for streaming semantics, which may work better for your use case. The danger with disabling (with zero values) the Unfortunately, given the nature of the query resolution (it's a recursive breadth first search of a relationship graph), it's hard to paginate this dataset because it's not a fixed dataset and the graph evaluation is done concurrently (and thus is not ordered). The query is implemented as a dynamic graph traversal over relational data. This makes it particularly challenging to paginate, and hence the reason why we've chosen these alternative tradeoffs. I recommend giving the StreamedListObjects API a try and see how that works for you. Disable the |
Beta Was this translation helpful? Give feedback.
-
@jon-whit Thanks a lot for the detailed answer. Will give it a try and report back! Did I understand correctly, that streaming the results still requires a lot of calculation on the server and still gets throttled or limited by the |
Beta Was this translation helpful? Give feedback.
-
@robinmanuelthiel That is correct, yes. That's a perfect way to describe it. It's a more responsive way to receive the result stream, whereas the alternative |
Beta Was this translation helpful? Give feedback.
-
@jon-whit Thanks for clarifying. Are there any plans to ever support pagination or something similar? My use-case is search, so I need to get all items of type Foo a user has access to and then filter my search results to only include these. As I am building a multi-tenant system, I can't afford that one search affects the permissions-performance for all other tenants, I am looking for a solution that gives me a paginated list of all items a user can access without running into memory/time issues on the permissions server :/ |
Beta Was this translation helpful? Give feedback.
-
Although assert validates a read user from AdminTeam that it has read right to a certain resource,
the ListObjects method does not return all items that it actually has read access, and some times it returns different results on back to back calls.
Authorization Model (Schema v1.1)
DSL
JSON:
Beta Was this translation helpful? Give feedback.
All reactions