Skip to content

Geo: uninitialized constant Gitlab::Geo::PersonalfileDownloader

Summary

Attachment sync is not implemented for attachments to a personal snippet, and possibly other types of attachment too.

Steps to reproduce

Attach a file to a personal snippet on the primary

What is the current bug behavior?

Secondary blows up with an uninitialized constant error

What is the expected correct behavior?

Personal snippet attachment should be synced

Relevant logs and/or screenshots

NameError: uninitialized constant Gitlab::Geo::PersonalfileDownloader
  from active_support/inflector/methods.rb:263:in `const_get'
  from active_support/inflector/methods.rb:263:in `block in constantize'
  from active_support/inflector/methods.rb:259:in `each'
  from active_support/inflector/methods.rb:259:in `inject'
  from active_support/inflector/methods.rb:259:in `constantize'
  from active_support/core_ext/string/inflections.rb:66:in `constantize'
  from app/services/geo/file_download_service.rb:21:in `downloader'

    def downloader
      klass = "Gitlab::Geo::#{service_klass_name}Downloader".constantize
      klass.new(object_type, object_db_id)
    rescue NameError => e
      log_error('Unknown file type', e)

Possible fixes

/cc @brodock @stanhu @dbalexandre @to1ne

Edited by Nick Thomas