Skip to content

Commit

Permalink
#302 Update logic and improve debug output
Browse files Browse the repository at this point in the history
  • Loading branch information
dvoraka committed Jan 15, 2018
1 parent e6684f4 commit 0218d09
Showing 1 changed file with 17 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -328,8 +328,7 @@ private boolean lockLocalFile(String filename, String owner, boolean localLock)

synchronized (lockedFiles) {
if (isLocalFileLocked(filename, owner)) {
log.debug("File is already locked {}: {}, {}",
idString, filename, owner);
log.debug("File is already locked {}: {}, {}", idString, filename, owner);

return false;
} else {
Expand Down Expand Up @@ -414,19 +413,27 @@ private void sequence(ReplicationMessage message) {
}

private void lock(ReplicationMessage message) {
if (getSequence() == message.getSequence()) {
log.debug("Locking {}: {}, {}...", idString, message.getFilename(), message.getOwner());

if (lockingLock.tryLock()
&& lockLocalFile(message.getFilename(), message.getOwner(), false)) {
if (getSequence() != message.getSequence()) {
log.debug("Bad sequence {}: {}", idString, message.getSequence());
serviceClient.sendMessage(createLockFailedReply(message, getSequence(), nodeId));

incSequence();
return;
}

if (lockingLock.tryLock()) {
try {
if (lockLocalFile(message.getFilename(), message.getOwner(), false)) {
incSequence();
log.info("Lock success {}.", idString);
serviceClient.sendMessage(createLockSuccessReply(message, nodeId));
}
} finally {
lockingLock.unlock();
serviceClient.sendMessage(createLockSuccessReply(message, nodeId));
} else {
serviceClient.sendMessage(createLockFailedReply(message, getSequence(), nodeId));
}
} else {
log.debug("Bad sequence {}: {}", idString, message.getSequence());
log.debug("Can't acquire lock {}.", idString);
serviceClient.sendMessage(createLockFailedReply(message, getSequence(), nodeId));
}
}
Expand Down

0 comments on commit 0218d09

Please sign in to comment.