private boolean isPageBlobStreamWrapper(FSDataOutputStream stream) { return ((SyncableDataOutputStream) stream.getWrappedStream()) .getOutStream() instanceof PageBlobOutputStream; }
@Override @Deprecated public void sync() throws IOException { hflush(); }
DataOutputStream dataOutStream = new SyncableDataOutputStream( outputStream);
DataOutputStream dataOutStream = new SyncableDataOutputStream(outputStream); return dataOutStream; } catch (Exception e) {
DataOutputStream dataOutStream = new SyncableDataOutputStream(outputStream); return dataOutStream; } catch (Exception e) {
private boolean isBlockBlobAppendStreamWrapper(FSDataOutputStream stream) { return ((SyncableDataOutputStream) ((NativeAzureFileSystem.NativeAzureFsOutputStream) stream.getWrappedStream()) .getOutStream()) .getOutStream() instanceof BlockBlobAppendStream; }
@Test public void testCompactionDisabled() throws Throwable { try (FSDataOutputStream appendStream = fs.create(TEST_PATH_NORMAL)) { // testing new file SyncableDataOutputStream dataOutputStream = null; OutputStream wrappedStream = appendStream.getWrappedStream(); if (wrappedStream instanceof NativeAzureFileSystem.NativeAzureFsOutputStream) { NativeAzureFileSystem.NativeAzureFsOutputStream fsOutputStream = (NativeAzureFileSystem.NativeAzureFsOutputStream) wrappedStream; dataOutputStream = (SyncableDataOutputStream) fsOutputStream.getOutStream(); } else if (wrappedStream instanceof SyncableDataOutputStream) { dataOutputStream = (SyncableDataOutputStream) wrappedStream; } else { Assert.fail("Unable to determine type of " + wrappedStream + " class of " + wrappedStream.getClass()); } Assert.assertFalse("Data output stream is a BlockBlobAppendStream: " + dataOutputStream, dataOutputStream.getOutStream() instanceof BlockBlobAppendStream); } }
private BlockBlobAppendStream getBlockBlobAppendStream(FSDataOutputStream appendStream) { SyncableDataOutputStream dataOutputStream = null; if (appendStream.getWrappedStream() instanceof NativeAzureFileSystem.NativeAzureFsOutputStream) { NativeAzureFileSystem.NativeAzureFsOutputStream fsOutputStream = (NativeAzureFileSystem.NativeAzureFsOutputStream) appendStream.getWrappedStream(); dataOutputStream = (SyncableDataOutputStream) fsOutputStream.getOutStream(); } if (appendStream.getWrappedStream() instanceof SyncableDataOutputStream) { dataOutputStream = (SyncableDataOutputStream) appendStream.getWrappedStream(); } Assert.assertNotNull("Did not recognize " + dataOutputStream, dataOutputStream); return (BlockBlobAppendStream) dataOutputStream.getOutStream(); }
@Test public void testPageBlobFlush() throws IOException { Path path = getBlobPathWithTestName(PAGE_BLOB_DIR); try (FSDataOutputStream stream = fs.create(path)) { byte[] buffer = getRandomBytes(); stream.write(buffer); stream.flush(); // flush is asynchronous for Page Blob, so we need to // wait for it to complete SyncableDataOutputStream syncStream = (SyncableDataOutputStream) stream.getWrappedStream(); PageBlobOutputStream pageBlobStream = (PageBlobOutputStream)syncStream.getOutStream(); pageBlobStream.waitForLastFlushCompletion(); validate(path, buffer, true); } }