4637: Remove and refresh of ReviewBot tools breaks old configs

Misery

Well, I cannot access my old ticket and new ReviewBot category is not selectable. Private?

What version are you running?

RB 3.0.2
ReviewBot master

What's the URL of the page containing the problem?

http://localhost/admin/integrations/reviewbotext.integration.ReviewBotIntegration/configs/8/

What steps will reproduce the problem?

  1. Install ReviewBot Extension
  2. Configure a checker and start worker
  3. Go to http://localhost/admin/extensions/reviewbotext.extension.ReviewBotExtension/db/reviewbotext/tool/
  4. Remove all tools
  5. Press "Refresh installed Tools"
  6. List is complete again
  7. Go to link above: configuration of a checker
  8. Error 500 (stacktrace below)

What is the expected output? What do you see instead?

The site of the configuration. Of course with a warning if there is no checker with the configured version anymore. But it should not be wiped because I refreshed the database and lost v1.0 checker because worker upgraded to v1.1!

Please provide any additional information below.

2018-01-20 00:44:01,393 - DEBUG - - amqp - Start from server, version: 0.9, properties: {u'information': u'Licensed under the MPL. See http://www.rabbitmq.com/', u'product': u'RabbitMQ', u'copyright': u'Copyright (C) 2007-2017 Pivotal Software, Inc.', u'capabilities': {u'exchange_exchange_bindings': True, u'connection.blocked': True, u'authentication_failure_close': True, u'direct_reply_to': True, u'basic.nack': True, u'per_consumer_qos': True, u'consumer_priorities': True, u'consumer_cancel_notify': True, u'publisher_confirms': True}, u'cluster_name': u'rabbit@rabbit', u'platform': u'Erlang/OTP 20.1.7', u'version': u'3.7.2'}, mechanisms: [u'PLAIN', u'AMQPLAIN'], locales: [u'en_US']
2018-01-20 00:44:01,394 - DEBUG - - amqp - Open OK!
2018-01-20 00:44:01,394 - DEBUG - - amqp - using channel_id: 1
2018-01-20 00:44:01,395 - DEBUG - - amqp - Channel open
2018-01-20 00:44:11,439 - ERROR - None - admin - /admin/integrations/reviewbotext.integration.ReviewBotIntegration/configs/8/ - djblets.log.middleware - Exception thrown for user admin at http://localhost/admin/integrations/reviewbotext.integration.ReviewBotIntegration/configs/8/

[u'Tool with pk 22 does not exist']
Traceback (most recent call last):
File "/var/www/dist/lib/python2.7/site-packages/django/core/handlers/base.py", line 112, in get_response
response = wrapped_callback(request, callback_args, callback_kwargs)
File "/var/www/dist/lib/python2.7/site-packages/django/views/generic/base.py", line 69, in view
return self.dispatch(request, *args,
kwargs)
File "/var/www/dist/lib/python2.7/site-packages/django/utils/decorators.py", line 29, in _wrapper
return bound_func(
args, kwargs)
File "/var/www/dist/lib/python2.7/site-packages/django/contrib/admin/views/decorators.py", line 17, in _checklogin
return view_func(request, *args,
kwargs)
File "/var/www/dist/lib/python2.7/site-packages/django/utils/decorators.py", line 25, in bound_func
return func(self, args2, kwargs2)
File "/var/www/dist/lib/python2.7/site-packages/djblets/integrations/views.py", line 352, in dispatch
*args,
kwargs)
File "/var/www/dist/lib/python2.7/site-packages/django/utils/decorators.py", line 29, in _wrapper
return bound_func(
args, kwargs)
File "/var/www/dist/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 22, in _wrapped_view
return view_func(request, *args,
kwargs)
File "/var/www/dist/lib/python2.7/site-packages/django/utils/decorators.py", line 25, in bound_func
return func(self, args2, kwargs2)
File "/var/www/dist/lib/python2.7/site-packages/django/utils/decorators.py", line 29, in _wrapper
return bound_func(*args,
kwargs)
File "/var/www/dist/lib/python2.7/site-packages/django/utils/decorators.py", line 99, in _wrapped_view
response = view_func(request,
args, kwargs)
File "/var/www/dist/lib/python2.7/site-packages/django/utils/decorators.py", line 25, in bound_func
return func(self, *args2,
kwargs2)
File "/var/www/dist/lib/python2.7/site-packages/djblets/integrations/views.py", line 194, in dispatch
request, args, kwargs)
File "/var/www/dist/lib/python2.7/site-packages/django/views/generic/base.py", line 87, in dispatch
return handler(request, *args,
kwargs)
File "/var/www/dist/lib/python2.7/site-packages/django/views/generic/edit.py", line 160, in get
form = self.get_form(form_class)
File "/var/www/dist/lib/python2.7/site-packages/django/views/generic/edit.py", line 44, in get_form
return form_class(self.get_form_kwargs())
File "/var/www/dist/lib/python2.7/site-packages/reviewbotext/forms.py", line 74, in init
super(ReviewBotConfigForm, self).init(*args,
kwargs)
File "/var/www/dist/lib/python2.7/site-packages/reviewboard/integrations/forms.py", line 58, in init
super(IntegrationConfigForm, self).init(
args, kwargs)
File "/var/www/dist/lib/python2.7/site-packages/djblets/integrations/forms.py", line 75, in init
super(IntegrationConfigForm, self).init(*args,
kwargs)
File "/var/www/dist/lib/python2.7/site-packages/djblets/forms/forms/key_value_form.py", line 113, in init
self.load()
File "/var/www/dist/lib/python2.7/site-packages/reviewbotext/forms.py", line 88, in load
super(ReviewBotConfigForm, self).load()
File "/var/www/dist/lib/python2.7/site-packages/djblets/forms/forms/key_value_form.py", line 136, in load
value = deserialize_func(value)
File "/var/www/dist/lib/python2.7/site-packages/reviewbotext/forms.py", line 123, in deserialize_tool_field
raise ValidationError('Tool with pk %s does not exist' % value)
ValidationError: [u'Tool with pk 22 does not exist']

Misery
#1 Misery

Please move to ReviewBot project. :-)

  • -Remove and refresh of ReviewBot tools breaks old configs
    +Remove and refresh of ReviewBot tools breaks old configs
david
#2 david
  • -reviewboard
    +reviewbot
misery
#3 misery

Listing