[ 
https://issues.apache.org/jira/browse/HADOOP-4399?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pete Wyckoff updated HADOOP-4399:
---------------------------------

        Fix Version/s:     (was: 0.20.0)
                       0.19.0
             Assignee: Pete Wyckoff
    Affects Version/s: 0.19.0
               Status: Patch Available  (was: Open)

building on hadoop-4397, I did the following:

1. protect dfs_read accesses to the read buffer with a critical section based 
on a per file handle mutex.
2. open inits the per file handle mutex
3. release destroys the mutex

Also put a comment in dfs_getattr and a "soft" assertion that dfs->fs global 
filesystem handle is already set in dfs_init.

No new tests as this is a concurrency fix, but all the existing 10 tests pass.



>  fuse-dfs per FD context is not thread safe and can cause segfaults and 
> corruptions
> -----------------------------------------------------------------------------------
>
>                 Key: HADOOP-4399
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4399
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: contrib/fuse-dfs
>    Affects Versions: 0.19.0
>            Reporter: Pete Wyckoff
>            Assignee: Pete Wyckoff
>             Fix For: 0.19.0
>
>         Attachments: HADOOP-4399.1.txt
>
>
> for reads, optimal solution would be to have a per thread (per FD) context - 
> including the buffer. Otherwise, protect the FD context with a mutex as in 
> hadoop-4397 and hadoop-4398.
> for writes, should just protect the context with a mutex as in hadoop-4398.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to