private ThriftCASRequest(List<LegacyLayout.LegacyCell> expected, PartitionUpdate updates, int nowInSec) { this.metadata = updates.metadata(); this.key = updates.partitionKey(); this.expected = expected; this.updates = updates; this.nowInSec = nowInSec; }
public PaxosState(Commit promised, Commit accepted, Commit mostRecentCommit) { assert promised.update.partitionKey().equals(accepted.update.partitionKey()) && accepted.update.partitionKey().equals(mostRecentCommit.update.partitionKey()); assert promised.update.metadata() == accepted.update.metadata() && accepted.update.metadata() == mostRecentCommit.update.metadata(); this.promised = promised; this.accepted = accepted; this.mostRecentCommit = mostRecentCommit; }
public PaxosState(Commit promised, Commit accepted, Commit mostRecentCommit) { assert promised.update.partitionKey().equals(accepted.update.partitionKey()) && accepted.update.partitionKey().equals(mostRecentCommit.update.partitionKey()); assert promised.update.metadata() == accepted.update.metadata() && accepted.update.metadata() == mostRecentCommit.update.metadata(); this.promised = promised; this.accepted = accepted; this.mostRecentCommit = mostRecentCommit; }
public PrepareResponse(boolean promised, Commit inProgressCommit, Commit mostRecentCommit) { assert inProgressCommit.update.partitionKey().equals(mostRecentCommit.update.partitionKey()); assert inProgressCommit.update.metadata() == mostRecentCommit.update.metadata(); this.promised = promised; this.mostRecentCommit = mostRecentCommit; this.inProgressCommit = inProgressCommit; }
public PrepareResponse(boolean promised, Commit inProgressCommit, Commit mostRecentCommit) { assert inProgressCommit.update.partitionKey().equals(mostRecentCommit.update.partitionKey()); assert inProgressCommit.update.metadata() == mostRecentCommit.update.metadata(); this.promised = promised; this.mostRecentCommit = mostRecentCommit; this.inProgressCommit = inProgressCommit; }
public Mutation(PartitionUpdate update) { this(update.metadata().ksName, update.partitionKey(), Collections.singletonMap(update.metadata().cfId, update)); }
private void validateSamePartition(UUID cfId, DecoratedKey key, PartitionUpdate update) throws InvalidRequestException { if (!key.equals(update.partitionKey())) throw new InvalidRequestException("Partition key of additional mutation does not match primary update key"); if (!cfId.equals(update.metadata().cfId)) throw new InvalidRequestException("table of additional mutation does not match primary update table"); }
private void validateSamePartition(UUID cfId, DecoratedKey key, PartitionUpdate update) throws InvalidRequestException { if (!key.equals(update.partitionKey())) throw new InvalidRequestException("Partition key of additional mutation does not match primary update key"); if (!cfId.equals(update.metadata().cfId)) throw new InvalidRequestException("table of additional mutation does not match primary update table"); }
@SuppressWarnings("deprecation") public static void handleLegacyMutation(Mutation mutation) { PartitionUpdate update = mutation.getPartitionUpdate(SystemKeyspace.LegacyBatchlog.cfId); logger.trace("Applying legacy batchlog mutation {}", update); update.forEach(row -> apply(UntypedResultSet.Row.fromInternalRow(update.metadata(), update.partitionKey(), row), -1)); }
@SuppressWarnings("deprecation") public static void handleLegacyMutation(Mutation mutation) { PartitionUpdate update = mutation.getPartitionUpdate(SystemKeyspace.LegacyBatchlog.cfId); logger.trace("Applying legacy batchlog mutation {}", update); update.forEach(row -> apply(UntypedResultSet.Row.fromInternalRow(update.metadata(), update.partitionKey(), row), -1)); }
public long serializedSize(Commit commit, int version) { int size = 0; if (version < MessagingService.VERSION_30) size += ByteBufferUtil.serializedSizeWithShortLength(commit.update.partitionKey().getKey()); return size + UUIDSerializer.serializer.serializedSize(commit.ballot, version) + PartitionUpdate.serializer.serializedSize(commit.update, version); } }
public void serialize(Commit commit, DataOutputPlus out, int version) throws IOException { if (version < MessagingService.VERSION_30) ByteBufferUtil.writeWithShortLength(commit.update.partitionKey().getKey(), out); UUIDSerializer.serializer.serialize(commit.ballot, out, version); PartitionUpdate.serializer.serialize(commit.update, out, version); }
public void serialize(Commit commit, DataOutputPlus out, int version) throws IOException { if (version < MessagingService.VERSION_30) ByteBufferUtil.writeWithShortLength(commit.update.partitionKey().getKey(), out); UUIDSerializer.serializer.serialize(commit.ballot, out, version); PartitionUpdate.serializer.serialize(commit.update, out, version); }
public long serializedSize(Commit commit, int version) { int size = 0; if (version < MessagingService.VERSION_30) size += ByteBufferUtil.serializedSizeWithShortLength(commit.update.partitionKey().getKey()); return size + UUIDSerializer.serializer.serializedSize(commit.ballot, version) + PartitionUpdate.serializer.serializedSize(commit.update, version); } }
public static void savePaxosPromise(Commit promise) { String req = "UPDATE system.%s USING TIMESTAMP ? AND TTL ? SET in_progress_ballot = ? WHERE row_key = ? AND cf_id = ?"; executeInternal(String.format(req, PAXOS), UUIDGen.microsTimestamp(promise.ballot), paxosTtlSec(promise.update.metadata()), promise.ballot, promise.update.partitionKey().getKey(), promise.update.metadata().cfId); }
public static void savePaxosPromise(Commit promise) { String req = "UPDATE system.%s USING TIMESTAMP ? AND TTL ? SET in_progress_ballot = ? WHERE row_key = ? AND cf_id = ?"; executeInternal(String.format(req, PAXOS), UUIDGen.microsTimestamp(promise.ballot), paxosTtlSec(promise.update.metadata()), promise.ballot, promise.update.partitionKey().getKey(), promise.update.metadata().cfId); }
public static void savePaxosProposal(Commit proposal) { executeInternal(String.format("UPDATE system.%s USING TIMESTAMP ? AND TTL ? SET proposal_ballot = ?, proposal = ?, proposal_version = ? WHERE row_key = ? AND cf_id = ?", PAXOS), UUIDGen.microsTimestamp(proposal.ballot), paxosTtlSec(proposal.update.metadata()), proposal.ballot, PartitionUpdate.toBytes(proposal.update, MessagingService.current_version), MessagingService.current_version, proposal.update.partitionKey().getKey(), proposal.update.metadata().cfId); }
public static void savePaxosProposal(Commit proposal) { executeInternal(String.format("UPDATE system.%s USING TIMESTAMP ? AND TTL ? SET proposal_ballot = ?, proposal = ?, proposal_version = ? WHERE row_key = ? AND cf_id = ?", PAXOS), UUIDGen.microsTimestamp(proposal.ballot), paxosTtlSec(proposal.update.metadata()), proposal.ballot, PartitionUpdate.toBytes(proposal.update, MessagingService.current_version), MessagingService.current_version, proposal.update.partitionKey().getKey(), proposal.update.metadata().cfId); }
public static void savePaxosProposal(Commit proposal) { executeInternal(String.format("UPDATE system.%s USING TIMESTAMP ? AND TTL ? SET proposal_ballot = ?, proposal = ?, proposal_version = ? WHERE row_key = ? AND cf_id = ?", PAXOS), UUIDGen.microsTimestamp(proposal.ballot), paxosTtlSec(proposal.update.metadata()), proposal.ballot, PartitionUpdate.toBytes(proposal.update, MessagingService.current_version), MessagingService.current_version, proposal.update.partitionKey().getKey(), proposal.update.metadata().cfId); }
private static PrepareCallback preparePaxos(Commit toPrepare, List<InetAddress> endpoints, int requiredParticipants, ConsistencyLevel consistencyForPaxos, long queryStartNanoTime) throws WriteTimeoutException { PrepareCallback callback = new PrepareCallback(toPrepare.update.partitionKey(), toPrepare.update.metadata(), requiredParticipants, consistencyForPaxos, queryStartNanoTime); MessageOut<Commit> message = new MessageOut<Commit>(MessagingService.Verb.PAXOS_PREPARE, toPrepare, Commit.serializer); for (InetAddress target : endpoints) MessagingService.instance().sendRR(message, target, callback); callback.await(); return callback; }