hello) i had problem with high spicedb
# spicedb
y
hello) i had problem with high spicedb memory load because of LookupResources request. I tried to add limits to this requests and its killed my postgress)))
limit was 200
do you know about this problem?
v
did the spikes started happening when you added pagination? did those spikes not happen without pagination?
y
it would also help to know the general shape of your schema and data
y
yes, only after limits
i didnt have spikes on postgress, but i had spikes on spice db memory when i did LookupResources for user with 1000+ relations
v
any chances you can create a
zed backup
export with obfuscation via
zed backup redact
and send it our way?
y
definition user {} definition anonymous {} definition link { relation owner: user relation member: user relation scope: user | group | anonymous permission membership = owner + member permission can_member_be_added = owner + scope + scope->membership permission has_access = membership permission can_view = membership } definition group { relation owner: user | group relation member: user | group#member permission membership = member + member->membership + owner permission has_access = membership permission can_view = has_access } definition project { relation owner: user relation parent: folder relation viewer: user | link | group relation editor: user | link | group relation signer: user relation commenter: user | link | group relation filler: user permission can_view = viewer + can_edit + viewer->membership + parent + parent->can_view + can_fill + can_comment + can_sign permission can_edit = editor + editor->membership + parent + parent->can_edit + can_all permission can_sign = signer + can_fill permission can_all = owner permission has_access = can_view permission can_comment = commenter + can_edit + parent + parent->can_comment + commenter->membership permission can_fill = filler } definition folder { relation owner: user relation parent: folder relation viewer: user | link | group relation editor: user | link | group permission can_view = can_edit + viewer + viewer->membership + parent + parent->can_view permission can_edit = can_all + editor + editor->membership + parent + parent->can_edit permission can_all = owner permission has_access = can_view }
request:
Copy code
return &v1.LookupResourcesRequest{
        ResourceObjectType: permission.DEF_PROJECT,
        Permission:         permission.PERM_CAN_VIEW,
        Subject: &v1.SubjectReference{
            Object: &v1.ObjectReference{
                ObjectType: permission.DEF_USER,
                ObjectId:   userId,
            },
        },
        OptionalLimit: u.config.CONSUMER.StreamLimit,
        Consistency: &v1.Consistency{
            Requirement: &v1.Consistency_FullyConsistent{FullyConsistent: true},
        },
    }
i will ask our devops team
v
@Yaroslav we are experimenting with a new LR implementation that is showing promising results. If you want to give it a go, we'd appreciate any feedback: https://github.com/authzed/spicedb/pull/1905
2 Views