Data explorer 플러그인을 활성화할 때 NameError (uninitialized constant DataExplorer::Poll) 발생

팀 여러분께,

Data explorer 플러그인을 활성화하는 중에 NameError (uninitialized constant DataExplorer::Poll) 오류가 발생하고 있습니다.

저희는 포럼을 실행하기 위해 bitnami discourse 이미지를 사용 중이며, discourse-data-explorer를 설치하려고 시도하고 있습니다. data-explorer 플러그인은 활성화되었지만, discourse-data-explorer를 활성화한 후 플러그인 탭 바로 아래에 위치한 “Data Explorer” 탭을 클릭하면 /admin/plugins/explorer/schema.json 경로에 대해 500 오류가 발생하며, 첨부된 스크린샷에서 볼 수 있는 이름 오류가 나타납니다.

상세 정보:

  1. 사용된 이미지 및 discourse 버전: discourse:2.8.3-debian-10-r24부터 discourse:2.8.13-debian-11-r2까지 (해당 범위 내의 모든 버전에서 시도해 보았지만 유사한 오류가 발생함)

  2. 이미지 출처: “/hub.docker.com/layers/bitnami/discourse/2.8.13-debian-11-r2/images/sha256-f0b848d6fa20b1faac282a85a929e8b45dadcfbd44f3b764a136d538a6dcf9cf?context=explore”

  3. */logs/의 백트레이스 로그

