Bug 36922 - schoolcsvimport/recheck fails
schoolcsvimport/recheck fails
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: UMC - CSV Import
UCS@school 3.2 R2
Other Linux
: P5 normal (vote)
: UCS@school 4.0 Errata
Assigned To: Florian Best
Sönke Schwardt-Krummrich
:
Depends on:
Blocks: 37762
  Show dependency treegraph
 
Reported: 2014-11-20 14:25 CET by Florian Best
Modified: 2015-02-27 15:19 CET (History)
4 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): Error handling, External feedback
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Best univentionstaff 2014-11-20 14:25:39 CET
Maybe due to session timeout. Don't know. Dirk you could say.

Reported by Traceback feedback:
Die Ausführung des Kommandos schoolcsvimport/recheck ist fehlgeschlagen:

Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py",
line 218, in execute
    func( request )
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py",
line 305, in _response
    result = _multi_response(self, request)
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py",
line 432, in _response
    for res in function(self, iterator, *nones):
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py",
line 271, in _fake_func
    yield function(self, *args)
  File
"/usr/lib/pymodules/python2.6/univention/management/console/modules/schoolcsvimport/__init__.py",
line 268, in recheck_users
    file_info = self.file_map[file_id]
KeyError: 'RObsSMrmaq(b6YpBWwZTcC7K&xm()H'
Comment 1 Florian Best univentionstaff 2014-11-20 14:27:19 CET
This was btw reported by 2 different schools!
Comment 2 Florian Best univentionstaff 2014-11-20 14:27:35 CET
Traceback:
Die Ausführung des Kommandos schoolcsvimport/progress ist fehlgeschlagen:

Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py",
line 218, in execute
    func( request )
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py",
line 305, in _response
    result = _multi_response(self, request)
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py",
line 432, in _response
    for res in function(self, iterator, *nones):
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py",
line 271, in _fake_func
    yield function(self, *args)
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/mixins.py",
line 143, in progress
    ret = progress_obj.poll()
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py",
line 419, in _thread
    for res in function(self, iterator, *nones):
  File
"/usr/lib/pymodules/python2.6/univention/management/console/modules/schoolcsvimport/__init__.py",
line 299, in import_users
    yield {'username' : user.name, 'action' : action, 'success' : False, 'msg' :
user.get_error_msg()}
  File "/usr/lib/python2.6/contextlib.py", line 34, in __exit__
    self.gen.throw(type, value, traceback)
  File "/usr/lib/pymodules/python2.6/ucsschool/lib/models/utils.py", line 171, in
stopped_notifier
    yield
  File
"/usr/lib/pymodules/python2.6/univention/management/console/modules/schoolcsvimport/__init__.py",
line 286, in import_users
    file_info = self.file_map[file_id]
KeyError: 's?R=JS8$AUKTpFVER42(50Sue$k%5!'
Comment 3 Florian Best univentionstaff 2014-11-20 14:27:50 CET
Remark:
csv-Benutzerimport lief, als ein anderer BEnutzer den Raum übernommen hat. Gruß.
Comment 4 Florian Best univentionstaff 2015-01-30 12:56:53 CET
Reproduce: upload file, kill process (or let it session timeout), submit values.
Comment 5 Florian Best univentionstaff 2015-02-04 10:29:42 CET
In the frontend we already have a timer which keeps the session opened. I guess that the umc-server was restarted during the steps which causes this.
Comment 6 Sönke Schwardt-Krummrich univentionstaff 2015-02-04 11:10:06 CET
As discussed, this situation should be catched and the user should get a more userfriendly message, e.g. something like this "UMC-Module has been stopped... Maybe UMC-Server has been restarted... Import has to be restarted".
Comment 7 Florian Best univentionstaff 2015-02-05 10:39:25 CET
A user friendly message is now shown in that case.
A real fix would be to send all data along with both of the requests but the change would be too big.

Fix: svn r57787
Comment 8 Florian Best univentionstaff 2015-02-10 13:46:01 CET
merged to UCS@school 3.2
Comment 9 Sönke Schwardt-Krummrich univentionstaff 2015-02-19 15:55:09 CET
OK: debian changelog entry
OK: XML changelog entry

Execution of command 'schoolcsvimport/progress' has failed:

Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/__init__.py", line 176, in _decorated
    return function(self, request, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 316, in _response
    result = _multi_response(self, request)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 460, in _response
    return list(function(self, iterator, *nones))
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 282, in _fake_func
    yield function(self, *args)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/mixins.py", line 149, in progress
    ret = progress_obj.poll()
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 307, in _thread
    result = _multi_response(self, request)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 460, in _response
    return list(function(self, iterator, *nones))
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 282, in _fake_func
    yield function(self, *args)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/schoolcsvimport/__init__.py", line 236, in show
    file_info = self._get_info(file_id)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/schoolcsvimport/__init__.py", line 108, in _get_info
    raise FileNotFound()
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/schoolcsvimport/__init__.py", line 60, in __init__
    super(FileNotFound, self).__init__(self.error_message, status=500)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/schoolcsvimport/__init__.py", line 67, in error_message
    _('The import have to be restarted again.')
TypeError: join() takes exactly one argument (3 given)

Suggentions for texts and translations:

"The import have to be restarted again."
→
"The import has to be restarted."

"Dies liegt möglicherweise an einem kürzlichem Neustart der Univention Management Console."
→
"Dies liegt möglicherweise an einem Neustart der Univention Management Console."
Comment 10 Florian Best univentionstaff 2015-02-20 15:09:15 CET
fixed, svn r58303
Comment 11 Sönke Schwardt-Krummrich univentionstaff 2015-02-23 09:10:19 CET
OK: functionality
OK: package is built
OK: code change

Tested with ucs-school-umc-csv-import 2.0.6-2.39.201502212114
Comment 12 Sönke Schwardt-Krummrich univentionstaff 2015-02-27 15:19:42 CET
UCS@school 4.0 v2 has been released:
http://docs.univention.de/release-notes-ucsschool-4.0v2-de.html

If this error occurs again, please use "Clone This Bug".