private static long findBlocksize(INode inode) { final Block[] ret = inode.getBlocks(); return ret == null ? 0L : ret[0].getLength(); } }
public S3InputStream(Configuration conf, FileSystemStore store, INode inode, FileSystem.Statistics stats) { this.store = store; this.stats = stats; this.blocks = inode.getBlocks(); for (Block block : blocks) { this.fileLength += block.getLength(); } }
private static long findBlocksize(INode inode) { final Block[] ret = inode.getBlocks(); return ret == null ? 0L : ret[0].getLength(); } }
public S3InputStream(Configuration conf, FileSystemStore store, INode inode, FileSystem.Statistics stats) { this.store = store; this.stats = stats; this.blocks = inode.getBlocks(); for (Block block : blocks) { this.fileLength += block.getLength(); } }
private static long findBlocksize(INode inode) { final Block[] ret = inode.getBlocks(); return ret == null ? 0L : ret[0].getLength(); } }
public S3InputStream(Configuration conf, FileSystemStore store, INode inode, FileSystem.Statistics stats) { this.store = store; this.stats = stats; this.blocks = inode.getBlocks(); for (Block block : blocks) { this.fileLength += block.getLength(); } }
public void dump() throws IOException { StringBuilder sb = new StringBuilder(getClass().getSimpleName()); sb.append(", \n"); for (Map.Entry<Path, INode> entry : inodes.entrySet()) { sb.append(entry.getKey()).append("\n"); INode inode = entry.getValue(); sb.append("\t").append(inode.getFileType()).append("\n"); if (inode.getFileType() == FileType.DIRECTORY) { continue; } for (int j = 0; j < inode.getBlocks().length; j++) { sb.append("\t").append(inode.getBlocks()[j]).append("\n"); } } System.out.println(sb); System.out.println(inodes.keySet()); System.out.println(blocks.keySet()); }
private static long findLength(INode inode) { if (!inode.isDirectory()) { long length = 0L; for (Block block : inode.getBlocks()) { length += block.getLength(); } return length; } return 0; }
private static long findLength(INode inode) { if (!inode.isDirectory()) { long length = 0L; for (Block block : inode.getBlocks()) { length += block.getLength(); } return length; } return 0; }
private static long findLength(INode inode) { if (!inode.isDirectory()) { long length = 0L; for (Block block : inode.getBlocks()) { length += block.getLength(); } return length; } return 0; }
public void dump() throws IOException { StringBuilder sb = new StringBuilder("S3 Filesystem, "); sb.append(bucket.getName()).append("\n"); try { S3Object[] objects = s3Service.listObjects(bucket, PATH_DELIMITER, null); for (int i = 0; i < objects.length; i++) { Path path = keyToPath(objects[i].getKey()); sb.append(path).append("\n"); INode m = retrieveINode(path); sb.append("\t").append(m.getFileType()).append("\n"); if (m.getFileType() == FileType.DIRECTORY) { continue; } for (int j = 0; j < m.getBlocks().length; j++) { sb.append("\t").append(m.getBlocks()[j]).append("\n"); } } } catch (S3ServiceException e) { if (e.getCause() instanceof IOException) { throw (IOException) e.getCause(); } throw new S3Exception(e); } System.out.println(sb); }
@Override public void dump() throws IOException { StringBuilder sb = new StringBuilder("S3 Filesystem, "); sb.append(bucket.getName()).append("\n"); try { S3Object[] objects = s3Service.listObjects(bucket.getName(), PATH_DELIMITER, null); for (int i = 0; i < objects.length; i++) { Path path = keyToPath(objects[i].getKey()); sb.append(path).append("\n"); INode m = retrieveINode(path); sb.append("\t").append(m.getFileType()).append("\n"); if (m.getFileType() == FileType.DIRECTORY) { continue; } for (int j = 0; j < m.getBlocks().length; j++) { sb.append("\t").append(m.getBlocks()[j]).append("\n"); } } } catch (S3ServiceException e) { if (e.getCause() instanceof IOException) { throw (IOException) e.getCause(); } throw new S3Exception(e); } System.out.println(sb); }
public void dump() throws IOException { StringBuilder sb = new StringBuilder("S3 Filesystem, "); sb.append(bucket.getName()).append("\n"); try { S3Object[] objects = s3Service.listObjects(bucket, PATH_DELIMITER, null); for (int i = 0; i < objects.length; i++) { Path path = keyToPath(objects[i].getKey()); sb.append(path).append("\n"); INode m = retrieveINode(path); sb.append("\t").append(m.getFileType()).append("\n"); if (m.getFileType() == FileType.DIRECTORY) { continue; } for (int j = 0; j < m.getBlocks().length; j++) { sb.append("\t").append(m.getBlocks()[j]).append("\n"); } } } catch (S3ServiceException e) { if (e.getCause() instanceof IOException) { throw (IOException) e.getCause(); } throw new S3Exception(e); } System.out.println(sb); }
public boolean delete(Path path, boolean recursive) throws IOException { Path absolutePath = makeAbsolute(path); INode inode = store.retrieveINode(absolutePath); if (inode == null) { return false; } if (inode.isFile()) { store.deleteINode(absolutePath); for (Block block: inode.getBlocks()) { store.deleteBlock(block); } } else { FileStatus[] contents = listStatus(absolutePath); if (contents == null) { return false; } if ((contents.length !=0) && (!recursive)) { throw new IOException("Directory " + path.toString() + " is not empty."); } for (FileStatus p:contents) { if (!delete(p.getPath(), recursive)) { return false; } } store.deleteINode(absolutePath); } return true; }
public boolean delete(Path path, boolean recursive) throws IOException { Path absolutePath = makeAbsolute(path); INode inode = store.retrieveINode(absolutePath); if (inode == null) { return false; } if (inode.isFile()) { store.deleteINode(absolutePath); for (Block block: inode.getBlocks()) { store.deleteBlock(block); } } else { FileStatus[] contents = listStatus(absolutePath); if (contents == null) { return false; } if ((contents.length !=0) && (!recursive)) { throw new IOException("Directory " + path.toString() + " is not empty."); } for (FileStatus p:contents) { if (!delete(p.getPath(), recursive)) { return false; } } store.deleteINode(absolutePath); } return true; }
for (Block block: inode.getBlocks()) { store.deleteBlock(block);
public void testSerializeFileWithSingleBlock() throws IOException { Block[] blocks = { new Block(849282477840258181L, 128L) }; INode inode = new INode(FileType.FILE, blocks); assertEquals("Length", 1L + 4 + 16, inode.getSerializedLength()); InputStream in = inode.serialize(); INode deserialized = INode.deserialize(in); assertEquals("FileType", inode.getFileType(), deserialized.getFileType()); Block[] deserializedBlocks = deserialized.getBlocks(); assertEquals("Length", 1, deserializedBlocks.length); assertEquals("Id", blocks[0].getId(), deserializedBlocks[0].getId()); assertEquals("Length", blocks[0].getLength(), deserializedBlocks[0] .getLength()); }