Skip to content

Commit

Permalink
0004933: SQLException Error when running SymmetricDS
Browse files Browse the repository at this point in the history
  • Loading branch information
erilong committed Apr 23, 2021
1 parent b4a612a commit c06c96f
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 9 deletions.
Expand Up @@ -79,6 +79,7 @@
import org.jumpmind.db.sql.ISqlRowMapper;
import org.jumpmind.db.sql.ISqlTransaction;
import org.jumpmind.db.sql.Row;
import org.jumpmind.db.sql.mapper.LongMapper;
import org.jumpmind.exception.IoException;
import org.jumpmind.symmetric.AbstractSymmetricEngine;
import org.jumpmind.symmetric.ISymmetricEngine;
Expand Down Expand Up @@ -2268,10 +2269,12 @@ protected void restartExtractRequest(List<OutgoingBatch> batches, ExtractRequest
}

public void releaseMissedExtractRequests() {
int missingCount = sqlTemplateDirty.queryForInt(getSql("countExtractChildRequestMissed"), Status.NE.name(), Status.OK.name());
if (missingCount > 0) {
log.info("Releasing {} child extract requests that missed processing by parent node", missingCount);
sqlTemplate.update(getSql("releaseExtractChildRequestMissed"), Status.NE.name(), Status.OK.name());
List<Long> requestIds = sqlTemplateDirty.query(getSql("selectExtractChildRequestIdsMissed"), new LongMapper(), Status.NE.name(), Status.OK.name());
if (requestIds != null && requestIds.size() > 0) {
log.info("Releasing {} child extract requests that missed processing by parent node", requestIds.size());
for (Long requestId : requestIds) {
sqlTemplate.update(getSql("releaseExtractChildRequestFromParent"), requestId);
}
}
}

Expand Down
Expand Up @@ -42,13 +42,12 @@ public DataExtractorServiceSqlMap(IDatabasePlatform platform,

putSql("selectExtractChildRequestsByParentSql", "select * from $(extract_request) where parent_request_id = ?");

putSql("countExtractChildRequestMissed",
"select count(*) from $(extract_request) where status = ? and parent_request_id > 0 "
putSql("selectExtractChildRequestIdsMissed",
"select request_id from $(extract_request) where status = ? and parent_request_id > 0 "
+ "and parent_request_id in (select request_id from $(extract_request) where parent_request_id = 0 and status = ?)");

putSql("releaseExtractChildRequestMissed",
"update $(extract_request) set parent_request_id = 0 where status = ? and parent_request_id > 0 "
+ "and parent_request_id in (select request_id from $(extract_request) where parent_request_id = 0 and status = ?)");
putSql("releaseExtractChildRequestFromParent",
"update $(extract_request) set parent_request_id = 0 where request_id = ?");

putSql("insertExtractRequestSql", "insert into $(extract_request) (request_id, node_id, queue, status, start_batch_id, end_batch_id, trigger_id, router_id, load_id, table_name, total_rows, parent_request_id, last_update_time, create_time) "
+ " values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, current_timestamp, current_timestamp)");
Expand Down

0 comments on commit c06c96f

Please sign in to comment.