plugins/discourse-data-explorer/plugin.rb:384:in `enums'
plugins/discourse-data-explorer/plugin.rb:435:in `enum_info'
plugins/discourse-data-explorer/plugin.rb:332:in `block in schema'
plugins/discourse-data-explorer/plugin.rb:301:in `each'
plugins/discourse-data-explorer/plugin.rb:301:in `schema'
/bitnami/discourse/plugins/discourse-data-explorer/app/controllers/data_explorer/query_controller.rb:114:in `schema'
actionpack (6.1.6.1) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (6.1.6.1) lib/abstract_controller/base.rb:228:in `process_action'
actionpack (6.1.6.1) lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack (6.1.6.1) lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport (6.1.6.1) lib/active_support/callbacks.rb:117:in `block in run_callbacks'
app/controllers/application_controller.rb:387:in `block in with_resolved_locale'
i18n (1.8.11) lib/i18n.rb:314:in `with_locale'
app/controllers/application_controller.rb:387:in `with_resolved_locale'
activesupport (6.1.6.1) lib/active_support/callbacks.rb:126:in `block in run_callbacks'
activesupport (6.1.6.1) lib/active_support/callbacks.rb:137:in `run_callbacks'
actionpack (6.1.6.1) lib/abstract_controller/callbacks.rb:41:in `process_action'
actionpack (6.1.6.1) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (6.1.6.1) lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
activesupport (6.1.6.1) lib/active_support/notifications.rb:203:in `block in instrument'
activesupport (6.1.6.1) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (6.1.6.1) lib/active_support/notifications.rb:203:in `instrument'
actionpack (6.1.6.1) lib/action_controller/metal/instrumentation.rb:33:in `process_action'
actionpack (6.1.6.1) lib/action_controller/metal/params_wrapper.rb:249:in `process_action'
activerecord (6.1.6.1) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (6.1.6.1) lib/abstract_controller/base.rb:165:in `process'
actionview (6.1.6.1) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (2.3.3) lib/mini_profiler/profiling_methods.rb:85:in `block in profile_method'
actionpack (6.1.6.1) lib/action_controller/metal.rb:190:in `dispatch'
actionpack (6.1.6.1) lib/action_controller/metal.rb:254:in `dispatch'
actionpack (6.1.6.1) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
actionpack (6.1.6.1) lib/action_dispatch/routing/route_set.rb:33:in `serve'
actionpack (6.1.6.1) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (6.1.6.1) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (6.1.6.1) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (6.1.6.1) lib/action_dispatch/routing/route_set.rb:842:in `call'
railties (6.1.6.1) lib/rails/engine.rb:539:in `call'
railties (6.1.6.1) lib/rails/railtie.rb:207:in `public_send'
railties (6.1.6.1) lib/rails/railtie.rb:207:in `method_missing'
actionpack (6.1.6.1) lib/action_dispatch/routing/mapper.rb:20:in `block in <class:Constraints>'
actionpack (6.1.6.1) lib/action_dispatch/routing/mapper.rb:49:in `serve'
actionpack (6.1.6.1) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (6.1.6.1) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (6.1.6.1) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (6.1.6.1) lib/action_dispatch/routing/route_set.rb:842:in `call'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.3) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.3) lib/rack/head.rb:12:in `call'
actionpack (6.1.6.1) lib/action_dispatch/http/permissions_policy.rb:22:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:361:in `call'
rack (2.2.3) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.3) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (6.1.6.1) lib/action_dispatch/middleware/cookies.rb:689:in `call'
actionpack (6.1.6.1) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (6.1.6.1) lib/active_support/callbacks.rb:98:in `run_callbacks'
actionpack (6.1.6.1) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (6.1.6.1) lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
actionpack (6.1.6.1) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
actionpack (6.1.6.1) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
logster (2.10.1) lib/logster/middleware/reporter.rb:43:in `call'
railties (6.1.6.1) lib/rails/rack/logger.rb:37:in `call_app'
railties (6.1.6.1) lib/rails/rack/logger.rb:28:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
actionpack (6.1.6.1) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
actionpack (6.1.6.1) lib/action_dispatch/middleware/request_id.rb:26:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
rack (2.2.3) lib/rack/method_override.rb:24:in `call'
actionpack (6.1.6.1) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.3) lib/rack/sendfile.rb:110:in `call'
actionpack (6.1.6.1) lib/action_dispatch/middleware/host_authorization.rb:142:in `call'
rack-mini-profiler (2.3.3) lib/mini_profiler/profiler.rb:249:in `call'
message_bus (4.0.0) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:198:in `call'
railties (6.1.6.1) lib/rails/engine.rb:539:in `call'
railties (6.1.6.1) lib/rails/railtie.rb:207:in `public_send'
railties (6.1.6.1) lib/rails/railtie.rb:207:in `method_missing'
rack (2.2.3) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.3) lib/rack/urlmap.rb:58:in `each'
rack (2.2.3) lib/rack/urlmap.rb:58:in `call'
passenger (6.0.15) src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb:107:in `process_request'
passenger (6.0.15) src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb:149:in `accept_and_process_next_request'
passenger (6.0.15) src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb:110:in `main_loop'
passenger (6.0.15) src/ruby_supportlib/phusion_passenger/request_handler.rb:419:in `block (3 levels) in start_threads'
passenger (6.0.15) src/ruby_supportlib/phusion_passenger/utils.rb:113:in `block in create_thread_and_abort_on_exception'
  1. */logs/의 정보
NameError (uninitialized constant DataExplorer::Poll)
app/controllers/application_controller.rb:387:in `block in with_resolved_locale'
app/controllers/application_controller.rb:387:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:361:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:198:in `call'
  1. 참고 discourse-data-explorer의 이전 커밋, 즉 92bdea38b2af1b4e04f4c52d1bd34550d553f66b를 사용하고 있습니다. 최신 커밋을 사용하면 "Unable to install Data Explorer Plugin last version"에 언급된 오류가 발생했습니다!

여기서 */admin/plugins/explorer/groups.json 및 */admin/plugins/explorer/queries와 같은 다른 모든 API는 정상적으로 작동하지만, */admin/plugins/explorer/schema.json만 500 오류를 반환합니다!

누군가 비슷한 문제를 겪어 보셨거나, 이 문제에 대해 도움을 주실 수 있을까요?

감사합니다…

안정 버전(stable branch)에서 플러그인을 가져와야 할 것 같습니다. Bitnami에서는 어떻게 해야 하는지 모르겠네요.

플러그인의 최신 버전에서는 admin/plugins/explorer/schema.json을 오류 없이 렌더링할 수 있습니다. 제이님이 언급했듯이, main 브랜치를 사용하는 것을 권장합니다.