On Sun, Jan 17, 2010 at 5:44 PM, Klaus Nagel <d...@gibtsdochgar.net> wrote: > Hi everybody - new week, new problem...hope you can help me another time... > > I want to run iozone in a fuse_dfs mounted directory (command: iozone -a) > but that doesn't work. (hadoop version 0.20.1, System Debian Lenny 32Bit > with 2.6.26-2-686 kernel, only one datanode configured) > > > ###Output from iozone: > Can not open temp file: iozone.tmp > open: Input/output error > > > ###fuse_dfs_wrapper output in debug mode: > LOOKUP /temp/iozone.tmp > unique: 26, error: -2 (No such file or directory), outsize: 16 > unique: 27, opcode: CREATE (35), nodeid: 6, insize: 59 > NODEID: 7 > unique: 27, error: 0 (Success), outsize: 152 > unique: 28, opcode: GETATTR (3), nodeid: 6, insize: 56 > unique: 28, error: 0 (Success), outsize: 112 > unique: 29, opcode: SETATTR (4), nodeid: 7, insize: 128 > unique: 29, error: 0 (Success), outsize: 112 > unique: 30, opcode: FLUSH (25), nodeid: 7, insize: 64 > FLUSH[167051800] > unique: 30, error: 0 (Success), outsize: 16 > unique: 31, opcode: RELEASE (18), nodeid: 7, insize: 64 > RELEASE[167051800] flags: 0x8001 > unique: 32, opcode: UNLINK (10), nodeid: 6, insize: 51 > Exception in thread "Thread-6" org.apache.hadoop.ipc.RemoteException: > java.io.IOException: Could not complete write to file /temp/iozone.tmp by > DFSClient_1838156575 > at > org.apache.hadoop.hdfs.server.namenode.NameNode.complete(NameNode.java:449) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:508) > at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:959) > at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:955) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:396) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:953) > > at org.apache.hadoop.ipc.Client.call(Client.java:739) > at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:220) > at $Proxy0.complete(Unknown Source) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59) > at $Proxy0.complete(Unknown Source) > at > org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.closeInternal(DFSClient.java:3226) > at > org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.close(DFSClient.java:3150) > at > org.apache.hadoop.fs.FSDataOutputStream$PositionCache.close(FSDataOutputStream.java:61) > at > org.apache.hadoop.fs.FSDataOutputStream.close(FSDataOutputStream.java:86) > Call to org/apache/hadoop/fs/FSDataOutputStream::close failed! > ERROR: dfs problem - could not close file_handle(166166016) for > /temp/iozone.tmp fuse_impls_release.c:59 > unique: 31, error: 0 (Success), outsize: 16 > CREATE[167051800] flags: 0x8041 /temp/iozone.tmp > UNLINK /temp/iozone.tmp > unique: 32, error: 0 (Success), outsize: 16 > > > ### namenodes log > 2010-01-18 02:22:11,535 INFO org.apache.hadoop.hdfs.StateChange: DIR* > NameSystem.completeFile: file /temp/iozone.tmp is closed by > DFSClient_-585130158 > 2010-01-18 02:22:11,539 WARN org.apache.hadoop.hdfs.StateChange: DIR* > NameSystem.completeFile: failed to complete /temp/iozone.tmp because > dir.getFileBlocks() is null and pendingFile is null > 2010-01-18 02:22:11,539 INFO org.apache.hadoop.ipc.Server: IPC Server > handler 7 on 9000, call complete(/temp/iozone.tmp, DFSClient_-585130158) > from 10.8.0.1:49371: error: java.io.IOException: Could not complete write > to file /temp/iozone.tmp by DFSClient_-585130158 > java.io.IOException: Could not complete write to file /temp/iozone.tmp by > DFSClient_-585130158 > at > org.apache.hadoop.hdfs.server.namenode.NameNode.complete(NameNode.java:449) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:508) > at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:959) > at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:955) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:396) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:953) > 2010-01-18 02:22:11,590 INFO > org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit: > ugi=hadoop,hadoop,fuse ip=/10.8.0.1 cmd=delete > src=/temp/iozone.tmp dst=null perm=null > > > ### nothing ist logged about that operation in the datanode > > ...that was quiet all - I tested it with many different iozone options, > but everytime the same result...(making a file with e.g. echo ... > file > works perfectly) > > ...hope someone knows about that problem... > > thanks for any reply: klaus > >
Looks like the file is being unlinked while the client is still completing the creation of the file. Would need to see all the fuse_dfs_wrapper output and what iozone was doing to really understand what's going on. Thanks, Eli