In the context of our use of pkg(5) for layered software distributions
on a variety of OS platforms, I've been asked how we can report on
failed and terminated download attempts for new package installs and
package updates. The concern being that as larger sized packages are
published, there may be a greater number of download failures. Since
our current reporting mechanisms don't try to look for such failures, we
don't have visibility into this type of issue.
What should a team hosting a pkg.depotd-based service look for in order
to report on such failures and terminations?
We're running Apache HTTP as a front end to a series of depotds, each of
which delivers content for a distinct OS platform.
With our current Apache config, we don't see anything outwardly wrong
reflected in the access log when a user issues a ctl-c against pkg(1)
while a download is in progress. However, on the pkg.dedpotd logs, we
see the traceback as shown below.
Ideally, we'd be able to scan the depotd logs for failures and identify
the operation being performed and the target (e.g. package) of that
operation.
I am wondering if anyone has looked into how typical situations (user
gracefully cancels an install while download is underway, user kills his
client app during download, network connection is lost, etc) can be made
visible to the people running a repository.
Does the new transport approach help here?
Should I file an RFE if there are functionality gaps?
Thanks,
Chris
[20/Jul/2009:11:19:43] Request aborted: Traceback (most recent call last):
File
"/export/IPS/UC20-nightly/pkg-toolkit-sunos-i386/pkg/vendor-packages/pkg/server/depot.py",
line 403, in _tar_stream_close
tar_stream.close()
File "/python2.4/lib/python2.4/tarfile.py", line 1030, in close
File "/python2.4/lib/python2.4/tarfile.py", line 342, in write
File "/python2.4/lib/python2.4/tarfile.py", line 350, in __write
File
"/export/IPS/UC20-nightly/pkg-toolkit-sunos-i386/pkg/vendor-packages/cherrypy/wsgiserver/__init__.py",
line 636, in write
self.wfile.sendall("".join(buf))
File
"/export/IPS/UC20-nightly/pkg-toolkit-sunos-i386/pkg/vendor-packages/cherrypy/wsgiserver/__init__.py",
line 907, in sendall
bytes_sent = self.send(data)
File
"/export/IPS/UC20-nightly/pkg-toolkit-sunos-i386/pkg/vendor-packages/cherrypy/wsgiserver/__init__.py",
line 914, in send
return self._sock.send(data)
error: (32, 'Broken pipe')
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss