Project

General

Profile

Feature #18967

Updated by Tom Clegg about 1 month ago

h2. Unused or redundant columns 
 

 * 'id' - most tables have a default 'id' column added by rails, despite the fact that 'uuid' is the real primary key 
 * 'updated_at' - this was removed from API responses in #15397 

 seems to be redundant with 'modified_at' 


 h2. Unused or redundant tables 

 * humans 
 * humans, specimens, traits, jobs, job_tasks, pipeline_instances, pipeline_templates, keep_disks, nodes, repositories specimens 
 * traits 

 #15397 (release 3.0) removed rails code that relied on Legacy tables introduced to support PGP use case but never used.    Recommended to use 'properties' for metadata and  
 'links' for standalone records 

 * keep_disks 
 * keep_services 

 Now stored 100% in the above tables/columns, so it will be safe config file.    Need to remove keep the "keep_services/accessible" endpoint but can drop the underlying tables themselves _after_ 3.0 (see #15397#note-72). and answer queries using only config file content. 

 * nodes 
 * jobs 
 * job_tasks  
 * pipeline_templates 
 * pipeline_instances 

 Support for the legacy "jobs" API and legacy cloud node manager, both of which are obsolete and disabled in new installations. 

 * api_clients table 

 This still has an effect -- tokens are associated with clients, clients can be "trusted" or "untrusted", which controls whether they can manipulate other tokens.    However this is not part confusing and has been a consistent stumbling point on Arvados installation & configuration. 

 This seems to have been originally implemented to for the login process of this -- see #21910. the legacy SSO server, where the "api_client" table represented a OAuth2 client id used by the SSO server (???).    Without the SSO server it isn't clear it serves any purpose (the "trusted/untrusted" feature could be made a per-token flag, or eliminated). 

Back