(replicaToDelete != replica1) ? replica1 : replica2; volumeMap.add(bpid, replicaToKeep); if (replicaToDelete != null) { deleteReplica(replicaToDelete);
volumeMap.add(bpid, info);
rur = new ReplicaBuilder(ReplicaState.RUR) .from(replica).setRecoveryId(recoveryId).build(); map.add(bpid, rur); LOG.info("initReplicaRecovery: changing replica state for " + block + " from " + replica.getState()
volumeMap.add(bpid, rip.getReplicaInfo()); return rip;
volumeMap.add(bpid, newReplicaInfo.getReplicaInfo()); finalizeReplica(bpid, newReplicaInfo.getReplicaInfo());
volumeMap.add(b.getBlockPoolId(), rbw.getReplicaInfo()); return rbw;
replicaInfo, replicaState); volumeMap.add(bpid, newReplicaInfo);
: "Replica should be finalized"; volumeMap.add(bpid, newReplicaInfo); return newReplicaInfo;
volumeMap.add(b.getBlockPoolId(), newReplicaInfo.getReplicaInfo()); return new ReplicaHandler(newReplicaInfo, ref);
volumeMap.add(b.getBlockPoolId(), newReplicaInfo.getReplicaInfo()); return new ReplicaHandler(newReplicaInfo, ref);
(replicaToDelete != replica1) ? replica1 : replica2; volumeMap.add(bpid, replicaToKeep); if (replicaToDelete != null) { deleteReplica(replicaToDelete);
(replicaToDelete != replica1) ? replica1 : replica2; volumeMap.add(bpid, replicaToKeep); if (replicaToDelete != null) { deleteReplica(replicaToDelete);
@Test public void testAdd() { // Test 1: null argument throws invalid argument exception try { map.add(bpid, null); fail("Expected exception not thrown"); } catch (IllegalArgumentException expected) { } }
@Before public void setup() { map.add(bpid, new FinalizedReplica(block, null, null)); }
volumeMap.add(bpid, newReplicaInfo);
private synchronized FinalizedReplica finalizeReplica(String bpid, ReplicaInfo replicaInfo) throws IOException { FinalizedReplica newReplicaInfo = null; if (replicaInfo.getState() == ReplicaState.RUR && ((ReplicaUnderRecovery)replicaInfo).getOriginalReplica().getState() == ReplicaState.FINALIZED) { newReplicaInfo = (FinalizedReplica) ((ReplicaUnderRecovery)replicaInfo).getOriginalReplica(); } else { FsVolumeImpl v = (FsVolumeImpl)replicaInfo.getVolume(); File f = replicaInfo.getBlockFile(); if (v == null) { throw new IOException("No volume for temporary file " + f + " for block " + replicaInfo); } File dest = v.addFinalizedBlock( bpid, replicaInfo, f, replicaInfo.getBytesReserved()); newReplicaInfo = new FinalizedReplica(replicaInfo, v, dest.getParentFile()); if (v.isTransientStorage()) { ramDiskReplicaTracker.addReplica(bpid, replicaInfo.getBlockId(), v); datanode.getMetrics().addRamDiskBytesWrite(replicaInfo.getNumBytes()); } } volumeMap.add(bpid, newReplicaInfo); return newReplicaInfo; }
volumeMap.add(b.getBlockPoolId(), newReplicaInfo); return new ReplicaHandler(newReplicaInfo, ref);
@Test public void testRemove() { // Test 1: null argument throws invalid argument exception try { map.remove(bpid, null); fail("Expected exception not thrown"); } catch (IllegalArgumentException expected) { } // Test 2: remove failure - generation stamp mismatch Block b = new Block(block); b.setGenerationStamp(0); assertNull(map.remove(bpid, b)); // Test 3: remove failure - blockID mismatch b.setGenerationStamp(block.getGenerationStamp()); b.setBlockId(0); assertNull(map.remove(bpid, b)); // Test 4: remove success assertNotNull(map.remove(bpid, block)); // Test 5: remove failure - invalid blockID assertNull(map.remove(bpid, 0)); // Test 6: remove success map.add(bpid, new FinalizedReplica(block, null, null)); assertNotNull(map.remove(bpid, block.getBlockId())); } }