Print

Print


On 3/2/18 1:56 AM, Fabrizio Furano wrote:
> Hi Andy,
> 
>   yes, I have spent the last few years on various caches and I see the pain.
> 
>   For the use cases that I know about the restriction that you mention would be
> more than acceptable, and the "total" solution would probably have limited
> usefulness (and a high development cost).
>   Also not caching (hence just tunnelling) a file that is opened for write would
> be fine. At the end most of the heavy use cases are just WORM, and whoever
> enables this is supposed to be aware of the limitations... hopefully.

Do you need tunneling or is redirection good enough?

\m

>   Also limiting the prohibition to opens for append/mpodify would be fine I guess.
> 
> Fabrizio
> 
> 
> 
> 
> 
> On 03/02/2018 10:46 AM, Andrew Hanushevsky wrote:
>> Hi Fabrizio,
>>
>> The reason we didn't do it for a disk caching proxy is because cache synchrnization is extremely difficult as you may be reading
>> as well as writing the file. The memory caching proxy does support reading and writing as synchnizing a memory cache is trivial.
>> So, even if we did a passthrough option it would be very restrictive (i.e. you can either read the data or write the data but
>> not both unless the cache is disabled and opening a file for writing would necessarily have to flush the cache for that file).
>> That we could also do.
>>
>> Probably the fastest solution here (at the moment) is to write an ofs plugin wrapper for the caching proxy that checks for write
>> opens and does the appropriate redirection. We can do that also by extending the static redirect directive to differentiate
>> between read paths and write paths; thuogh that opens the proxy to cache synchronization issues unless files are not bth read
>> and written at the same time.
>>
>> Andy
>>
>>   On Fri, 2 Mar 2018, Fabrizio Furano wrote:
>>
>>> Hi Andy,
>>>
>>> thanks for the hints. My opinion is that a passthrough option would be
>>> a very big plus for the caching proxy, and I was sincerely surprised
>>> by this limitation.
>>>
>>> For some of our use cases I believe that we will start using it without
>>> caching, as I can't imagine how to give a transparent service by having
>>> to force clients to use different paths for reading and writing.
>>>
>>> What do you think ?
>>>
>>> Thank you
>>> Fabrizio
>>>
>>> On 03/01/2018 06:09 PM, Andrew Hanushevsky wrote:
>>>> Correct, we don't support a writable cache because that's not what a cache is all about. Does the origin support writes? If so,
>>>> we could potentially provide a cache passthrough option. Otherwise, if the readable and writable path differ, he could have run
>>>> two proxies -- one caching for read access and a passthru proxy for writing then setup a redirect directive in the primary proxy
>>>> (i.e. the one that will be initially used) to direct writes to the passthru proxy based on path.
>>>>
>>>> Andy
>>>>
>>>> On Thu, 1 Mar 2018, Fabrizio Furano wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> Mihai is trying to setup a small Pss machine that also works as a cache.
>>>>>
>>>>> For reading it seems to work fine, yet it stubbornly refuses to write files with
>>>>> this error:
>>>>>
>>>>>> 180301 17:27:38 13788 XrdFileCache_Manager: debug Cache::Attach()
>>>>>> root:[log in to unmask]:1094//eos/xdc/testing/hello.txt?&oss.asize=14&oss.lcl=1 location: <deferred open>
>>>>>> 180301 17:27:38 13788 root.3008:20@xdc-test-fst1 ofs_fstat:  fn=/eos/xdc/testing/hello.txt
>>>>>> 180301 17:27:38 13788 root.3008:20@xdc-test-fst1 XrootdResponse: 0100 sending 46 data bytes; status=0
>>>>>> 180301 17:27:38 13788 root.3008:20@xdc-test-fst1 XrootdProtocol: 0100 req=write dlen=14
>>>>>> 180301 17:27:38 13788 root.3008:20@xdc-test-fst1 XrootdProtocol: 0100 fh=0 write 14@0
>>>>>> 180301 17:27:38 13788 root.3008:20@xdc-test-fst1 ofs_write: 14@0 fn=/eos/xdc/testing/hello.txt
>>>>>> 180301 17:27:38 13788 ofs_write: root.3008:20@xdc-test-fst1 Unable to write /eos/xdc/testing/hello.txt; operation not
>>>>>> supported
>>>>>> 180301 17:27:38 13788 root.3008:20@xdc-test-fst1 XrootdProtocol: 0100 discarding 0 bytes
>>>>>> 180301 17:27:38 13788 root.3008:20@xdc-test-fst1 XrootdResponse: 0100 sending err 3005: Unable to write
>>>>>> /eos/xdc/testing/hello.txt; operation not supported
>>>>>> 180301 17:27:38 13788 root.3008:20@xdc-test-fst1 XrootdProtocol: 0100 req=close dlen=0
>>>>>> 180301 17:27:38 13788 root.3008:20@xdc-test-fst1 ofs_close: use=1 fn=/eos/xdc/testing/hello.txt
>>>>>
>>>>> If we remove the directive pss.cachelib then writes work instead.
>>>>>
>>>>> Can anyone give us a clue please ?
>>>>>
>>>>> Thank you
>>>>> Fabrizio and Mihai
>>>>>
>>>>>
>>>>
>>>
>>>
> 
> 
> ########################################################################
> Use REPLY-ALL to reply to list
> 
> To unsubscribe from the XROOTD-L list, click the following link:
> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1
> 

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-L list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1