Vote #73305
未完了"Mysql::Error: Duplicate entry" in fetching revisions
0%
説明
Hello Team
When i am integrating one of the redmine project with svn i got Error like this
Please help me
ERROR LOG:
ActiveRecord::StatementInvalid (Mysql::Error: Duplicate entry '98-989' for key 'changesets_repos_rev': INSERT INTO changesets
(committer
, committed_on
, repository_id
, revision
, user_id
, commit_date
, scmid
, comments
) VALUES('kinson', '2012-12-24 14:42:55', 98, '989', 608, '2012-12-24 14:42:55', NULL, 'changes in adding infotext to survey item table.')):
app/models/repository/subversion.rb:67:in fetch_changesets'
fetch_changesets'
app/models/repository/subversion.rb:66:in
app/models/repository/subversion.rb:65:in reverse_each'
fetch_changesets'
app/models/repository/subversion.rb:65:in
app/controllers/repositories_controller.rb:92:in show'
process_request'
passenger (3.0.11) lib/phusion_passenger/rack/request_handler.rb:96:in
passenger (3.0.11) lib/phusion_passenger/abstract_request_handler.rb:513:in accept_and_process_next_request'
main_loop'
passenger (3.0.11) lib/phusion_passenger/abstract_request_handler.rb:274:in
passenger (3.0.11) lib/phusion_passenger/classic_rails/application_spawner.rb:321:in start_request_handler'
send'
passenger (3.0.11) lib/phusion_passenger/classic_rails/application_spawner.rb:275:in
passenger (3.0.11) lib/phusion_passenger/classic_rails/application_spawner.rb:275:in handle_spawn_application'
safe_fork'
passenger (3.0.11) lib/phusion_passenger/utils.rb:479:in
passenger (3.0.11) lib/phusion_passenger/classic_rails/application_spawner.rb:270:in handle_spawn_application'
send'
passenger (3.0.11) lib/phusion_passenger/abstract_server.rb:357:in
passenger (3.0.11) lib/phusion_passenger/abstract_server.rb:357:in server_main_loop'
start_synchronously'
passenger (3.0.11) lib/phusion_passenger/abstract_server.rb:206:in
passenger (3.0.11) lib/phusion_passenger/abstract_server.rb:180:in start'
start'
passenger (3.0.11) lib/phusion_passenger/classic_rails/application_spawner.rb:149:in
passenger (3.0.11) lib/phusion_passenger/spawn_manager.rb:219:in spawn_rails_application'
lookup_or_add'
passenger (3.0.11) lib/phusion_passenger/abstract_server_collection.rb:132:in
passenger (3.0.11) lib/phusion_passenger/spawn_manager.rb:214:in spawn_rails_application'
synchronize'
passenger (3.0.11) lib/phusion_passenger/abstract_server_collection.rb:82:in
passenger (3.0.11) lib/phusion_passenger/abstract_server_collection.rb:79:in synchronize'
spawn_rails_application'
passenger (3.0.11) lib/phusion_passenger/spawn_manager.rb:213:in
passenger (3.0.11) lib/phusion_passenger/spawn_manager.rb:132:in spawn_application'
handle_spawn_application'
passenger (3.0.11) lib/phusion_passenger/spawn_manager.rb:275:in
passenger (3.0.11) lib/phusion_passenger/abstract_server.rb:357:in __send__'
server_main_loop'
passenger (3.0.11) lib/phusion_passenger/abstract_server.rb:357:in
passenger (3.0.11) lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
passenger (3.0.11) helper-scripts/passenger-spawn-server:99
Rendering /mnt/redmine/home/redmine/redmine/public/500.html (500 Internal Server Error)
also can you Please tell me how the duplicate Id occur??
Thanks
journals
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
zam kp wrote:
> also can you Please tell me how the duplicate Id occur??
Because you are running plural fetching revisions processes.
Redmine does not use the lock in fetching revisions.
You can ignore this error.
Because SCM revisions and commit logs are static in most cases.
--------------------------------------------------------------------------------
Well, this seem to be closable?
@zam kp: Is this resolved for you?
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Hi
The changesets table has the constriant "changesets_repos_rev"created by combining "repository"&"revision"columns.To prevent this error from happening again would it be ok to drop the constraint?
--------------------------------------------------------------------------------
zam kp wrote:
> The changesets table has the constriant "changesets_repos_rev"created by combining "repository"&"revision"columns.To prevent this error from happening again would it be ok to drop the constraint?
Not a good idea, dropping this unique constraint would create duplicates and mess your data.
Would be better to queue fetches or Mutex them in Redmine code.
--------------------------------------------------------------------------------
Ok will check it and update the status
--------------------------------------------------------------------------------
related_issues
relates,New,2824,MySQL Deadlock Error when showing a big repository
relates,New,13592,ActiveRecord::RecordNotUnique for git repository