18870: git stuff
[arvados.git] / services / api / lib / audit_logs.rb
index 56fd935f3fdc9f0fe9055067edf45fe44df59003..2b5e3b8abff2d14ddebea3008aa6774280c466f9 100644 (file)
@@ -44,8 +44,8 @@ module AuditLogs
   end
 
   def self.tidy_in_background
-    max_age = Rails.configuration.max_audit_log_age
-    max_batch = Rails.configuration.max_audit_log_delete_batch
+    max_age = Rails.configuration.AuditLogs.MaxAge.to_i
+    max_batch = Rails.configuration.AuditLogs.MaxDeleteBatch
     return if max_age <= 0 || max_batch <= 0
 
     exp = (max_age/14).seconds
@@ -62,7 +62,12 @@ module AuditLogs
       rescue => e
         Rails.logger.error "#{e.class}: #{e}\n#{e.backtrace.join("\n\t")}"
       ensure
-        ActiveRecord::Base.connection.close
+        # Rails 5.1+ makes test threads share a database connection, so we can't
+        # close a connection shared with other threads.
+        # https://github.com/rails/rails/commit/deba47799ff905f778e0c98a015789a1327d5087
+        if Rails.env != "test"
+          ActiveRecord::Base.connection.close
+        end
       end
     end
   end