[ARVADOS] updated: 2.1.0-2061-g977b902c5
Git user
git at public.arvados.org
Mon Mar 14 15:52:07 UTC 2022
Summary of changes:
services/api/lib/tasks/delete_old_job_logs.rake | 16 ----
services/api/lib/tasks/symbols.rake | 114 ------------------------
2 files changed, 130 deletions(-)
delete mode 100644 services/api/lib/tasks/delete_old_job_logs.rake
delete mode 100644 services/api/lib/tasks/symbols.rake
via 977b902c5e1bd846f678191a62e6d84cea37956b (commit)
from e1e96c6d2cb259f60f22d2fb4bd1c00f9667ba35 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 977b902c5e1bd846f678191a62e6d84cea37956b
Author: Ward Vandewege <ward at curii.com>
Date: Mon Mar 14 11:51:08 2022 -0400
18763: remove rake tasks that are no longer needed (cf.
https://dev.arvados.org/issues/18763#note-5).
Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <ward at curii.com>
diff --git a/services/api/lib/tasks/delete_old_job_logs.rake b/services/api/lib/tasks/delete_old_job_logs.rake
deleted file mode 100644
index a1ae2226a..000000000
--- a/services/api/lib/tasks/delete_old_job_logs.rake
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (C) The Arvados Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-# This task finds jobs that have been finished for at least as long as
-# the duration specified in the `clean_job_log_rows_after`
-# configuration setting, and deletes their stderr logs from the logs table.
-
-namespace :db do
- desc "Remove old job stderr entries from the logs table"
- task delete_old_job_logs: :environment do
- delete_sql = "DELETE FROM logs WHERE id in (SELECT logs.id FROM logs JOIN jobs ON logs.object_uuid = jobs.uuid WHERE event_type = 'stderr' AND jobs.log IS NOT NULL AND clock_timestamp() - jobs.finished_at > interval '#{Rails.configuration.Containers.Logging.MaxAge.to_i} seconds')"
-
- ActiveRecord::Base.connection.execute(delete_sql)
- end
-end
diff --git a/services/api/lib/tasks/symbols.rake b/services/api/lib/tasks/symbols.rake
deleted file mode 100644
index dc9ed461d..000000000
--- a/services/api/lib/tasks/symbols.rake
+++ /dev/null
@@ -1,114 +0,0 @@
-# Copyright (C) The Arvados Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-require 'current_api_client'
-
-# This is needed instead of just including CurrentApiClient so that its
-# methods don't get imported as Object's class methods; this is a problem because
-# the methods would be imported only on test environment. See #15716 for more info.
-class CurrentApiClientHelper
- extend CurrentApiClient
-end
-
-def has_symbols? x
- if x.is_a? Hash
- x.each do |k,v|
- return true if has_symbols?(k) or has_symbols?(v)
- end
- elsif x.is_a? Array
- x.each do |k|
- return true if has_symbols?(k)
- end
- elsif x.is_a? Symbol
- return true
- elsif x.is_a? String
- return true if x.start_with?(':') && !x.start_with?('::')
- end
- false
-end
-
-def check_for_serialized_symbols rec
- jsonb_cols = rec.class.columns.select{|c| c.type == :jsonb}.collect{|j| j.name}
- (jsonb_cols + rec.class.serialized_attributes.keys).uniq.each do |colname|
- if has_symbols? rec.attributes[colname]
- st = recursive_stringify rec.attributes[colname]
- puts "Found value potentially containing Ruby symbols in #{colname} attribute of #{rec.uuid}, current value is\n#{rec.attributes[colname].to_s[0..1024]}\nrake symbols:stringify will update it to:\n#{st.to_s[0..1024]}\n\n"
- end
- end
-end
-
-def recursive_stringify x
- if x.is_a? Hash
- Hash[x.collect do |k,v|
- [recursive_stringify(k), recursive_stringify(v)]
- end]
- elsif x.is_a? Array
- x.collect do |k|
- recursive_stringify k
- end
- elsif x.is_a? Symbol
- x.to_s
- elsif x.is_a? String and x.start_with?(':') and !x.start_with?('::')
- x[1..-1]
- else
- x
- end
-end
-
-def stringify_serialized_symbols rec
- # ensure_serialized_attribute_type should prevent symbols from
- # getting into the database in the first place. If someone managed
- # to get them into the database (perhaps using an older version)
- # we'll convert symbols to strings when loading from the
- # database. (Otherwise, loading and saving an object with existing
- # symbols in a serialized field will crash.)
- jsonb_cols = rec.class.columns.select{|c| c.type == :jsonb}.collect{|j| j.name}
- (jsonb_cols + rec.class.serialized_attributes.keys).uniq.each do |colname|
- if has_symbols? rec.attributes[colname]
- begin
- st = recursive_stringify rec.attributes[colname]
- puts "Updating #{colname} attribute of #{rec.uuid} from\n#{rec.attributes[colname].to_s[0..1024]}\nto\n#{st.to_s[0..1024]}\n\n"
- rec.write_attribute(colname, st)
- rec.save!
- rescue => e
- puts "Failed to update #{rec.uuid}: #{e}"
- end
- end
- end
-end
-
-namespace :symbols do
- desc 'Warn about serialized values starting with ":" that may be symbols'
- task check: :environment do
- [ApiClientAuthorization, ApiClient,
- AuthorizedKey, Collection,
- Container, ContainerRequest, Group,
- Human, Job, JobTask, KeepDisk, KeepService, Link,
- Node, PipelineInstance, PipelineTemplate,
- Repository, Specimen, Trait, User, VirtualMachine,
- Workflow].each do |klass|
- CurrentApiClientHelper.act_as_system_user do
- klass.all.each do |c|
- check_for_serialized_symbols c
- end
- end
- end
- end
-
- task stringify: :environment do
- [ApiClientAuthorization, ApiClient,
- AuthorizedKey, Collection,
- Container, ContainerRequest, Group,
- Human, Job, JobTask, KeepDisk, KeepService, Link,
- Node, PipelineInstance, PipelineTemplate,
- Repository, Specimen, Trait, User, VirtualMachine,
- Workflow].each do |klass|
- CurrentApiClientHelper.act_as_system_user do
- klass.all.each do |c|
- stringify_serialized_symbols c
- end
- end
- end
- end
-end
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list