קבלת NameError (קבוע לא מאותחל DataExplorer::Poll) בעת הפעלת תוסף Data explorer

סיכום מבוסס בינה מלאכותית

A user reports a NameError (uninitialized constant DataExplorer::Poll) when enabling the Data Explorer plugin on a Bitnami Discourse instance, resulting in a 500 error on the /admin/plugins/explorer/schema.json endpoint. The issue occurs across multiple versions from 2.8.3 to 2.8.13. The backtrace points to a problem in the plugin’s schema generation. Another user suggests using the stable branch of the plugin, noting that the issue doesn’t occur on the latest version. mital reports the issue, pfaffman advises checking the plugin branch, and isaac confirms the issue is resolved on the latest version.

Hi Team,

Getting NameError (uninitialized constant DataExplorer::Poll) while enabling Data explorer plugin.

We are using bitnami discourse image for running forum, And trying to install discourse-data-explorer. Plugin data-explorer got enabled but on clicking the tab “Data Explorer” (which exactly below the plugins tab after we enabled the discourse-data-explorer) it is giving 500 error for path “/admin/plugins/explorer/schema.json” followed by name error in above screenshot.

More Details:

  1. Used image and discourse versions: from discourse:2.8.3-debian-10-r24 till discourse:2.8.13-debian-11-r2 (tried on all versions in given range but faced similar error)

  2. Image source: “/hub.docker.com/layers/bitnami/discourse/2.8.13-debian-11-r2/images/sha256-f0b848d6fa20b1faac282a85a929e8b45dadcfbd44f3b764a136d538a6dcf9cf?context=explore”

  3. Backtrace logs of */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. Info of */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. FYI Using older commit of discourse-data-explorer i.e. 92bdea38b2af1b4e04f4c52d1bd34550d553f66b. When we used the latest commit got error, mentioned in “Unable to install Data Explorer Plugin last version”!

Here all other apis are working fine like */admin/plugins/explorer/groups.json and */admin/plugins/explorer/queries only */admin/plugins/explorer/schema.json is giving 500!

Does anyone faced similar kind of issue or Can anyone help on this?

Thanks…

I think you might need to get the plugin on the stable branch. I don’t know how to do that with Bitnami.

I can render admin/plugins/explorer/schema.json without error on the latest version of the plugin. As Jay mentioned, I would recommend using the main branch.