Bug 833653 - Transaction time out when processing large glossary file
Transaction time out when processing large glossary file
Product: Zanata
Classification: Community
Component: Performance (Show other bugs)
Unspecified Unspecified
unspecified Severity high
: ---
: 1.7
Assigned To: Alex Eng
Ding-Yi Chen
Depends On: 826821
  Show dependency treegraph
Reported: 2012-06-19 23:36 EDT by James Ni
Modified: 2012-09-12 19:48 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Feature: Allow users to specify batch size for processing during glossary upload. Default size = 50 Reason: To eliminate transaction time out when processing large glossary file.
Story Points: ---
Clone Of:
Last Closed: 2012-09-11 01:11:25 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
part of log to show the traceback of error (18.50 KB, application/octet-stream)
2012-06-19 23:36 EDT, James Ni
no flags Details

  None (edit)
Description James Ni 2012-06-19 23:36:20 EDT
Created attachment 593119 [details]
part of log to show the traceback of error

Description of problem:

Transaction on server is time out due to processing this large file.

How reproducible:

Steps to Reproduce:
1. Using zanata python client to push compendium glossary file to server 
2. Download compendium-zh_CN-LATEST.po and clean up
3. run zanata glossary push  --lang zh-Hans compendium-zh_CN-LATEST.po
Actual results:
The Client receive 500 error from server: The server encountered an internal error () that prevented it from fulfilling this request.

Expected results:
200 Success response from server

Additional info:

Actually, the Transaction on server is time out due to processing this large file, the attatchment is part of the log of server, it shows that server indeed receive the glossary items from client and store them to database, but since there are a huge amount of glossary items, the server failed at the end since timeout is set to 300s for Transaction.

I think maybe no need to change the Transaction timeout setting on server, but on the other hand, try to break the large file to small part on client and then push to server.
Comment 1 Alex Eng 2012-06-20 20:32:23 EDT
Implemented batch transaction on server side.

See https://github.com/zanata/zanata/commit/0136107b2c9bbd76bb34ae16c9cfca8e3c364505
Comment 2 Ding-Yi Chen 2012-06-27 00:22:48 EDT
This fix works for 1.7 Servers but not 1.6.1 servers.

Comment 3 Ding-Yi Chen 2012-06-27 01:40:07 EDT
After talked to Alex, The server side fix will only go to 1.7.
As for 1.6 servers, workaround can be applied to client.

Note You need to log in before you can comment on or make changes to this bug.