public HdfsDataOutputStream(CryptoOutputStream out, FileSystem.Statistics stats, long startPosition) throws IOException { super(out, stats, startPosition); Preconditions.checkArgument(out.getWrappedStream() instanceof DFSOutputStream, "CryptoOutputStream should wrap a DFSOutputStream"); }
public HdfsDataOutputStream(CryptoOutputStream out, FileSystem.Statistics stats, long startPosition) throws IOException { super(out, stats, startPosition); Preconditions.checkArgument( out.getWrappedStream() instanceof DFSOutputStream, "CryptoOutputStream should wrap a DFSOutputStream"); }
public HdfsDataOutputStream(CryptoOutputStream out, FileSystem.Statistics stats, long startPosition) throws IOException { super(out, stats, startPosition); Preconditions.checkArgument(out.getWrappedStream() instanceof DFSOutputStream, "CryptoOutputStream should wrap a DFSOutputStream"); }
/** * Sync buffered data to DataNodes (flush to disk devices). * * @param syncFlags * Indicate the detailed semantic and actions of the hsync. * @throws IOException * @see FSDataOutputStream#hsync() */ public void hsync(EnumSet<SyncFlag> syncFlags) throws IOException { OutputStream wrappedStream = getWrappedStream(); if (wrappedStream instanceof CryptoOutputStream) { wrappedStream.flush(); wrappedStream = ((CryptoOutputStream) wrappedStream).getWrappedStream(); } ((DFSOutputStream) wrappedStream).hsync(syncFlags); }
/** * Get the actual number of replicas of the current block. * * This can be different from the designated replication factor of the file * because the namenode does not maintain replication for the blocks which are * currently being written to. Depending on the configuration, the client may * continue to write to a block even if a few datanodes in the write pipeline * have failed, or the client may add a new datanodes once a datanode has * failed. * * @return the number of valid replicas of the current block */ public synchronized int getCurrentBlockReplication() throws IOException { OutputStream wrappedStream = getWrappedStream(); if (wrappedStream instanceof CryptoOutputStream) { wrappedStream = ((CryptoOutputStream) wrappedStream).getWrappedStream(); } return ((DFSOutputStream) wrappedStream).getCurrentBlockReplication(); }
/** * Get the actual number of replicas of the current block. * * This can be different from the designated replication factor of the file * because the namenode does not maintain replication for the blocks which are * currently being written to. Depending on the configuration, the client may * continue to write to a block even if a few datanodes in the write pipeline * have failed, or the client may add a new datanodes once a datanode has * failed. * * @return the number of valid replicas of the current block */ public synchronized int getCurrentBlockReplication() throws IOException { OutputStream wrappedStream = getWrappedStream(); if (wrappedStream instanceof CryptoOutputStream) { wrappedStream = ((CryptoOutputStream) wrappedStream).getWrappedStream(); } return ((DFSOutputStream) wrappedStream).getCurrentBlockReplication(); }
/** * Get the actual number of replicas of the current block. * * This can be different from the designated replication factor of the file * because the namenode does not maintain replication for the blocks which are * currently being written to. Depending on the configuration, the client may * continue to write to a block even if a few datanodes in the write pipeline * have failed, or the client may add a new datanodes once a datanode has * failed. * * @return the number of valid replicas of the current block */ public synchronized int getCurrentBlockReplication() throws IOException { OutputStream wrappedStream = getWrappedStream(); if (wrappedStream instanceof CryptoOutputStream) { wrappedStream = ((CryptoOutputStream) wrappedStream).getWrappedStream(); } return ((DFSOutputStream) wrappedStream).getCurrentBlockReplication(); }
/** * Sync buffered data to DataNodes (flush to disk devices). * * @param syncFlags * Indicate the detailed semantic and actions of the hsync. * @throws IOException * @see FSDataOutputStream#hsync() */ public void hsync(EnumSet<SyncFlag> syncFlags) throws IOException { OutputStream wrappedStream = getWrappedStream(); if (wrappedStream instanceof CryptoOutputStream) { ((CryptoOutputStream) wrappedStream).flush(); wrappedStream = ((CryptoOutputStream) wrappedStream).getWrappedStream(); } ((DFSOutputStream) wrappedStream).hsync(syncFlags); }
/** * Sync buffered data to DataNodes (flush to disk devices). * * @param syncFlags * Indicate the detailed semantic and actions of the hsync. * @throws IOException * @see FSDataOutputStream#hsync() */ public void hsync(EnumSet<SyncFlag> syncFlags) throws IOException { OutputStream wrappedStream = getWrappedStream(); if (wrappedStream instanceof CryptoOutputStream) { ((CryptoOutputStream) wrappedStream).flush(); wrappedStream = ((CryptoOutputStream) wrappedStream).getWrappedStream(); } ((DFSOutputStream) wrappedStream).hsync(syncFlags); }