Rainloop - Cannot export vcard #118

Closed
opened 2021-08-07 08:14:36 +02:00 by muppeth · 4 comments
Owner

Looks like vcard export is broken. We need to investigate urgently specially that we will need it soon when migrating to Roundcube

Looks like vcard export is broken. We need to investigate urgently specially that we will need it soon when migrating to Roundcube
muppeth added the
🤔️ Investigate
Urgent!
labels 2021-08-07 08:14:36 +02:00
Owner

csv export too

csv export too
Owner

Looks like php process timesout while waiting for db. Try to beef mariadb and check for possible indexes we could add to lower the wait time

Looks like php process timesout while waiting for db. Try to beef mariadb and check for possible indexes we could add to lower the wait time
Author
Owner

From what I noticed it takes about 3 seconds to display all 3264 contacts I have on my account (test account with some random contacts imported for testing long time ago).
When exporting contacts, rainloop looks up each contact individually:
SELECT * FROM rainloop_ab_properties WHERE id_contact = XXXX;. This also takes about 3 seconds. So if you have 66 pages of contacts, this will surely cause timeout on php and terminate the operation.
What I will try to do is to minimize the time it takes for the lookup. However seeing that rainloop will do lookup for each contact, even if fast it may still cause timeouts on some accounts that have a lot of contacts. We should check which user hast the most and for the time set the timeout on php side to it ${avarage_query_time} * ${amount_of_contacts. I will try to get the avarage_query_time lower.

From what I noticed it takes about 3 seconds to display all 3264 contacts I have on my account (test account with some random contacts imported for testing long time ago). When exporting contacts, rainloop looks up each contact individually: `SELECT * FROM rainloop_ab_properties WHERE id_contact = XXXX;`. This also takes about 3 seconds. So if you have 66 pages of contacts, this will surely cause timeout on php and terminate the operation. What I will try to do is to minimize the time it takes for the lookup. However seeing that rainloop will do lookup for each contact, even if fast it may still cause timeouts on some accounts that have a lot of contacts. We should check which user hast the most and for the time set the timeout on php side to it `${avarage_query_time} * ${amount_of_contacts`. I will try to get the `avarage_query_time` lower.
muppeth added this to the (deleted) project 2021-09-11 13:09:04 +02:00
Author
Owner

Missing index was the cause. 🤦

Missing index was the cause. 🤦
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Disroot/Disroot-Project#118
No description provided.