rnewson opened a new pull request #1591: Create shard files if missing
URL: https://github.com/apache/couchdb/pull/1591
 
 
   ## Overview
   
   If, when a database is created, it was not possible to create any of
   the shard files, the database cannot be used. All requests return a
   "No DB shards could be opened." error.
   
   This commit changes fabric_util:get_db/2 to create the shard file if
   missing. This is correct as that function has already called
   mem3:shards(DbName) which only returns shards if the database exists.
   
   ## Testing recommendations
   
   It's tricky. You need to have max_dbs_open's worth of files open on all 
nodes when creating the database. This ensures the _dbs doc is created (as this 
db is opened at startup and stays open) but none of the shards.
   
   The easiest test is as follows;
   
   1. Create the db
   2. stop couchdb (all nodes)
   3. delete the .couch files under the 'shards' directory
   4. start couchdb
   5. try to do anything with the database, get "No DB shards could be opened" 
error.
   
   retry with the patch and step 5 is successful (and the shard files appear on 
disk).
   
   ## Related Issues or Pull Requests
   
   N/A
   
   ## Checklist
   
   - [x] Code is written and works correctly;
   - [ ] 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