more fixes to prevent DB deadlocks
This commit is contained in:
parent
a747c48458
commit
780a17834c
2 changed files with 5 additions and 2 deletions
|
@ -77,7 +77,9 @@ public abstract class AbstractPingIndicator extends AbstractClientIndicator {
|
|||
// Update last ping time on persistent storage
|
||||
final long millisecondsNow = DateTimeUtils.currentTimeMillis();
|
||||
if (millisecondsNow - this.lastUpdate > INTERVAL_FOR_PERSISTENT_UPDATE) {
|
||||
this.distributedPingCache.updatePing(this.pingRecord, millisecondsNow);
|
||||
synchronized (this) {
|
||||
this.distributedPingCache.updatePing(this.pingRecord, millisecondsNow);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@ import org.springframework.beans.factory.DisposableBean;
|
|||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.scheduling.TaskScheduler;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Isolation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.model.session.ClientEvent.EventType;
|
||||
|
@ -180,7 +181,7 @@ public class DistributedPingCache implements DisposableBean {
|
|||
}
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
@Transactional(readOnly = true, isolation = Isolation.READ_UNCOMMITTED)
|
||||
public void updateCache() {
|
||||
|
||||
if (this.pingCache.isEmpty()) {
|
||||
|
|
Loading…
Reference in a new issue