org.apache.flink.runtime.state.filesystem.FsCheckpointStreamFactory Java Examples
The following examples show how to use
org.apache.flink.runtime.state.filesystem.FsCheckpointStreamFactory.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ChannelStateCheckpointWriterTest.java From flink with Apache License 2.0 | 6 votes |
@Test @SuppressWarnings("ConstantConditions") public void testSmallFilesNotWritten() throws Exception { int threshold = 100; File checkpointsDir = temporaryFolder.newFolder("checkpointsDir"); File sharedStateDir = temporaryFolder.newFolder("sharedStateDir"); FsCheckpointStreamFactory checkpointStreamFactory = new FsCheckpointStreamFactory(getSharedInstance(), fromLocalFile(checkpointsDir), fromLocalFile(sharedStateDir), threshold, threshold); ChannelStateWriteResult result = new ChannelStateWriteResult(); ChannelStateCheckpointWriter writer = createWriter(result, checkpointStreamFactory.createCheckpointStateOutputStream(EXCLUSIVE)); NetworkBuffer buffer = new NetworkBuffer(HeapMemorySegment.FACTORY.allocateUnpooledSegment(threshold / 2, null), FreeingBufferRecycler.INSTANCE); writer.writeInput(new InputChannelInfo(1, 2), buffer); writer.completeOutput(); writer.completeInput(); assertTrue(result.isDone()); assertEquals(0, checkpointsDir.list().length); assertEquals(0, sharedStateDir.list().length); }
Example #2
Source File: RocksDBStateUploaderTest.java From Flink-CEPplus with Apache License 2.0 | 5 votes |
/** * Test that upload files with multi-thread correctly. */ @Test public void testMultiThreadUploadCorrectly() throws Exception { File checkpointPrivateFolder = temporaryFolder.newFolder("private"); Path checkpointPrivateDirectory = new Path(checkpointPrivateFolder.getPath()); File checkpointSharedFolder = temporaryFolder.newFolder("shared"); Path checkpointSharedDirectory = new Path(checkpointSharedFolder.getPath()); FileSystem fileSystem = checkpointPrivateDirectory.getFileSystem(); int fileStateSizeThreshold = 1024; FsCheckpointStreamFactory checkpointStreamFactory = new FsCheckpointStreamFactory(fileSystem, checkpointPrivateDirectory, checkpointSharedDirectory, fileStateSizeThreshold); String localFolder = "local"; temporaryFolder.newFolder(localFolder); int sstFileCount = 6; Map<StateHandleID, Path> sstFilePaths = generateRandomSstFiles(localFolder, sstFileCount, fileStateSizeThreshold); try (RocksDBStateUploader rocksDBStateUploader = new RocksDBStateUploader(5)) { Map<StateHandleID, StreamStateHandle> sstFiles = rocksDBStateUploader.uploadFilesToCheckpointFs(sstFilePaths, checkpointStreamFactory, new CloseableRegistry()); for (Map.Entry<StateHandleID, Path> entry : sstFilePaths.entrySet()) { assertStateContentEqual(entry.getValue(), sstFiles.get(entry.getKey()).openInputStream()); } } }
Example #3
Source File: RocksDBStateUploaderTest.java From flink with Apache License 2.0 | 5 votes |
/** * Test that upload files with multi-thread correctly. */ @Test public void testMultiThreadUploadCorrectly() throws Exception { File checkpointPrivateFolder = temporaryFolder.newFolder("private"); Path checkpointPrivateDirectory = new Path(checkpointPrivateFolder.getPath()); File checkpointSharedFolder = temporaryFolder.newFolder("shared"); Path checkpointSharedDirectory = new Path(checkpointSharedFolder.getPath()); FileSystem fileSystem = checkpointPrivateDirectory.getFileSystem(); int fileStateSizeThreshold = 1024; int writeBufferSize = 4096; FsCheckpointStreamFactory checkpointStreamFactory = new FsCheckpointStreamFactory( fileSystem, checkpointPrivateDirectory, checkpointSharedDirectory, fileStateSizeThreshold, writeBufferSize); String localFolder = "local"; temporaryFolder.newFolder(localFolder); int sstFileCount = 6; Map<StateHandleID, Path> sstFilePaths = generateRandomSstFiles(localFolder, sstFileCount, fileStateSizeThreshold); try (RocksDBStateUploader rocksDBStateUploader = new RocksDBStateUploader(5)) { Map<StateHandleID, StreamStateHandle> sstFiles = rocksDBStateUploader.uploadFilesToCheckpointFs(sstFilePaths, checkpointStreamFactory, new CloseableRegistry()); for (Map.Entry<StateHandleID, Path> entry : sstFilePaths.entrySet()) { assertStateContentEqual(entry.getValue(), sstFiles.get(entry.getKey()).openInputStream()); } } }
Example #4
Source File: RocksDBStateUploaderTest.java From flink with Apache License 2.0 | 5 votes |
/** * Test that upload files with multi-thread correctly. */ @Test public void testMultiThreadUploadCorrectly() throws Exception { File checkpointPrivateFolder = temporaryFolder.newFolder("private"); org.apache.flink.core.fs.Path checkpointPrivateDirectory = org.apache.flink.core.fs.Path.fromLocalFile(checkpointPrivateFolder); File checkpointSharedFolder = temporaryFolder.newFolder("shared"); org.apache.flink.core.fs.Path checkpointSharedDirectory = org.apache.flink.core.fs.Path.fromLocalFile(checkpointSharedFolder); FileSystem fileSystem = checkpointPrivateDirectory.getFileSystem(); int fileStateSizeThreshold = 1024; int writeBufferSize = 4096; FsCheckpointStreamFactory checkpointStreamFactory = new FsCheckpointStreamFactory( fileSystem, checkpointPrivateDirectory, checkpointSharedDirectory, fileStateSizeThreshold, writeBufferSize); String localFolder = "local"; temporaryFolder.newFolder(localFolder); int sstFileCount = 6; Map<StateHandleID, Path> sstFilePaths = generateRandomSstFiles(localFolder, sstFileCount, fileStateSizeThreshold); try (RocksDBStateUploader rocksDBStateUploader = new RocksDBStateUploader(5)) { Map<StateHandleID, StreamStateHandle> sstFiles = rocksDBStateUploader.uploadFilesToCheckpointFs(sstFilePaths, checkpointStreamFactory, new CloseableRegistry()); for (Map.Entry<StateHandleID, Path> entry : sstFilePaths.entrySet()) { assertStateContentEqual(entry.getValue(), sstFiles.get(entry.getKey()).openInputStream()); } } }
Example #5
Source File: ChannelStateCheckpointWriterTest.java From flink with Apache License 2.0 | 5 votes |
@Test public void testFileHandleSize() throws Exception { int numChannels = 3; int numWritesPerChannel = 4; int numBytesPerWrite = 5; ChannelStateWriteResult result = new ChannelStateWriteResult(); ChannelStateCheckpointWriter writer = createWriter( result, new FsCheckpointStreamFactory( getSharedInstance(), fromLocalFile(temporaryFolder.newFolder("checkpointsDir")), fromLocalFile(temporaryFolder.newFolder("sharedStateDir")), numBytesPerWrite - 1, numBytesPerWrite - 1).createCheckpointStateOutputStream(EXCLUSIVE)); InputChannelInfo[] channels = IntStream.range(0, numChannels).mapToObj(i -> new InputChannelInfo(0, i)).toArray(InputChannelInfo[]::new); for (int call = 0; call < numWritesPerChannel; call++) { for (int channel = 0; channel < numChannels; channel++) { write(writer, channels[channel], getData(numBytesPerWrite)); } } writer.completeInput(); writer.completeOutput(); for (InputChannelStateHandle handle : result.inputChannelStateHandles.get()) { assertEquals((Integer.BYTES + numBytesPerWrite) * numWritesPerChannel, handle.getStateSize()); } }