Age | Commit message (Collapse) | Author |
|
Refactor/user database
|
|
Test/integration with travis
|
|
minor changes improving stability
|
|
Including tests that ensure this
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is an intermediate fix. There's a user record that never had it's database created. The first time it shows up in the changes feed the revision starts with 2-. Not sure why this is. But we loose this user record if we rely on CouchRest::Changes.created which checks for a revision starting with 1-.
|
|
* do not log the SystemExit after the fork
* log error classes alongside messages
* unify logging in retry_request_once
* debug now logs every step
* info has one message per user created
* warn only logs errors during the actions
* error only logs crashes
|
|
This version mainly improves the stability and should keep tapicero from dying too early.
* couchrest_changes 0.0.5 will resume if the connection died.
* lock yajl version to 1.1.0 - 1.2.0 requires mkmf on the server
* retry couch requests in case they fail
* log all crashes
|
|
|
|
Couch sometimes responds with 500 or so. Often this is temporary. Let's retry once and log the error instead of dying.
|
|
--run-once will exit once all current changes have been processed
--rerun will process all users again even those that were processed before
--overwrite-security will overwrite security for user databases even
if it has been set before.
|
|
|
|
We'll add a flag to overwrite designs and / or security later. For now just make sure this does not crash tapicero.
|
|
Also strip the .json extention because soledad does not expect it
|
|
Pathname makes dealing with files easier than String.
Tapicero will look for design documents in design directory in the tapicero path for now.
|
|
This also changes the format of the config file. Please make sure to adjust it.
|
|
Also logging per user db creation and destruction if they happen.
|
|
bigcouch uses arrays for sequence:
http://mail-archives.apache.org/mod_mbox/couchdb-user/201301.mbox/%3CCABvT1DEGDCJyvEuFsNJZbXi_NJwJna8NHDnQvpr2h532s0V18g@mail.gmail.com%3E
So we should not expect them to be integers. Still have to catch the empty file situation in a meaningful way though.
|
|
tapicero should create per user databases when a user is created and
destroy them when that user is destroyed. However it should not attempt
the same if design docs are created or destroyed.
|
|
|
|
|
|
.to_i makes retrieving the sequence more robust - in particular if the file content was not meaningful.
store_seq should also be called if it was a destroy action.
|
|
|
|
|
|
|
|
This commit bundles a few different changes:
* we now use the CouchRest::Database#changes stream instead of our own
* we store and read the last sequence number so on a restart we can start where we left
* we now have a UserDatabase class rather than the CouchDatabaseCreator. It also knows about it's name and we create an instance of it per database we want to create. It's also more flexible when the databases already exist.
|
|
|
|
|
|
|
|
|
|
|
|
|