You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by ss...@apache.org on 2013/11/15 21:18:28 UTC
[2/2] git commit: retry on failed connection flush
retry on failed connection flush
Project: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/commit/7d848bdc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/tree/7d848bdc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/diff/7d848bdc
Branch: refs/heads/develop
Commit: 7d848bdc7a62cf785a606dc19bb5649e2257fa78
Parents: 869f2ae
Author: Sebastian Schaffert <ss...@apache.org>
Authored: Fri Nov 15 21:18:22 2013 +0100
Committer: Sebastian Schaffert <ss...@apache.org>
Committed: Fri Nov 15 21:18:22 2013 +0100
----------------------------------------------------------------------
.../marmotta/kiwi/loader/pgsql/KiWiPostgresHandler.java | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/7d848bdc/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/pgsql/KiWiPostgresHandler.java
----------------------------------------------------------------------
diff --git a/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/pgsql/KiWiPostgresHandler.java b/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/pgsql/KiWiPostgresHandler.java
index 3e6b0eb..95fe083 100644
--- a/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/pgsql/KiWiPostgresHandler.java
+++ b/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/pgsql/KiWiPostgresHandler.java
@@ -145,8 +145,16 @@ public class KiWiPostgresHandler extends KiWiHandler implements RDFHandler {
count++;
if(count % config.getCommitBatchSize() == 0) {
- flushBacklog();
- connection.commit();
+ try {
+ flushBacklog();
+ connection.commit();
+ } catch (SQLException ex) {
+ log.warn("could not flush out data ({}), retrying with fresh connection", ex.getCause().getMessage());
+ connection.close();
+ connection = store.getPersistence().getConnection();
+ flushBacklog();
+ connection.commit();
+ }
log.info("imported {} triples ({}/sec)", count, (config.getCommitBatchSize() * 1000) / (System.currentTimeMillis() - previous));
previous = System.currentTimeMillis();