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

Reply via email to