@Override public PartitionRemoteFileOps getPartitionRemoteFileOps(RemoteLocation location, int partitionNumber) throws IOException { return partitionRemoteFileOpsFactory.getPartitionRemoteFileOps(getRoot(location), partitionNumber); }
@Override public PartitionRemoteFileOps getPartitionRemoteFileOps(RemoteLocation location, int partitionNumber) throws IOException { return partitionRemoteFileOpsFactory.getPartitionRemoteFileOps(getRoot(location), partitionNumber); }
private void setNewPartitionWriter(int partitionNumber) throws IOException { // First, close current writer closeCurrentWriterIfNeeded(); LOG.info("Setting up new writer for partition " + partitionNumber); // Check for existing partitions if (writtenPartitions.contains(partitionNumber)) { throw new RuntimeException("Partition " + partitionNumber + " has already been written."); } // Set up new writer writerOutputPath = new Path(outputPath, "partition_" + partitionNumber + "_" + UUID.randomUUID().toString()); numRecordsWritten = 0; writerPartition = partitionNumber; writtenPartitions.add(partitionNumber); writer = getWriter(storageEngine, domainVersion, storageEngine.getPartitionRemoteFileOpsFactory(StorageEngine.RemoteLocation.DOMAIN_BUILDER).getPartitionRemoteFileOps(writerOutputPath.toString(), partitionNumber), partitionNumber); }
@Override public void deleteVersion(int versionNumber) throws IOException { for (int partition = 0; partition < domain.getNumParts(); ++partition) { PartitionRemoteFileOps fileOps = fileOpsFactory.getPartitionRemoteFileOps(remoteDomainRoot, partition); fileOps.attemptDelete(Cueball.getName(versionNumber, true)); fileOps.attemptDelete(Cueball.getName(versionNumber, false)); } } }
@Override public void deleteVersion(int versionNumber) throws IOException { for (int partition = 0; partition < domain.getNumParts(); ++partition) { PartitionRemoteFileOps fileOps = fileOpsFactory.getPartitionRemoteFileOps(remoteDomainRoot, partition); fileOps.attemptDelete(Cueball.getName(versionNumber, true)); fileOps.attemptDelete(Cueball.getName(versionNumber, false)); fileOps.attemptDelete(Curly.getName(versionNumber, true)); fileOps.attemptDelete(Curly.getName(versionNumber, false)); } } }