안녕하세요!
이 플러그인이 최신 안정 버전(2.5.2)에서 고장 난 건가요? 다음 오류가 발생합니다:
Job exception: PG::InFailedSqlTransaction: ERROR: current transaction is aborted, commands ignored until end of transaction block
David
안녕하세요!
이 플러그인이 최신 안정 버전(2.5.2)에서 고장 난 건가요? 다음 오류가 발생합니다:
Job exception: PG::InFailedSqlTransaction: ERROR: current transaction is aborted, commands ignored until end of transaction block
David
2.5.2 버전에서는 정상적으로 작동합니다.
해당 오류가 발생했을 때 어떤 작업을 수행 중이셨는지 자세히 설명해 주시겠습니까?
사용자 데이터를 다운로드하려고 하면 이 오류가 발생합니다. 설치는 자체 호스팅 테스트 서버에서 수행되었으며, 비스태프 구성원의 이메일은 비활성화되어 있습니다. 설치 시 버전을 업데이트했습니다. 설치 실행 시 제안된 대로 app.yml에서 다른 템플릿 파일을 지정하여 Postgres 업데이트를 선택하지 않았습니다.
이 플러그인으로 인해 발생하는 문제라고 생각되지 않습니다.
해당 PG 오류에 대한 몇 가지 추가 보고가 있으며, 이는 단순히 '데이터베이스가 어딘가에서 손상되었다’는 범용적인 문제라고 생각합니다.
네, 직접 개발한 플러그인 여러 개가 커스텀 필드에 삽입을 수행하고 있습니다. 하지만 데이터베이스가 어떻게 손상될 수 있는지 이해가 되지 않습니다. 모든 작업은 매뉴얼에 따라 정확히 수행하고 있습니다.
하지만 링크를 공유해줘서 고마워요. 그 에러에 대해 좀 더 알아볼게요.
오류의 백트레이스(job name)와 작업 이름도 함께 게시해 주시겠어요?
Job
Jobs::ExportCsvFile
Backtrace
rack-mini-profiler-2.0.2/lib/patches/db/pg.rb:69:in `exec_params'
rack-mini-profiler-2.0.2/lib/patches/db/pg.rb:69:in `exec_params'
activerecord-6.0.3.1/lib/active_record/connection_adapters/postgresql_adapter.rb:675:in `block (2 levels) in exec_no_cache'
activesupport-6.0.3.1/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
activesupport-6.0.3.1/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
activesupport-6.0.3.1/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
activerecord-6.0.3.1/lib/active_record/connection_adapters/postgresql_adapter.rb:674:in `block in exec_no_cache'
activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract_adapter.rb:722:in `block (2 levels) in log'
activesupport-6.0.3.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
activesupport-6.0.3.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
activesupport-6.0.3.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
activesupport-6.0.3.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
activesupport-6.0.3.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract_adapter.rb:721:in `block in log'
activesupport-6.0.3.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract_adapter.rb:712:in `log'
activerecord-6.0.3.1/lib/active_record/connection_adapters/postgresql_adapter.rb:673:in `exec_no_cache'
activerecord-6.0.3.1/lib/active_record/connection_adapters/postgresql_adapter.rb:654:in `execute_and_clear'
activerecord-6.0.3.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:98:in `exec_query'
activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/database_statements.rb:489:in `select'
activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/database_statements.rb:70:in `select_all'
activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/query_cache.rb:107:in `select_all'
activerecord-6.0.3.1/lib/active_record/querying.rb:46:in `find_by_sql'
activerecord-6.0.3.1/lib/active_record/statement_cache.rb:134:in `execute'
activerecord-6.0.3.1/lib/active_record/core.rb:204:in `find_by'
/var/www/discourse/app/models/concerns/has_url.rb:34:in `get_from_url'
/var/www/discourse/app/models/topic_link.rb:271:in `ensure_entry_for'
/var/www/discourse/app/models/topic_link.rb:128:in `block (2 levels) in extract_from'
activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/database_statements.rb:278:in `transaction'
activerecord-6.0.3.1/lib/active_record/transactions.rb:212:in `transaction'
/var/www/discourse/app/models/topic_link.rb:126:in `block in extract_from'
/var/www/discourse/app/models/topic_link.rb:124:in `each'
/var/www/discourse/app/models/topic_link.rb:124:in `extract_from'
/var/www/discourse/lib/post_creator.rb:576:in `extract_links'
/var/www/discourse/lib/post_creator.rb:180:in `block in create'
/var/www/discourse/lib/post_creator.rb:359:in `block in transaction'
activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/database_statements.rb:280:in `block in transaction'
activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'
activesupport-6.0.3.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
activesupport-6.0.3.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
activesupport-6.0.3.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
activesupport-6.0.3.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
activesupport-6.0.3.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/transaction.rb:278:in `within_new_transaction'
activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/database_statements.rb:280:in `transaction'
activerecord-6.0.3.1/lib/active_record/transactions.rb:212:in `transaction'
/var/www/discourse/lib/post_creator.rb:358:in `transaction'
/var/www/discourse/lib/post_creator.rb:174:in `create'
/var/www/discourse/lib/system_message.rb:44:in `block in create'
i18n-1.8.3/lib/i18n.rb:313:in `with_locale'
/var/www/discourse/lib/system_message.rb:44:in `create'
/var/www/discourse/lib/system_message.rb:13:in `create_from_system_user'
/var/www/discourse/app/jobs/regular/export_csv_file.rb:471:in `notify_user'
/var/www/discourse/app/jobs/regular/export_csv_file.rb:102:in `execute'
/var/www/discourse/app/jobs/base.rb:232:in `block (2 levels) in perform'
rails_multisite-2.3.0/lib/rails_multisite/connection_management.rb:68:in `with_connection'
/var/www/discourse/app/jobs/base.rb:221:in `block in perform'
/var/www/discourse/app/jobs/base.rb:217:in `each'
/var/www/discourse/app/jobs/base.rb:217:in `perform'
sidekiq-6.0.7/lib/sidekiq/processor.rb:196:in `execute_job'
sidekiq-6.0.7/lib/sidekiq/processor.rb:164:in `block (2 levels) in process'
sidekiq-6.0.7/lib/sidekiq/middleware/chain.rb:138:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:138:in `call'
sidekiq-6.0.7/lib/sidekiq/middleware/chain.rb:140:in `block in invoke'
sidekiq-6.0.7/lib/sidekiq/middleware/chain.rb:143:in `invoke'
sidekiq-6.0.7/lib/sidekiq/processor.rb:163:in `block in process'
sidekiq-6.0.7/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
sidekiq-6.0.7/lib/sidekiq/job_retry.rb:111:in `local'
sidekiq-6.0.7/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
sidekiq-6.0.7/lib/sidekiq.rb:37:in `block in <module:Sidekiq>'
sidekiq-6.0.7/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
sidekiq-6.0.7/lib/sidekiq/processor.rb:257:in `stats'
sidekiq-6.0.7/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
sidekiq-6.0.7/lib/sidekiq/job_logger.rb:13:in `call'
sidekiq-6.0.7/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
sidekiq-6.0.7/lib/sidekiq/job_retry.rb:78:in `global'
sidekiq-6.0.7/lib/sidekiq/processor.rb:124:in `block in dispatch'
sidekiq-6.0.7/lib/sidekiq/logger.rb:10:in `with'
sidekiq-6.0.7/lib/sidekiq/job_logger.rb:33:in `prepare'
sidekiq-6.0.7/lib/sidekiq/processor.rb:123:in `dispatch'
sidekiq-6.0.7/lib/sidekiq/processor.rb:162:in `process'
sidekiq-6.0.7/lib/sidekiq/processor.rb:78:in `process_one'
sidekiq-6.0.7/lib/sidekiq/processor.rb:68:in `run'
sidekiq-6.0.7/lib/sidekiq/util.rb:15:in `watchdog'
sidekiq-6.0.7/lib/sidekiq/util.rb:24:in `block in safe_thread'
작동이 되는지 확인하려고 모든 플러그인을 삭제했지만 여전히 같은 오류가 발생합니다. 무엇이 문제일 수 있는지 다른 아이디어가 있을까요? 데이터베이스가 손상되었다고 하셨는데, 이를 어떻게 수정할 수 있을까요? 백업, 삭제, 복원 같은 방식으로 해결할 수 있을까요?
이 문제는 법적 도구 플러그인과 관련이 없습니다. 해당 플러그인은 데이터베이스의 데이터를 변경하지 않으며(변경할 수도 없습니다). 표준 테이블과 컬럼을 기반으로 데이터를 읽기만 합니다.
@piratdavid 현재 설치되어 있는 다른 플러그인은 어떤 것들이 있나요? angus@thepavilion.io로 데이터 덤프를 보내셔도 괜찮으시다면, 추가로 도움을 드릴 수 있을 것 같습니다.