Skip to content

Resolve "Index namespaces.traversal_ids"

Alex Pooley requested to merge 325636-index-namespaces-traversal_ids into master

What does this MR do?

Index the namespaces.traversal_ids for fast lookup.

The index takes 34 seconds to be created in postgres.ai and it is pretty small (as expected as all traversal_ids are empty)

 Schema |               Name                | Type  |  Owner  |   Table    | Size  | Description   
--------+-----------------------------------+-------+---------+------------+-------+-------------  
 public | index_namespaces_on_traversal_ids | index | joe_122 | namespaces | 11 MB |   

DB Migrations

$ bundle exec rake db:migrate
== 20210323064751 AddNamespaceTraversalIdsIndex: migrating ====================
-- transaction_open?()
   -> 0.0000s
-- index_exists?(:namespaces, :traversal_ids, {:using=>:gin, :name=>"index_namespaces_on_traversal_ids", :algorithm=>:concurrently})
   -> 0.0068s
-- execute("SET statement_timeout TO 0")
   -> 0.0004s
-- add_index(:namespaces, :traversal_ids, {:using=>:gin, :name=>"index_namespaces_on_traversal_ids", :algorithm=>:concurrently})
   -> 0.0031s
-- execute("RESET ALL")
   -> 0.0004s
== 20210323064751 AddNamespaceTraversalIdsIndex: migrated (0.0115s) ===========

$ bundle exec rake db:rollback
== 20210323064751 AddNamespaceTraversalIdsIndex: reverting ====================
-- transaction_open?()
   -> 0.0000s
-- indexes(:namespaces)
   -> 0.0066s
-- execute("SET statement_timeout TO 0")
   -> 0.0005s
-- remove_index(:namespaces, {:algorithm=>:concurrently, :name=>"index_namespaces_on_traversal_ids"})
   -> 0.0029s
-- execute("RESET ALL")
   -> 0.0005s
== 20210323064751 AddNamespaceTraversalIdsIndex: reverted (0.0113s) ===========

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Related to #325636 (closed)

Edited by Yannis Roussos

Merge request reports