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

Admin 'looses' table schema #133

Open
samsk opened this issue Mar 1, 2024 · 1 comment
Open

Admin 'looses' table schema #133

samsk opened this issue Mar 1, 2024 · 1 comment

Comments

@samsk
Copy link

samsk commented Mar 1, 2024

I've tables in 3 different schemas in PostgreSQL database (not in public).
After restart MotorAdmin sees all the tables/resources, and I can work with them, but after few operations (2-4) it seems to somehow 'loose' tables schema (I presume), and tries to access the the tables without it, what results in failure.

Updating the table, that worked few seconds before results in
PG::UndefinedTable: ERROR: relation "metadata_entity_property" does not exist LINE 1: UPDATE "metadata_entity_property" SET "options" = '{}', "in_... ^

After this error, I can't see any resources on main page. Restarting container fixes this again for a short while.

Example logs:

I, [2024-03-01T15:00:28.169503 #1]  INFO -- : [4925a7f1-b65e-4c7c-b987-c5415d963313] {"method":"GET","path":"/api/data/metadata_entity_properties/1004","status":200,"duration":5.71,"view":0.16,"db":1.19,"fwd":"176.107.31.104","uid":1}
I, [2024-03-01T15:00:32.630088 #1]  INFO -- : [417e562d-34ec-4209-ad06-18828c291993] {"method":"PUT","path":"/api/data/metadata_entity_properties/1004","status":200,"duration":12.6,"view":0.18,"db":4.02,"fwd":"176.107.31.104","uid":1}
I, [2024-03-01T15:00:32.872237 #1]  INFO -- : [1242d9ef-54f3-4089-9758-3f509d901583] {"method":"GET","path":"/api/data/metadata_entity_properties/1004","status":200,"duration":5.68,"view":0.13,"db":1.19,"fwd":"176.107.31.104","uid":1}
I, [2024-03-01T15:00:35.829861 #1]  INFO -- : [08c46fd0-ad22-4302-93fc-3ad56b4a98f0] {"method":"GET","path":"/api/data/metadata_entity_properties","status":200,"duration":17.01,"view":1.24,"db":3.21,"fwd":"176.107.31.104","uid":1}
I, [2024-03-01T15:00:35.837476 #1]  INFO -- : [c0481a54-3e17-4369-9d34-d5808353532d] {"method":"GET","path":"/api/data/metadata_entity_properties","status":200,"duration":17.76,"view":0.12,"db":12.61,"fwd":"176.107.31.104","uid":1}
I, [2024-03-01T15:00:40.377865 #1]  INFO -- : [bd989227-7a0d-4d78-a44d-b6c1dec521ac] {"method":"GET","path":"/api/data/metadata_entity_properties/1013","status":200,"duration":5.41,"view":0.13,"db":1.28,"fwd":"176.107.31.104","uid":1}
I, [2024-03-01T15:00:46.610839 #1]  INFO -- : [2997e389-c0ca-47fa-9361-95a7cd43193c] {"method":"PUT","path":"/api/data/metadata_entity_properties/1013","status":200,"duration":11.51,"view":0.19,"db":3.32,"fwd":"176.107.31.104","uid":1}
I, [2024-03-01T15:00:46.858866 #1]  INFO -- : [3b7cc431-55e9-43cb-954d-bba64203fe2b] {"method":"GET","path":"/api/data/metadata_entity_properties/1013","status":200,"duration":5.45,"view":0.12,"db":1.15,"fwd":"176.107.31.104","uid":1}
I, [2024-03-01T15:00:48.798477 #1]  INFO -- : [5aafc2fb-e5c7-4ec8-955a-a6e371904e66] {"method":"GET","path":"/api/data/metadata_entity_properties","status":200,"duration":8.08,"view":0.14,"db":3.12,"fwd":"176.107.31.104","uid":1}
I, [2024-03-01T15:00:48.806209 #1]  INFO -- : [62b89b3d-a6fa-496a-9195-6c068d02478c] {"method":"GET","path":"/api/data/metadata_entity_properties","status":200,"duration":14.51,"view":0.71,"db":3.42,"fwd":"176.107.31.104","uid":1}
I, [2024-03-01T15:00:51.537996 #1]  INFO -- : [ce6ecb13-fa6a-40fa-a4b4-7c09d4d7da7a] {"method":"GET","path":"/api/data/metadata_entity_properties/1014","status":200,"duration":6.89,"view":0.17,"db":1.49,"fwd":"176.107.31.104","uid":1}
E, [2024-03-01T15:00:56.464090 #1] ERROR -- : [8f7af79f-d7fa-460a-94ae-67e902646106] PG::UndefinedTable: ERROR:  relation "metadata_entity_property" does not exist
LINE 1: UPDATE "metadata_entity_property" SET "options" = '{}', "in_...
               ^

E, [2024-03-01T15:00:56.464158 #1] ERROR -- : [8f7af79f-d7fa-460a-94ae-67e902646106] /usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/postgresql_adapter.rb:768:in `exec_params'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/postgresql_adapter.rb:768:in `block (2 levels) in exec_no_cache'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/dependencies/interlock.rb:41:in `permit_concurrent_loads'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/postgresql_adapter.rb:767:in `block in exec_no_cache'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract_adapter.rb:765:in `block in log'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract_adapter.rb:756:in `log'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/postgresql_adapter.rb:766:in `exec_no_cache'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/postgresql_adapter.rb:745:in `execute_and_clear'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:71:in `exec_delete'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/database_statements.rb:175:in `update'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/query_cache.rb:22:in `update'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/persistence.rb:513:in `_update_record'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/persistence.rb:1058:in `_update_row'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/locking/optimistic.rb:88:in `_update_row'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/persistence.rb:1080:in `_update_record'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/attribute_methods/dirty.rb:216:in `_update_record'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/callbacks.rb:465:in `block in _update_record'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/callbacks.rb:107:in `run_callbacks'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/callbacks.rb:929:in `_run_update_callbacks'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/callbacks.rb:465:in `_update_record'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/timestamp.rb:121:in `_update_record'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/persistence.rb:1067:in `create_or_update'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/callbacks.rb:457:in `block in create_or_update'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/autosave_association.rb:370:in `around_save_collection_association'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/callbacks.rb:127:in `block in run_callbacks'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/callbacks.rb:138:in `run_callbacks'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/callbacks.rb:929:in `_run_save_callbacks'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/callbacks.rb:457:in `create_or_update'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/timestamp.rb:126:in `create_or_update'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/persistence.rb:648:in `save!'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/validations.rb:53:in `save!'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/transactions.rb:302:in `block in save!'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/transactions.rb:354:in `block in with_transaction_returning_status'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/database_statements.rb:314:in `transaction'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/transactions.rb:350:in `with_transaction_returning_status'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/transactions.rb:302:in `save!'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/suppressor.rb:54:in `save!'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/persistence.rb:780:in `block in update!'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/transactions.rb:354:in `block in with_transaction_returning_status'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/transaction.rb:319:in `block in within_new_transaction'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/transaction.rb:317:in `within_new_transaction'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/database_statements.rb:316:in `transaction'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/transactions.rb:350:in `with_transaction_returning_status'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/persistence.rb:778:in `update!'
/opt/motor-admin/vendor/motor-admin/app/controllers/motor/data_controller.rb:48:in `update'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/abstract_controller/base.rb:215:in `process_action'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_controller/metal/rendering.rb:53:in `process_action'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/abstract_controller/callbacks.rb:234:in `block in process_action'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/usr/local/bundle/gems/audited-5.3.2/lib/audited/sweeper.rb:16:in `around'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/callbacks.rb:127:in `block in run_callbacks'
/usr/local/bundle/gems/audited-5.3.2/lib/audited/sweeper.rb:16:in `around'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/callbacks.rb:127:in `block in run_callbacks'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/callbacks.rb:138:in `run_callbacks'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/abstract_controller/callbacks.rb:233:in `process_action'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_controller/metal/rescue.rb:22:in `process_action'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/notifications.rb:206:in `block in instrument'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/notifications.rb:206:in `instrument'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_controller/metal/instrumentation.rb:66:in `process_action'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/railties/controller_runtime.rb:27:in `process_action'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/abstract_controller/base.rb:151:in `process'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_controller/metal.rb:188:in `dispatch'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_controller/metal.rb:251:in `dispatch'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/routing/route_set.rb:32:in `serve'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/journey/router.rb:50:in `block in serve'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/journey/router.rb:32:in `each'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/journey/router.rb:32:in `serve'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/routing/route_set.rb:852:in `call'
/usr/local/bundle/gems/railties-7.0.4.3/lib/rails/engine.rb:530:in `call'
/usr/local/bundle/gems/railties-7.0.4.3/lib/rails/railtie.rb:226:in `public_send'
/usr/local/bundle/gems/railties-7.0.4.3/lib/rails/railtie.rb:226:in `method_missing'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/routing/mapper.rb:48:in `serve'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/journey/router.rb:50:in `block in serve'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/journey/router.rb:32:in `each'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/journey/router.rb:32:in `serve'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/routing/route_set.rb:852:in `call'
/usr/local/bundle/gems/warden-1.2.9/lib/warden/manager.rb:36:in `block in call'
/usr/local/bundle/gems/warden-1.2.9/lib/warden/manager.rb:34:in `catch'
/usr/local/bundle/gems/warden-1.2.9/lib/warden/manager.rb:34:in `call'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/tempfile_reaper.rb:15:in `call'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/etag.rb:27:in `call'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/conditional_get.rb:40:in `call'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/head.rb:12:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/http/permissions_policy.rb:38:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/http/content_security_policy.rb:36:in `call'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/session/abstract/id.rb:266:in `context'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/session/abstract/id.rb:260:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/middleware/cookies.rb:704:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/callbacks.rb:99:in `run_callbacks'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/middleware/show_exceptions.rb:26:in `call'
/usr/local/bundle/gems/lograge-0.12.0/lib/lograge/rails_ext/rack/logger.rb:18:in `call_app'
/usr/local/bundle/gems/railties-7.0.4.3/lib/rails/rack/logger.rb:25:in `block in call'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/tagged_logging.rb:99:in `block in tagged'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/tagged_logging.rb:37:in `tagged'
/usr/local/bundle/gems/activesupport-7.0.4.3/lib/active_support/tagged_logging.rb:99:in `tagged'
/usr/local/bundle/gems/railties-7.0.4.3/lib/rails/rack/logger.rb:25:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
/usr/local/bundle/gems/request_store-1.5.1/lib/request_store/middleware.rb:19:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/middleware/request_id.rb:26:in `call'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/method_override.rb:24:in `call'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/runtime.rb:22:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/middleware/executor.rb:14:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/middleware/static.rb:23:in `call'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/sendfile.rb:110:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.3/lib/action_dispatch/middleware/host_authorization.rb:131:in `call'
/usr/local/bundle/gems/railties-7.0.4.3/lib/rails/engine.rb:530:in `call'
/usr/local/bundle/gems/puma-6.0.1/lib/puma/configuration.rb:268:in `call'
/usr/local/bundle/gems/puma-6.0.1/lib/puma/request.rb:93:in `block in handle_request'
/usr/local/bundle/gems/puma-6.0.1/lib/puma/thread_pool.rb:340:in `with_force_shutdown'
/usr/local/bundle/gems/puma-6.0.1/lib/puma/request.rb:92:in `handle_request'
/usr/local/bundle/gems/puma-6.0.1/lib/puma/server.rb:429:in `process_client'
/usr/local/bundle/gems/puma-6.0.1/lib/puma/server.rb:232:in `block in run'
/usr/local/bundle/gems/puma-6.0.1/lib/puma/thread_pool.rb:147:in `block in spawn_thread'
I, [2024-03-01T15:00:56.464559 #1]  INFO -- : [8f7af79f-d7fa-460a-94ae-67e902646106] {"method":"PUT","path":"/api/data/metadata_entity_properties/1014","status":500,"duration":10.27,"view":0.16,"db":3.22,"fwd":"176.107.31.104","uid":1}

I'm using:
Motor Admin v0.4.21 in Docker
PostgreSQL server 16.2 (Debian 16.2-1.pgdg120+2) in Docker

@sercinci
Copy link

sercinci commented Apr 2, 2024

I have exactly the same issue. My setup:
Motor Admin v0.4.21 with Docker Compose
PostgreSQL 15.6 running locally on Debian 11

Once the error appears, only restarting the container would momentarily fix the issue.

Could it be that multiple schemas are poorly supported?

I leave some details that maybe helps to identify the issue.
Request in the browser:
http://localhost:3000/api/data/exphub_dev__game_requests?fields[exphub_dev/game_request]=id,profile_id,game_id,game_provider_id,title,updated_at,created_at&fields[profile]=id,display_name,slug,language,updated_at,created_at&fields[game]=id,title,release_date,updated_at,created_at&fields[game_provider]=id,game_id,provider_id,provider_game_id,provider_game_title,icon_url&page[limit]=20&page[offset]=0&sort=-id&include=profile,game,game_provider

Response:
{"errors":["PG::UndefinedTable: ERRORE: la relazione \"game_requests\" non esiste\nLINE 1: SELECT \"game_requests\".* FROM \"game_requests\" ORDER BY \"game...\n ^\n"]}

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

2 participants