tonysun83 opened a new pull request #606: Use Ejson Body Instead of Compressed 
Body for External size
URL: https://github.com/apache/couchdb/pull/606
 
 
   ## Overview
   
   <!-- Please give a short brief for the pull request,
        what problem it solves or how it makes things better. -->
   
   In two places where we calculate the ExternalSize of the document body,
   we use the Summary which is a compressed version of the doc body. We
   change this to use the actual ejson body. In copy_docs we don't have
   access to the #doc record so we can't access the meta where we store
   the ejson body. Unfortunately, this means we have to decompress the
   document body after reading it from disk.
   
   ## Testing recommendations
   
   Performance tests were conducted to compare pre-fix External Size values and 
post-fix External Size Values. Here are the results:
   ```
   Version        Compression    DB Dize      DB External Size
   
   Pre-Fix         snappy            70 MB        46249702       
   Pre-Fix         snappy            700 MB      462495533       
   Pre-Fix         snappy            2.1 GB        1387486406      
                                           
   Post-Fix       snappy            70 MB        83950133    
   Post-Fix       snappy            700 MB      839500133        
   Post-Fix       snappy            2.1 GB        2518500133         
                                           
   Pre-Fix         deflate_6        70 MB        46249702         
   Pre-Fix         deflate_6        700 MB      413395945      
   Pre-Fix         deflate_6        2.1 GB       994598087         
                                           
   Post-Fix       deflate_6        70 MB        83950133   
   Post-Fix       deflate_6        700 MB      430495496  
   Post-Fix       deflate_6        2.1 GB       1291486342
   ```
   ## GitHub issue number
   
   COUCHDB-3429
   
   ## Related Pull Requests
   
   <!-- If your changes affects multiple components in different
        repositories please put links to those pull requests here.  -->
   
   ## Checklist
   
   - [X] Code is written and works correctly;
   - [X] Changes are covered by tests;
   - [ ] Documentation reflects the changes;
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to