Univention Bugzilla – Bug 33035
ucr commit /etc/apt/sources.list.d/* takes ages
Last modified: 2019-03-01 12:46:54 CET
... if a lot of components are registered. UMC commands that change ucr variables related to these files may even run into a timeout. We should try to speed up the commit.
1. Don't set UCR one-for-one, but all at once. 2. See Bug #25891 comment 1
(In reply to Philipp Hahn from comment #1) > 1. Don't set UCR one-for-one, but all at once. At least in UMC it is done this way and it is still slow. > 2. See Bug #25891 comment 1 Ah, okay. Thanks *** This bug has been marked as a duplicate of bug 25891 ***
*** Bug 34989 has been marked as a duplicate of this bug. ***
See Bug #33036 Comment #2: > We should change at least the following things. > > - don't recreate /etc/apt/sources.list.d/15_ucs-online-version.list while > setting components: > > root@master211:~# ucr set repository/online/component/xrdp=yes > repository/online/component/xrdp/server=$(hostname -f) > Setting repository/online/component/xrdp > Setting repository/online/component/xrdp/server > File: /etc/apt/sources.list.d/20_ucs-online-component.list > File: /etc/apt/mirror.list > File: /etc/apt/sources.list.d/15_ucs-online-version.list > > - maybe the app center can use a temporary sources list in dry_run mode > > How long does the commit take in the problematic cases?
We should also add some kind of timeout. A postinst script totally blocked (possibly forever). Cancelled it with Ctrl+C: File: /etc/apt/sources.list.d/20_ucs-online-component.list ^CTraceback (most recent call last): File "<stdin>", line 16, in <module> File "/usr/lib/pymodules/python2.6/univention/updater/tools.py", line 1591, in print_component_repositories Traceback (most recent call last): File "/usr/sbin/univention-config-registry", line 65, in <module> ub.main(convertToUtf8(sys.argv[1:])) File "/usr/lib/pymodules/python2.6/univention/config_registry/frontend.py", line 690, in main repos = self.get_component_repositories(component, versions, clean, for_mirror_list=for_mirror_list) File "/usr/lib/pymodules/python2.6/univention/updater/tools.py", line 1531, in get_component_repositories for server, ver in self._iterate_component_repositories([component], version, version, archs, for_mirror_list=for_mirror_list, errata_level=errata_level, iterate_errata=iterate_errata): File "/usr/lib/pymodules/python2.6/univention/updater/tools.py", line 1192, in _iterate_component_repositories for ver in self._iterate_versions(struct, version, version, parts, subarchs, server): File "/usr/lib/pymodules/python2.6/univention/updater/tools.py", line 1075, in _iterate_versions assert server.access(ver.path()) # minor File "/usr/lib/pymodules/python2.6/univention/updater/tools.py", line 437, in access res = UCSHttpServer.opener.open(req) File "/usr/lib/python2.6/urllib2.py", line 391, in open response = self._open(req, data) File "/usr/lib/python2.6/urllib2.py", line 409, in _open '_open', req) File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain result = func(*args) File "/usr/lib/python2.6/urllib2.py", line 1184, in http_open return self.do_open(httplib.HTTPConnection, req) File "/usr/lib/python2.6/urllib2.py", line 1157, in do_open r = h.getresponse() File "/usr/lib/python2.6/httplib.py", line 990, in getresponse response.begin() File "/usr/lib/python2.6/httplib.py", line 391, in begin version, status, reason = self._read_status() File "/usr/lib/python2.6/httplib.py", line 349, in _read_status line = self.fp.readline() File "/usr/lib/python2.6/socket.py", line 427, in readline data = recv(1) KeyboardInterrupt handler_func(args, cmd_opts) File "/usr/lib/pymodules/python2.6/univention/config_registry/frontend.py", line 162, in handler_set None if quiet else 'W: %s is overridden by scope "%s"') File "/usr/lib/pymodules/python2.6/univention/config_registry/frontend.py", line 203, in _run_changed handlers(changed.keys(), (ucr, changed)) File "/usr/lib/pymodules/python2.6/univention/config_registry/handler.py", line 831, in __call__ handler(arg) File "/usr/lib/pymodules/python2.6/univention/config_registry/handler.py", line 416, in __call__ srcfiles=[self.from_file], opts=filter_opts)) File "/usr/lib/pymodules/python2.6/univention/config_registry/handler.py", line 123, in run_filter ''' % template[start.end():end.start()])[0] File "/usr/lib/python2.6/subprocess.py", line 691, in communicate return self._communicate(input) File "/usr/lib/python2.6/subprocess.py", line 1211, in _communicate rlist, wlist, xlist = select.select(read_set, write_set, []) KeyboardInterrupt dpkg: Fehler beim Bearbeiten von ucs-school-singlemaster (--install): Unterprozess installiertes post-installation-Skript mit Signal (Unterbrechung) getötet
This issue has been filled against UCS 4.1. The maintenance with bug and security fixes for UCS 4.1 has ended on 5st of April 2018. Customers still on UCS 4.1 are encouraged to update to UCS 4.3. Please contact your partner or Univention for any questions. If this issue still occurs in newer UCS versions, please use "Clone this bug" or simply reopen the issue. In this case please provide detailed information on how this issue is affecting you.