Ok, I think I have addressed all concerns (and that Danek's questions
were mosty answered by Shawn.)

Here are the new and incremental webrevs:

http://cr.opensolaris.org/~mjnelson/webrev.pkg-index-control.2/
http://cr.opensolaris.org/~mjnelson/webrev.pkg-index-control.1-2/

Some notes on testing: I did almost exactly as Shawn suggested, with
two primary differences:

1. I have independently verified that index suppression is working
   completely as intended for the following two cases:

   A. No depot server running, using pkgsend only with a file uri
   B. Depot server running, using pkgsend only with a http uri

   I have further verified that, when you are running a depot server
   but publishing to the same repo via a file uri, the open and add
   pkgsend subcommands trigger a silent index refresh.  So whatever
   was previously published, but not indexed, will magically be
   indexed, even though the currently open transaction will not be.

   This led me on a merry chase to figure out why my test searches
   were returning results unexpectedly, and eventually led to a slight
   reordering of test operations.  (Checking for search failure on the
   http-published package prior to publishing via file transaction.)

2. If you publish an empty package, a "pkg search pkg:::" will always
   fail, even after refreshing the search indices.

   So I added a file action to each of my test packages.

I'm inclined to treat difference (1) as "not part of this wad."  Is
this expected behavior?  If not, I can collect info and file a bug.

Since the tests were not previously reviewed, I welcome comments on
them.

--Mark



On Thu, Sep 10, 2009 at 04:59:55PM -0500, Shawn Walker wrote:
> Danek Duvall wrote:
>> Mark J. Nelson wrote:
>>
>>> http://cr.opensolaris.org/~mjnelson/webrev.pkg-index-control/
>>
>> depot.py:
>>
>>   - line 729: I forget -- is there a reason we can't send back a 5xx error
>>     code?  (This may be more of a question for Shawn.)  Alternatively, why
>>     can't both error returns be NOT_FOUND?  See file_0().
>
> We currently don't send back 5xx error codes because that causes Apache  
> to think that the backend has stopped working and it will refuse 
> requests.
>
> We don't send 404 for most of the failed operations because  
> versioned_urlopen will interpret that to mean that the server doesn't  
> support this operation as opposed to the operation failing.  This comes  
> back to us not having upgraded to the newest version of cherrypy yet,  
> which would allow us to have custom status messages (i.e. 404 No write  
> permissions on search indices.).
>
> Cheers,
> -- 
> Shawn Walker
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to