Skip to content

Commit

Permalink
0003550: Timeouts on routing query and purge service
Browse files Browse the repository at this point in the history
  • Loading branch information
erilong committed May 7, 2018
1 parent fe8e48c commit 569f710
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 4 deletions.
Expand Up @@ -144,7 +144,13 @@ protected void execute() {
|| !symmetricDialect.supportsTransactionId();

processInfo.setStatus(ProcessStatus.QUERYING);
cursor = prepareCursor();
try {
cursor = prepareCursor();
} catch (RuntimeException e) {
log.info("Failed to execute query, but will try again", e);
AppUtils.sleep(1000);
cursor = prepareCursor();
}
processInfo.setStatus(ProcessStatus.EXTRACTING);
boolean moreData = true;
while (dataCount < maxDataToRoute || (lastTransactionId != null && transactional)) {
Expand Down
Expand Up @@ -46,6 +46,7 @@
import org.jumpmind.symmetric.service.IParameterService;
import org.jumpmind.symmetric.service.IPurgeService;
import org.jumpmind.symmetric.statistic.IStatisticManager;
import org.jumpmind.util.AppUtils;

/**
* @see IPurgeService
Expand Down Expand Up @@ -78,7 +79,14 @@ public long purgeOutgoing(boolean force) {
Calendar retentionCutoff = Calendar.getInstance();
retentionCutoff.add(Calendar.MINUTE,
-parameterService.getInt(ParameterConstants.PURGE_RETENTION_MINUTES));
rowsPurged += purgeOutgoing(retentionCutoff, force);

try {
rowsPurged += purgeOutgoing(retentionCutoff, force);
} catch (RuntimeException e) {
log.info("Failed to execute purge, but will try again", e);
AppUtils.sleep(1000);
rowsPurged += purgeOutgoing(retentionCutoff, force);
}

List<IPurgeListener> purgeListeners = extensionService.getExtensionPointList(IPurgeListener.class);
for (IPurgeListener purgeListener : purgeListeners) {
Expand All @@ -92,8 +100,15 @@ public long purgeIncoming(boolean force) {
Calendar retentionCutoff = Calendar.getInstance();
retentionCutoff.add(Calendar.MINUTE,
-parameterService.getInt(ParameterConstants.PURGE_RETENTION_MINUTES));
rowsPurged += purgeIncoming(retentionCutoff, force);


try {
rowsPurged += purgeIncoming(retentionCutoff, force);
} catch (RuntimeException e) {
log.info("Failed to execute purge, but will try again", e);
AppUtils.sleep(1000);
rowsPurged += purgeIncoming(retentionCutoff, force);
}

List<IPurgeListener> purgeListeners = extensionService.getExtensionPointList(IPurgeListener.class);
for (IPurgeListener purgeListener : purgeListeners) {
rowsPurged += purgeListener.purgeIncoming(force);
Expand Down

0 comments on commit 569f710

Please sign in to comment.