Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

500 when API not ready for awesome_map #187

Open
carlobeltrame opened this issue Jun 24, 2022 · 0 comments
Open

500 when API not ready for awesome_map #187

carlobeltrame opened this issue Jun 24, 2022 · 0 comments

Comments

@carlobeltrame
Copy link
Contributor

Describe the bug
We have an existing awesome_map component. When upgrading from 0.24 to 0.26.1, we get the following error from a new piece of code in decidim awesome:

GraphQL::Error: Second definition of `mutation(...)` (Decidim::Api::MutationType) is invalid, already configured with Decidim::Api::MutationType
  from graphql (1.12.9) lib/graphql/schema.rb:1049:in `mutation'
  from decidim-api (0.26.1) lib/decidim/api/schema.rb:7:in `<class:Schema>'
  from decidim-api (0.26.1) lib/decidim/api/schema.rb:6:in `<module:Api>'
  from decidim-api (0.26.1) lib/decidim/api/schema.rb:4:in `<module:Decidim>'
  from decidim-api (0.26.1) lib/decidim/api/schema.rb:3:in `<main>'
  from bootsnap (1.11.1) lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
  from bootsnap (1.11.1) lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
  from zeitwerk (2.5.4) lib/zeitwerk/kernel.rb:35:in `require'
  from decidim-module-decidim_awesome (658d226e9ed1) app/helpers/decidim/decidim_awesome/map_helper.rb:9:in `api_ready?'
  from decidim-module-decidim_awesome (658d226e9ed1) app/views/decidim/decidim_awesome/map_component/map/_api_ready.html.erb:1
  from actionview (6.0.5) lib/action_view/base.rb:274:in `_run'
  from actionview (6.0.5) lib/action_view/template.rb:185:in `block in render'
  from activesupport (6.0.5) lib/active_support/notifications.rb:182:in `instrument'
  from actionview (6.0.5) lib/action_view/template.rb:385:in `instrument_render_template'
  from actionview (6.0.5) lib/action_view/template.rb:183:in `render'
  from actionview (6.0.5) lib/action_view/renderer/partial_renderer.rb:357:in `block in render_partial'
  from actionview (6.0.5) lib/action_view/renderer/abstract_renderer.rb:88:in `block in instrument'
  from activesupport (6.0.5) lib/active_support/notifications.rb:182:in `instrument'
  from actionview (6.0.5) lib/action_view/renderer/abstract_renderer.rb:87:in `instrument'
  from actionview (6.0.5) lib/action_view/renderer/partial_renderer.rb:346:in `render_partial'
  from actionview (6.0.5) lib/action_view/renderer/partial_renderer.rb:317:in `render'
  from actionview (6.0.5) lib/action_view/renderer/renderer.rb:65:in `render_partial_to_object'
  from actionview (6.0.5) lib/action_view/renderer/renderer.rb:27:in `render_to_object'
  from actionview (6.0.5) lib/action_view/renderer/renderer.rb:22:in `render'
  from actionview (6.0.5) lib/action_view/helpers/rendering_helper.rb:34:in `block in render'
  from actionview (6.0.5) lib/action_view/base.rb:304:in `in_rendering_context'
  from actionview (6.0.5) lib/action_view/helpers/rendering_helper.rb:30:in `render'
  from decidim-module-decidim_awesome (658d226e9ed1) app/views/decidim/decidim_awesome/map_component/map/show.html.erb:3
  from actionview (6.0.5) lib/action_view/base.rb:274:in `_run'
  from actionview (6.0.5) lib/action_view/template.rb:185:in `block in render'
  from activesupport (6.0.5) lib/active_support/notifications.rb:182:in `instrument'
  from actionview (6.0.5) lib/action_view/template.rb:385:in `instrument_render_template'
  from actionview (6.0.5) lib/action_view/template.rb:183:in `render'
  from actionview (6.0.5) lib/action_view/renderer/template_renderer.rb:58:in `block (2 levels) in render_template'
  from actionview (6.0.5) lib/action_view/renderer/abstract_renderer.rb:88:in `block in instrument'
  from activesupport (6.0.5) lib/active_support/notifications.rb:182:in `instrument'
  from actionview (6.0.5) lib/action_view/renderer/abstract_renderer.rb:87:in `instrument'
  from actionview (6.0.5) lib/action_view/renderer/template_renderer.rb:57:in `block in render_template'
  from actionview (6.0.5) lib/action_view/renderer/template_renderer.rb:65:in `render_with_layout'
  from actionview (6.0.5) lib/action_view/renderer/template_renderer.rb:56:in `render_template'
  from actionview (6.0.5) lib/action_view/renderer/template_renderer.rb:13:in `render'
  from actionview (6.0.5) lib/action_view/renderer/renderer.rb:61:in `render_template_to_object'
  from actionview (6.0.5) lib/action_view/renderer/renderer.rb:29:in `render_to_object'
  from actionview (6.0.5) lib/action_view/rendering.rb:117:in `block in _render_template'
  from actionview (6.0.5) lib/action_view/base.rb:304:in `in_rendering_context'
  from actionview (6.0.5) lib/action_view/rendering.rb:116:in `_render_template'
  from actionpack (6.0.5) lib/action_controller/metal/streaming.rb:218:in `_render_template'
  from actionview (6.0.5) lib/action_view/rendering.rb:103:in `render_to_body'
  from actionpack (6.0.5) lib/action_controller/metal/rendering.rb:52:in `render_to_body'
  from actionpack (6.0.5) lib/action_controller/metal/renderers.rb:142:in `render_to_body'
  from actionpack (6.0.5) lib/abstract_controller/rendering.rb:25:in `render'
  from actionpack (6.0.5) lib/action_controller/metal/rendering.rb:36:in `render'
  from actionpack (6.0.5) lib/action_controller/metal/instrumentation.rb:44:in `block (2 levels) in render'
  from activesupport (6.0.5) lib/active_support/core_ext/benchmark.rb:14:in `block in ms'
  from benchmark.rb:308:in `realtime'
  from activesupport (6.0.5) lib/active_support/core_ext/benchmark.rb:14:in `ms'
  from actionpack (6.0.5) lib/action_controller/metal/instrumentation.rb:44:in `block in render'
  from actionpack (6.0.5) lib/action_controller/metal/instrumentation.rb:84:in `cleanup_view_runtime'
  from activerecord (6.0.5) lib/active_record/railties/controller_runtime.rb:34:in `cleanup_view_runtime'
  from actionpack (6.0.5) lib/action_controller/metal/instrumentation.rb:43:in `render'
  from wicked_pdf (2.6.2) lib/wicked_pdf/pdf_helper.rb:18:in `render'
  from actionpack (6.0.5) lib/action_controller/metal/implicit_render.rb:35:in `default_render'
  from actionpack (6.0.5) lib/action_controller/metal/basic_implicit_render.rb:6:in `block in send_action'
  from actionpack (6.0.5) lib/action_controller/metal/basic_implicit_render.rb:6:in `tap'
  from actionpack (6.0.5) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
  from actionpack (6.0.5) lib/abstract_controller/base.rb:195:in `process_action'
  from actionpack (6.0.5) lib/action_controller/metal/rendering.rb:30:in `process_action'
  from actionpack (6.0.5) lib/abstract_controller/callbacks.rb:42:in `block in process_action'
  from activesupport (6.0.5) lib/active_support/callbacks.rb:112:in `block in run_callbacks'
  from activesupport (6.0.5) lib/active_support/core_ext/time/zones.rb:66:in `use_zone'
  from decidim-core (0.26.1) app/controllers/concerns/decidim/use_organization_time_zone.rb:21:in `use_organization_time_zone'
  from activesupport (6.0.5) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
  from i18n (1.10.0) lib/i18n.rb:328:in `with_locale'
  from decidim-core (0.26.1) app/controllers/concerns/decidim/locale_switcher.rb:24:in `switch_locale'
  from activesupport (6.0.5) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
  from sentry-raven (3.1.2) lib/raven/integrations/rails/controller_transaction.rb:7:in `block in included'
  from activesupport (6.0.5) lib/active_support/callbacks.rb:121:in `instance_exec'
  from activesupport (6.0.5) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
  from activesupport (6.0.5) lib/active_support/callbacks.rb:139:in `run_callbacks'
  from actionpack (6.0.5) lib/abstract_controller/callbacks.rb:41:in `process_action'
  from actionpack (6.0.5) lib/action_controller/metal/rescue.rb:22:in `process_action'
  from actionpack (6.0.5) lib/action_controller/metal/instrumentation.rb:33:in `block in process_action'
  from activesupport (6.0.5) lib/active_support/notifications.rb:180:in `block in instrument'
  from activesupport (6.0.5) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
  from activesupport (6.0.5) lib/active_support/notifications.rb:180:in `instrument'
  from actionpack (6.0.5) lib/action_controller/metal/instrumentation.rb:32:in `process_action'
  from actionpack (6.0.5) lib/action_controller/metal/params_wrapper.rb:245:in `process_action'
  from activerecord (6.0.5) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
  from actionpack (6.0.5) lib/abstract_controller/base.rb:136:in `process'
  from actionview (6.0.5) lib/action_view/rendering.rb:39:in `process'
  from actionpack (6.0.5) lib/action_controller/metal.rb:190:in `dispatch'
  from actionpack (6.0.5) lib/action_controller/metal.rb:254:in `dispatch'
  from actionpack (6.0.5) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
  from actionpack (6.0.5) lib/action_dispatch/routing/route_set.rb:33:in `serve'
  from actionpack (6.0.5) lib/action_dispatch/journey/router.rb:49:in `block in serve'
  from actionpack (6.0.5) lib/action_dispatch/journey/router.rb:32:in `each'
  from actionpack (6.0.5) lib/action_dispatch/journey/router.rb:32:in `serve'
  from actionpack (6.0.5) lib/action_dispatch/routing/route_set.rb:834:in `call'
  from railties (6.0.5) lib/rails/engine.rb:527:in `call'
  from railties (6.0.5) lib/rails/railtie.rb:190:in `public_send'
  from railties (6.0.5) lib/rails/railtie.rb:190:in `method_missing'
  from actionpack (6.0.5) lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'
  from actionpack (6.0.5) lib/action_dispatch/routing/mapper.rb:48:in `serve'
  from actionpack (6.0.5) lib/action_dispatch/journey/router.rb:49:in `block in serve'
  from actionpack (6.0.5) lib/action_dispatch/journey/router.rb:32:in `each'
  from actionpack (6.0.5) lib/action_dispatch/journey/router.rb:32:in `serve'
  from actionpack (6.0.5) lib/action_dispatch/routing/route_set.rb:834:in `call'
  from railties (6.0.5) lib/rails/engine.rb:527:in `call'
  from railties (6.0.5) lib/rails/railtie.rb:190:in `public_send'
  from railties (6.0.5) lib/rails/railtie.rb:190:in `method_missing'
  from actionpack (6.0.5) lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'
  from actionpack (6.0.5) lib/action_dispatch/routing/mapper.rb:48:in `serve'
  from actionpack (6.0.5) lib/action_dispatch/journey/router.rb:49:in `block in serve'
  from actionpack (6.0.5) lib/action_dispatch/journey/router.rb:32:in `each'
  from actionpack (6.0.5) lib/action_dispatch/journey/router.rb:32:in `serve'
  from actionpack (6.0.5) lib/action_dispatch/routing/route_set.rb:834:in `call'
  from railties (6.0.5) lib/rails/engine.rb:527:in `call'
  from railties (6.0.5) lib/rails/railtie.rb:190:in `public_send'
  from railties (6.0.5) lib/rails/railtie.rb:190:in `method_missing'
  from actionpack (6.0.5) lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'
  from actionpack (6.0.5) lib/action_dispatch/routing/mapper.rb:48:in `serve'
  from actionpack (6.0.5) lib/action_dispatch/journey/router.rb:49:in `block in serve'
  from actionpack (6.0.5) lib/action_dispatch/journey/router.rb:32:in `each'
  from actionpack (6.0.5) lib/action_dispatch/journey/router.rb:32:in `serve'
  from actionpack (6.0.5) lib/action_dispatch/routing/route_set.rb:834:in `call'
  from batch-loader (1.5.0) lib/batch_loader/middleware.rb:11:in `call'
  from rack-attack (6.6.1) lib/rack/attack.rb:127:in `call'
  from omniauth (2.1.0) lib/omniauth/strategy.rb:202:in `call!'
  from omniauth (2.1.0) lib/omniauth/strategy.rb:169:in `call'
  from omniauth (2.1.0) lib/omniauth/strategy.rb:202:in `call!'
  from omniauth (2.1.0) lib/omniauth/strategy.rb:169:in `call'
  from omniauth (2.1.0) lib/omniauth/strategy.rb:202:in `call!'
  from omniauth (2.1.0) lib/omniauth/strategy.rb:169:in `call'
  from omniauth (2.1.0) lib/omniauth/builder.rb:44:in `call'
  from warden (1.2.9) lib/warden/manager.rb:36:in `block in call'
  from warden (1.2.9) lib/warden/manager.rb:34:in `catch'
  from warden (1.2.9) lib/warden/manager.rb:34:in `call'
  from decidim-core (0.26.1) lib/decidim/middleware/strip_x_forwarded_host.rb:12:in `call'
  from decidim-module-decidim_awesome (658d226e9ed1) app/middleware/decidim/decidim_awesome/current_config.rb:33:in `call'
  from decidim-core (0.26.1) lib/decidim/middleware/current_organization.rb:22:in `call'
  from rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call'
  from rack (2.2.3) lib/rack/etag.rb:27:in `call'
  from rack (2.2.3) lib/rack/conditional_get.rb:27:in `call'
  from rack (2.2.3) lib/rack/head.rb:12:in `call'
  from actionpack (6.0.5) lib/action_dispatch/http/content_security_policy.rb:18:in `call'
  from rack (2.2.3) lib/rack/session/abstract/id.rb:266:in `context'
  from rack (2.2.3) lib/rack/session/abstract/id.rb:260:in `call'
  from actionpack (6.0.5) lib/action_dispatch/middleware/cookies.rb:654:in `call'
  from actionpack (6.0.5) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
  from activesupport (6.0.5) lib/active_support/callbacks.rb:101:in `run_callbacks'
  from actionpack (6.0.5) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
  from actionpack (6.0.5) lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
  from actionpack (6.0.5) lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'
  from actionpack (6.0.5) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
  from lograge (0.12.0) lib/lograge/rails_ext/rack/logger.rb:18:in `call_app'
  from railties (6.0.5) lib/rails/rack/logger.rb:26:in `block in call'
  from activesupport (6.0.5) lib/active_support/tagged_logging.rb:80:in `block in tagged'
  from activesupport (6.0.5) lib/active_support/tagged_logging.rb:28:in `tagged'
  from activesupport (6.0.5) lib/active_support/tagged_logging.rb:80:in `tagged'
  from railties (6.0.5) lib/rails/rack/logger.rb:26:in `call'
  from actionpack (6.0.5) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
  from request_store (1.5.1) lib/request_store/middleware.rb:19:in `call'
  from actionpack (6.0.5) lib/action_dispatch/middleware/request_id.rb:27:in `call'
  from rack (2.2.3) lib/rack/method_override.rb:24:in `call'
  from activesupport (6.0.5) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
  from actionpack (6.0.5) lib/action_dispatch/middleware/executor.rb:14:in `call'
  from rack (2.2.3) lib/rack/sendfile.rb:110:in `call'
  from actionpack (6.0.5) lib/action_dispatch/middleware/host_authorization.rb:97:in `call'
  from sentry-raven (3.1.2) lib/raven/integrations/rack.rb:51:in `call'
  from prometheus_exporter (2.0.2) lib/prometheus_exporter/middleware.rb:34:in `call'
  from rack-cors (1.1.1) lib/rack/cors.rb:100:in `call'
  from railties (6.0.5) lib/rails/engine.rb:527:in `call'
  from puma (5.6.4) lib/puma/configuration.rb:252:in `call'
  from puma (5.6.4) lib/puma/request.rb:77:in `block in handle_request'
  from puma (5.6.4) lib/puma/thread_pool.rb:340:in `with_force_shutdown'
  from puma (5.6.4) lib/puma/request.rb:76:in `handle_request'
  from puma (5.6.4) lib/puma/server.rb:441:in `process_client'
  from puma (5.6.4) lib/puma/thread_pool.rb:147:in `block in spawn_thread'

To Reproduce
Steps to reproduce the behavior:

  1. Decidim Version 0.26.1
  2. Create Decidim Awesome Map component
  3. Make sure api_ready? is false (I don't know the details on this)
  4. Visit the awesome map component

Expected behavior
The map can be displayed cleanly, regardless of whether GraphQL is ready or not.

Desktop (please complete the following information):

  • OS: Ubuntu
  • Browser Firefox
  • Version 101.0.1

Additional context
The error happens when querying the currently configured API "complexity" using Decidim::Api::Schema.max_complexity in _api_ready.html.erb and map_helper.rb#api_ready?.
Currently I am working around the problem by completely clearing out the _api_ready.html.erb partial.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant