Skip to content

Admin 'looses' table schema #133

@samsk

Description

@samsk

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions