Bug 843627 - Requests with i18n data get stuck in the coordinator
Requests with i18n data get stuck in the coordinator
Status: CLOSED CURRENTRELEASE
Product: Pulp
Classification: Community
Component: async/tasks (Show other bugs)
2.0.6
Unspecified Unspecified
high Severity unspecified
: ---
: Sprint 40
Assigned To: Jason Connor
Preethi Thomas
: Triaged
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-07-26 15:35 EDT by Jay Dobies
Modified: 2014-03-30 21:39 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-01-09 12:07:33 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Jay Dobies 2012-07-26 15:35:19 EDT
I submitted a repo create with an i18n ID:

pulp-admin repo create --repo Brasília

When I submit that more than once, I get messages indicating the operation conflicts and has been postponed. This is wrong; the original request should have failed and this create should not be postponed. It looks like the call request is stuck somewhere in the coordinator.

The following traceback was in pulp.log:

2012-07-26 15:20:31,868 1275:140180879042304: pulp.server.webservices.middleware.exception:ERROR: exception:62 Unhandled Exception
Traceback (most recent call last):
  File "/home/jdob/code/pulp/platform/src/pulp/server/webservices/middleware/exception.py", line 44, in __call__
    return self.app(environ, start_response)
  File "/home/jdob/code/pulp/platform/src/pulp/server/webservices/middleware/postponed.py", line 38, in __call__
    return self.app(environ, start_response)
  File "/usr/lib/python2.7/site-packages/web.py-0.32-py2.7.egg/web/application.py", line 279, in wsgi
    result = self.handle_with_processors()
  File "/home/jdob/code/pulp/platform/src/pulp/server/webservices/application.py", line 28, in _handle_with_processors
    return process(self.processors)
  File "/home/jdob/code/pulp/platform/src/pulp/server/webservices/application.py", line 25, in process
    return p(lambda : process(processors))
  File "/usr/lib/python2.7/site-packages/web.py-0.32-py2.7.egg/web/application.py", line 558, in processor
    return handler()
  File "/home/jdob/code/pulp/platform/src/pulp/server/webservices/application.py", line 25, in <lambda>
    return p(lambda : process(processors))
  File "/home/jdob/code/pulp/platform/src/pulp/server/webservices/application.py", line 25, in process
    return p(lambda : process(processors))
  File "/usr/lib/python2.7/site-packages/web.py-0.32-py2.7.egg/web/application.py", line 573, in processor
    result = handler()
  File "/home/jdob/code/pulp/platform/src/pulp/server/webservices/application.py", line 25, in <lambda>
    return p(lambda : process(processors))
  File "/home/jdob/code/pulp/platform/src/pulp/server/webservices/application.py", line 27, in process
    return self.handle()
  File "/usr/lib/python2.7/site-packages/web.py-0.32-py2.7.egg/web/application.py", line 233, in handle
    return self._delegate(fn, self.fvars, args)
  File "/usr/lib/python2.7/site-packages/web.py-0.32-py2.7.egg/web/application.py", line 414, in _delegate
    return f()
  File "/usr/lib/python2.7/site-packages/web.py-0.32-py2.7.egg/web/application.py", line 422, in <lambda>
    f = lambda: self._delegate_sub_application(pat, what)
  File "/usr/lib/python2.7/site-packages/web.py-0.32-py2.7.egg/web/application.py", line 447, in _delegate_sub_application
    return app.handle_with_processors()
  File "/home/jdob/code/pulp/platform/src/pulp/server/webservices/application.py", line 28, in _handle_with_processors
    return process(self.processors)
  File "/home/jdob/code/pulp/platform/src/pulp/server/webservices/application.py", line 25, in process
    return p(lambda : process(processors))
  File "/usr/lib/python2.7/site-packages/web.py-0.32-py2.7.egg/web/application.py", line 558, in processor
    return handler()
  File "/home/jdob/code/pulp/platform/src/pulp/server/webservices/application.py", line 25, in <lambda>
    return p(lambda : process(processors))
  File "/home/jdob/code/pulp/platform/src/pulp/server/webservices/application.py", line 25, in process
    return p(lambda : process(processors))
  File "/usr/lib/python2.7/site-packages/web.py-0.32-py2.7.egg/web/application.py", line 573, in processor
    result = handler()
  File "/home/jdob/code/pulp/platform/src/pulp/server/webservices/application.py", line 25, in <lambda>
    return p(lambda : process(processors))
  File "/home/jdob/code/pulp/platform/src/pulp/server/webservices/application.py", line 27, in process
    return self.handle()
  File "/usr/lib/python2.7/site-packages/web.py-0.32-py2.7.egg/web/application.py", line 233, in handle
    return self._delegate(fn, self.fvars, args)
  File "/usr/lib/python2.7/site-packages/web.py-0.32-py2.7.egg/web/application.py", line 412, in _delegate
    return handle_class(cls)
  File "/usr/lib/python2.7/site-packages/web.py-0.32-py2.7.egg/web/application.py", line 387, in handle_class
    return tocall(*args)
  File "/home/jdob/code/pulp/platform/src/pulp/server/webservices/controllers/decorators.py", line 137, in _auth_decorator
    value = method(self, *args, **kwargs)
  File "/home/jdob/code/pulp/platform/src/pulp/server/webservices/controllers/repositories.py", line 178, in POST
    tags=tags)
  File "/home/jdob/code/pulp/platform/src/pulp/server/webservices/execution.py", line 109, in execute_sync
    call_report = coordinator.execute_call_synchronously(call_request, timeout=timeout)
  File "/home/jdob/code/pulp/platform/src/pulp/server/dispatch/coordinator.py", line 105, in execute_call_synchronously
    self._run_task(task, True, timeout)
  File "/home/jdob/code/pulp/platform/src/pulp/server/dispatch/coordinator.py", line 198, in _run_task
    task_queue.enqueue(task)
  File "/home/jdob/code/pulp/platform/src/pulp/server/dispatch/taskqueue.py", line 202, in enqueue
    self.queued_call_collection.save(queued_call, safe=True)
  File "/home/jdob/code/pulp/platform/src/pulp/server/db/connection.py", line 80, in retry
    return method(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pymongo/collection.py", line 237, in save
    manipulate, safe, _check_keys=True, **kwargs)
  File "/home/jdob/code/pulp/platform/src/pulp/server/db/connection.py", line 80, in retry
    return method(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pymongo/collection.py", line 411, in update
    _check_keys, self.__uuid_subtype), safe)
InvalidStringData: strings in documents must be valid UTF-8
Comment 1 Jason Connor 2012-10-01 17:06:27 EDT
Added method to pulp bindings that encodes all strings from the client as utf-8
Comment 2 Jason Connor 2012-10-05 12:40:08 EDT
Fix merged into master in revision:
f984444315d55b1c5bfeb62dd67757b99d04a7c7
Comment 3 Jeff Ortel 2012-10-05 17:43:05 EDT
build: 0.331
Comment 4 Preethi Thomas 2012-10-12 14:39:26 EDT
verified
[root@pulp-master ~]# rpm -q pulp-rpm-server
pulp-rpm-server-0.0.331-1.fc17.noarch
[root@pulp-master ~]# 

[root@pulp-master ~]# pulp-admin rpm repo create --repo Båt
The values for the following properties were invalid: repo_id

[root@pulp-master ~]# pulp-admin rpm repo create --repo Brasília
The values for the following properties were invalid: repo_id

[root@pulp-master ~]# pulp-admin rpm repo create --repo Bəjŭ
The values for the following properties were invalid: repo_id

[root@pulp-master ~]#
Comment 5 Preethi Thomas 2013-01-09 12:07:33 EST
Pulp v2.0 released

Note You need to log in before you can comment on or make changes to this bug.