-
Notifications
You must be signed in to change notification settings - Fork 17
Long duration for de-/serialization searchUser-Result #148
Comments
Hello @sschum, we are aware of this issue, but until now no one had this amount of data to be deserialized. I think we can easily optimize some things here, and then you can check if the situation got better. Please be aware that it's not a good idea to retrieve that much data via a search request. First of all, we're doing many
In fact, early versions of OSIAM didn't allow you to retrieve more than 100 resources. I don't know why we ever changed that value to infinity. Can you explain your use case in more detail? Maybe we can find another, more suited solution.
Please create a new issue for that including the query string or some example code that reproduces the issue (preferably in the connector4java-integration-tests). |
Why we do so: At the first we have implemented a restricted search: For us it doesn't matter if we get all users in one query or less users in many queries. Because the initialization of the cache will get all users either way.
This is not a bug, its a feature ;) Because we send the fields explicity: queryBuilder.setAttributes("userName, externalId"); I thought that is a nice-to-have information for this issue. |
Alright, I misunderstood you :)
You could also store the |
Fixed with #151 (and subsequently with osiam/scim-schema#136) |
Update changelog
In our project we have many (round about 10,000) huge user data sets. They have many extension field values. We use the "searchUsers"-API to check if a user has access rights to specific parts of our software. So we have many rules. These rules are just search queries.
We have the feeling that the de-/serialization takes a lot of time. For example: if we use the searchUsers query directly against osiam (http-request) we got an answer in ~20sec. But if we use the searchUsers (same query, same parameters) against the connector4java we got an answer in ~30sec. For me it suggests that the deserialization took about ~10sec.
BTW: The query above delivered ~2,000 Users. But not the whole user data set! Only the externalId and userName.
The text was updated successfully, but these errors were encountered: