[Cosmo-dev] Bug Roundup
Bobby Rullo
br at osafoundation.org
Tue Oct 3 12:56:47 PDT 2006
I'm not sure I like this whole try, fail, sleep, try business.
It would be easier, better, (IMHO, clearly :-) ) to synchronize
around some object like an interned String of the absolute path.
Example, in java-ish psuedocode:
public void saveItem(Item item, String absolutePath) {
...stuff...
absolutePath = absolutePath.intern();
synchronize(absolutePath) {
doWork();
}
}
On Oct 3, 2006, at 12:04 PM, Randy Letness wrote:
> Brian Moseley wrote:
>> On 10/3/06, Randy Letness <randy at osafoundation.org> wrote:
>>>
>>> I guess the question is at what layer the retry logic should
>>> occur. We
>>> could retry a save at the dao layer, but then there are questions
>>> like
>>> what happens when the first request did a MOVE? In that case,
>>> shouldn't we return a not-found error? That would mean the retry
>>> logic has to be at the dav layer. I guess one thing we could add is
>>
>> is that really true though? couldn't the dao detect if the item had
>> been moved (eg its parent item is no longer the same)? it could also
>> detect if the item had been deleted, right? there's a small number of
>> states the item could be in that would require logic other than
>> "overwrite the change that was just made".
>>
> Yeah but this all assumes a hierarchical data model. What about
> changing
> an item's name? In dav, that means moving, but what about in other
> protocols?
> I agree with what you suggested. We should catch the exception,
> log it, and
> return a 500 minus the nasty stack trace. Then we can see how
> often this
> happens and figure out a solution.
>
> -Randy
> _______________________________________________
> cosmo-dev mailing list
> cosmo-dev at lists.osafoundation.org
> http://lists.osafoundation.org/mailman/listinfo/cosmo-dev
More information about the cosmo-dev
mailing list