mirror of https://github.com/apache/cassandra
inline
This commit is contained in:
parent
134e0226e4
commit
0b26c778bc
|
|
@ -168,14 +168,14 @@ public class CommitLogArchiver
|
|||
throw new IllegalStateException("Cannot safely construct descriptor for segment, either from its name or its header: " + fromFile.getPath());
|
||||
else if (fromHeader != null && fromName != null && !fromHeader.equals(fromName))
|
||||
throw new IllegalStateException(String.format("Cannot safely construct descriptor for segment, as name and header descriptors do not match (%s vs %s): %s", fromHeader, fromName, fromFile.getPath()));
|
||||
else if (fromName != null && fromHeader == null && fromName.getVersion() >= CommitLogDescriptor.VERSION_21)
|
||||
else if (fromName != null && fromHeader == null && fromName.version >= CommitLogDescriptor.VERSION_21)
|
||||
throw new IllegalStateException("Cannot safely construct descriptor for segment, as name descriptor implies a version that should contain a header descriptor, but that descriptor could not be read: " + fromFile.getPath());
|
||||
else if (fromHeader != null)
|
||||
descriptor = fromHeader;
|
||||
else descriptor = fromName;
|
||||
|
||||
if (descriptor.getVersion() > CommitLogDescriptor.VERSION_21)
|
||||
throw new IllegalStateException("Unsupported commit log version: " + descriptor.getVersion());
|
||||
if (descriptor.version > CommitLogDescriptor.VERSION_21)
|
||||
throw new IllegalStateException("Unsupported commit log version: " + descriptor.version);
|
||||
|
||||
File toFile = new File(DatabaseDescriptor.getCommitLogLocation(), descriptor.fileName());
|
||||
if (toFile.exists())
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ public class CommitLogDescriptor
|
|||
// [version, id, checksum]
|
||||
static final int HEADER_SIZE = 4 + 8 + 4;
|
||||
|
||||
private final int version;
|
||||
final int version;
|
||||
public final long id;
|
||||
|
||||
public CommitLogDescriptor(int version, long id)
|
||||
|
|
@ -132,11 +132,6 @@ public class CommitLogDescriptor
|
|||
}
|
||||
}
|
||||
|
||||
public int getVersion()
|
||||
{
|
||||
return version;
|
||||
}
|
||||
|
||||
public String fileName()
|
||||
{
|
||||
return FILENAME_PREFIX + version + SEPARATOR + id + FILENAME_EXTENSION;
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ import java.io.*;
|
|||
import java.util.*;
|
||||
import java.util.concurrent.Future;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.zip.Checksum;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.collect.HashMultimap;
|
||||
|
|
@ -129,7 +128,7 @@ public class CommitLogReplayer
|
|||
crc.updateInt((int) reader.getPosition());
|
||||
int end = reader.readInt();
|
||||
long filecrc;
|
||||
if (descriptor.getVersion() < CommitLogDescriptor.VERSION_21)
|
||||
if (descriptor.version < CommitLogDescriptor.VERSION_21)
|
||||
filecrc = reader.readLong();
|
||||
else
|
||||
filecrc = reader.readInt() & 0xffffffffL;
|
||||
|
|
@ -234,14 +233,14 @@ public class CommitLogReplayer
|
|||
final long segmentId = desc.id;
|
||||
logger.info("Replaying {} (CL version {}, messaging version {})",
|
||||
file.getPath(),
|
||||
desc.getVersion(),
|
||||
desc.version,
|
||||
desc.getMessagingVersion());
|
||||
RandomAccessReader reader = RandomAccessReader.open(new File(file.getAbsolutePath()));
|
||||
|
||||
try
|
||||
{
|
||||
assert reader.length() <= Integer.MAX_VALUE;
|
||||
int offset = getStartOffset(segmentId, desc.getVersion());
|
||||
int offset = getStartOffset(segmentId, desc.version);
|
||||
if (offset < 0)
|
||||
{
|
||||
logger.debug("skipping replay of fully-flushed {}", file);
|
||||
|
|
@ -253,7 +252,7 @@ public class CommitLogReplayer
|
|||
{
|
||||
|
||||
int end = prevEnd;
|
||||
if (desc.getVersion() < CommitLogDescriptor.VERSION_21)
|
||||
if (desc.version < CommitLogDescriptor.VERSION_21)
|
||||
end = Integer.MAX_VALUE;
|
||||
else
|
||||
{
|
||||
|
|
@ -295,12 +294,12 @@ public class CommitLogReplayer
|
|||
break main;
|
||||
|
||||
long claimedSizeChecksum;
|
||||
if (desc.getVersion() < CommitLogDescriptor.VERSION_21)
|
||||
if (desc.version < CommitLogDescriptor.VERSION_21)
|
||||
claimedSizeChecksum = reader.readLong();
|
||||
else
|
||||
claimedSizeChecksum = reader.readInt() & 0xffffffffL;
|
||||
checksum.reset();
|
||||
if (desc.getVersion() < CommitLogDescriptor.VERSION_20)
|
||||
if (desc.version < CommitLogDescriptor.VERSION_20)
|
||||
checksum.update(serializedSize);
|
||||
else
|
||||
checksum.updateInt(serializedSize);
|
||||
|
|
@ -312,7 +311,7 @@ public class CommitLogReplayer
|
|||
if (serializedSize > buffer.length)
|
||||
buffer = new byte[(int) (1.2 * serializedSize)];
|
||||
reader.readFully(buffer, 0, serializedSize);
|
||||
if (desc.getVersion() < CommitLogDescriptor.VERSION_21)
|
||||
if (desc.version < CommitLogDescriptor.VERSION_21)
|
||||
claimedCRC32 = reader.readLong();
|
||||
else
|
||||
claimedCRC32 = reader.readInt() & 0xffffffffL;
|
||||
|
|
@ -429,7 +428,7 @@ public class CommitLogReplayer
|
|||
}
|
||||
}
|
||||
|
||||
if (desc.getVersion() < CommitLogDescriptor.VERSION_21)
|
||||
if (desc.version < CommitLogDescriptor.VERSION_21)
|
||||
break;
|
||||
|
||||
offset = end + CommitLogSegment.SYNC_MARKER_SIZE;
|
||||
|
|
|
|||
Loading…
Reference in New Issue