You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-user@hadoop.apache.org by Brian Bockelman <bb...@cse.unl.edu> on 2008/12/10 21:27:49 UTC

Libhdfs / fuse_dfs crashing

Hey,

In Hadoop-0.19.0, we've been getting crashing, deadlocking, and other  
badness from libhdfs (I think: I'm using it through fuse-dfs).

https://issues.apache.org/jira/browse/HADOOP-4775

However, I've been at a complete loss to make any progress in  
debugging.  The problem happens consistently in our workflows, even  
though it's been problematic to find a simple test case (I suspect the  
issues are triggered by threading, while debug mode eliminates any  
threading!).  It doesn't appear there are any nice ways to debug or  
follow along with actions in fuse_dfs or libhdfs: I don't even know  
how to make DFSClient spill its guts to a log.

Help!

Brian

Re: Libhdfs / fuse_dfs crashing

Posted by Brian Bockelman <bb...@cse.unl.edu>.
Ah-ha, I found it!

Anyone see the problem?  If you want to cheat, you can look at the  
ticket...

     size_t num_read;
     size_t total_read = 0;
     while (size - total_read > 0 && (num_read = hdfsPread(fh->fs, fh- 
 >hdfsFH, offset + total_read, buf + total_read, size - total_read)) >  
0) {
       total_read += num_read;
     }
     if (num_read < 0) {
       // invalidate the buffer
       syslog(LOG_ERR, "Read error - pread failed for %s with return  
code %d %s:%d", path, (int)num_read, __FILE__, __LINE__);
       return -EIO;
     }
     return total_read;


Brian

On Dec 10, 2008, at 6:27 PM, Brian Bockelman wrote:

> Hey,
>
> In Hadoop-0.19.0, we've been getting crashing, deadlocking, and  
> other badness from libhdfs (I think: I'm using it through fuse-dfs).
>
> https://issues.apache.org/jira/browse/HADOOP-4775
>
> However, I've been at a complete loss to make any progress in  
> debugging.  The problem happens consistently in our workflows, even  
> though it's been problematic to find a simple test case (I suspect  
> the issues are triggered by threading, while debug mode eliminates  
> any threading!).  It doesn't appear there are any nice ways to debug  
> or follow along with actions in fuse_dfs or libhdfs: I don't even  
> know how to make DFSClient spill its guts to a log.
>
> Help!
>
> Brian