Print

Print


Hi Fons,

In retrospect it would seem that the cleanest way of handling "special" 
filenames is to make them part of the path as one would use an actual 
filename. So, you would recognize an "alice" name by the path prefix, say 
'/alice/". Then whatever follows that would be the encoded filepath which 
the wrapper would decode and replace the path with the decoded name and 
forwarded into the regular interface. This now seems much cleaner than 
trying to pass the encoded information via opaque information.

Opaque information was originally meant to provide hinst about file 
placement and usage at open time. When I spoke to Andreas I thought that it 
could also be used to pass the alice name. What I forgot was that the opaque 
information is only considered for open calls and simplky passed through (if 
it exists) for other calls. It is open for discussion in what context opaque 
information should be passed and what context it should be filtered out (and 
I'm certainly open to suggestions on how best to treat opaque information in 
all contexts).

So, the bottom line is that the non-uniform treatment of opaque information 
is casing usage problems when one tries to generalize that to other file 
methods. Notwithstanding this issue, there is still a bug in how the olbd 
treats opaque information. This was introduced in the last release by our 
tring to inform the olbd which servers are causing problems and not fixing 
the olbd to recognize that such information is being provided. I will be 
fixing that shortly. This is only an issue when a client is misdirected to a 
server.

Andy

----- Original Message ----- 
From: "Fons Rademakers" <[log in to unmask]>
To: "Andy Hanushevsky" <[log in to unmask]>
Cc: "Derek Feichtinger" <[log in to unmask]>; "xrootd mailing list" 
<[log in to unmask]>; "Andreas Joachim Peters" 
<[log in to unmask]>
Sent: Tuesday, April 26, 2005 2:10 AM
Subject: Re: olbd fails to learn when a file disappears from a leaf node, 
but another copy still exists


> Hi Andy,
>
>  can you update me on this issue. What are opaque file names? ALICE has 
> not yet finalized any file name structure so we are flexible and would 
> prefer the best technical solution.
>
> Cheers, Fons.
>
>
>
> Andy Hanushevsky wrote:
>> Hi Derek,
>>
>> The problem stems from the issue Andreas and I discussed. That is, that 
>> opaque information is not handled for any function other than open(). So, 
>> the opaque information is passed through for other calls (e.g., stat()) 
>> which then exhibit the behaviour you see. Whatever the solution, it is 
>> likely to break your existing implementation for Alice filenames. The 
>> possibilities are:
>>
>> a) Screen out opaque information for all functions that accept a path. 
>> Then pass it to the appropraie function via an opaque argument.
>>
>> b) Suppress opaque information, except for the open() function.
>>
>> c) Leave things as they are but let the olbd screen out opaque 
>> information.
>>
>> None of the above are great solution.
>>
>> (a) forces us to change the whole sfs interface because only open() 
>> accepts opaque information. That was an oversight on our part. However, 
>> in making this change, we would break Alice filenames.
>>
>> (b) makes some amount of sense since open() is the only thing that really 
>> needs opaque information (well, it being opaque means we really can't 
>> tell where it might get used). However, it *really* makes Alice filenames 
>> unusable in it's current incarnation since the file name is passed via 
>> opaque information. Perhaps it would have been better to use 
>> "/alice/<real alice filename>" instead of opque information. This would 
>> have avoided some nuisances that currently exist in the implementation 
>> (e.g., non-uniform handling of opaque information).
>>
>> (c) is really a hack fix but is relatively easy to do and breaks the 
>> fewest number of things. However, it still keeps the non-uniform handling 
>> of opaque information.
>>
>> So, let me know how you would prefer to have this fixed. Personally, 
>> maybe should have never used opaque information to pass Alice filenames. 
>> Instead they should have been encoded in the filename itself leaving 
>> opaque information for other things. Anyway, let me know.
>>
>> Andy
>>
>> ----- Original Message ----- From: "Derek Feichtinger" 
>> <[log in to unmask]>
>> To: "xrootd mailing list" <[log in to unmask]>
>> Sent: Monday, April 25, 2005 7:36 AM
>> Subject: olbd fails to learn when a file disappears from a leaf node, but 
>> another copy still exists
>>
>>
>>> Hi,
>>>
>>> I tested whether this problem had been corrected in the development 
>>> release
>>> 20050417-0431.
>>> (original submission:
>>> http://www.slac.stanford.edu/cgi-bin/lwgate/XROOTD-L/archives/xrootd-l.200504/Author/article-23.html)
>>>
>>> It still fails, but with other symptoms.
>>>
>>> Setup:
>>> 1. Two leaf nodes. Both have the file fileA
>>>
>>> 2. Reading via the redirector gives me alternatively fileA from leaf1 
>>> and
>>> leaf2.
>>>
>>> 3. I remove fileA from leaf1.
>>>
>>> 4. When a client request gets redirected to leaf1, the client now 
>>> correctly
>>> connects back to the manager, who should do an update of this cache 
>>> entry.
>>> The master sends out a stat request to the slaves like this:
>>>           statf  /tmp/xrootd/all_1&tried=leaf1
>>> But the node that still has the file seems not to respond in the 
>>> affirmative,
>>> and it seems the cache is not updated, because...
>>>
>>> 5. I'm left with a system that alternately succeeds (from leaf2) and 
>>> fails
>>> (via the above route) giving me the file.
>>>
>>> Cheers,
>>> Derek
>>>
>>> -- 
>>> Dr. Derek Feichtinger                   Tel:   +41 22 767 10 07
>>> LCG/ARDA Group                            email: 
>>> [log in to unmask]
>>> CERN http://people.web.psi.ch/feichtinger
>>> CH-1211 Genève 23
>>>
>>>
>>>
>
> -- 
> Org:    CERN, European Laboratory for Particle Physics.
> Mail:   1211 Geneve 23, Switzerland
> E-Mail: [log in to unmask]              Phone: +41 22 7679248
> WWW:    http://www.rademakers.org/fons/      Fax:   +41 22 7679480
>