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();