confirmed on swift 2.15.1 (commit ff23dcdf3aa) - all background daemons run only in once mode
1. created account
2. created containers
3. deleted account with reseller admin token
4. ran account-reaper with default reaper_delay of 0
5. use swift-container-info to verify that containers are deleted
6. ran account-replicator with small reclaim_age (60) -> account dbs are removed
7. ran swift-container-updater -> traceback account-server logs:
Sep 27 16:00:24 localhost account-server: STDERR: 127.0.0.1 - - [27/Sep/2017 15:00:24] "PUT /sdb4/802/AUTH_test/c2 HTTP/1.1" 500 911 0.000695
Sep 27 16:00:24 localhost account-server: ERROR __call__ error with PUT /sdb4/802/AUTH_test/c1 : #012Traceback (most recent call last):#012 File "/home/swift/swift/swift/account/server.py", line 269, in __call__#012 res = getattr(self, req.method)(req)#012 File "/home/swift/swift/swift/common/utils.py", line 1658, in _timing_stats#012 resp = func(ctrl, *args, **kwargs)#012 File "/home/swift/swift/swift/account/server.py", line 132, in PUT#012 container_policy_index)#012 File "/home/swift/swift/swift/account/backend.py", line 267, in put_container#012 self.put_record(record)#012 File "/home/swift/swift/swift/common/db.py", line 572, in put_record#012 raise DatabaseConnectionError(self.db_file, "DB doesn't exist")#012DatabaseConnectionError: DB connection error (/srv/4/node/sdb4/accounts/802/178/c8bcccab3ddbfdc34b08e9223f4f5178/c8bcccab3ddbfdc34b08e9223f4f5178.db, 0):#012DB doesn't exist
8. ran container-replicator once with small reclaim_age (60) - container dbs are NOT removed
In contrast, same set of steps but not running account-replicator leaves account dbs in place (as expected) and container-replicator removes container dbs.
confirmed on swift 2.15.1 (commit ff23dcdf3aa) - all background daemons run only in once mode
1. created account -info to verify that containers are deleted -updater -> traceback account-server logs:
2. created containers
3. deleted account with reseller admin token
4. ran account-reaper with default reaper_delay of 0
5. use swift-container
6. ran account-replicator with small reclaim_age (60) -> account dbs are removed
7. ran swift-container
Sep 27 16:00:24 localhost account-server: STDERR: 127.0.0.1 - - [27/Sep/2017 15:00:24] "PUT /sdb4/802/ AUTH_test/ c2 HTTP/1.1" 500 911 0.000695 AUTH_test/ c1 : #012Traceback (most recent call last):#012 File "/home/ swift/swift/ swift/account/ server. py", line 269, in __call__#012 res = getattr(self, req.method) (req)#012 File "/home/ swift/swift/ swift/common/ utils.py" , line 1658, in _timing_stats#012 resp = func(ctrl, *args, **kwargs)#012 File "/home/ swift/swift/ swift/account/ server. py", line 132, in PUT#012 container_ policy_ index)# 012 File "/home/ swift/swift/ swift/account/ backend. py", line 267, in put_container#012 self.put_ record( record) #012 File "/home/ swift/swift/ swift/common/ db.py", line 572, in put_record#012 raise DatabaseConnect ionError( self.db_ file, "DB doesn't exist") #012DatabaseCon nectionError: DB connection error (/srv/4/ node/sdb4/ accounts/ 802/178/ c8bcccab3ddbfdc 34b08e9223f4f51 78/c8bcccab3ddb fdc34b08e9223f4 f5178.db, 0):#012DB doesn't exist
Sep 27 16:00:24 localhost account-server: ERROR __call__ error with PUT /sdb4/802/
8. ran container- replicator once with small reclaim_age (60) - container dbs are NOT removed
In contrast, same set of steps but not running account-replicator leaves account dbs in place (as expected) and container- replicator removes container dbs.