locationtech/geogig

RepositoryBusyException when import to PostgreSQL backend storage.

chaki1019 opened this issue · 0 comments

When importing from PostGIS to the PostgreSQL storage backend, I get a RepositoryBusyException.
This doesn't happen with a small amount of data, but it seems to happen with a large amount of data.
Is there a way to avoid it?

I using

  • Java Oracle JDK 1.8.0_271
  • PostgreSQL v12
  • Windows 10 20H2

Thanks!

2020-11-02 23:50:46,035 ERROR [main] o.l.g.c.GeogigCLI [GeogigCLI.java:399] An unhandled error occurred: java.util.concurrent.ExecutionException: org.locationtech.geogig.repository.impl.RepositoryBusyException: No available connections to the repository.. See the log for more details.
java.lang.RuntimeException: java.util.concurrent.ExecutionException: org.locationtech.geogig.repository.impl.RepositoryBusyException: No available connections to the repository.
	at org.locationtech.geogig.storage.postgresql.v9.PGObjectStore.putAll(PGObjectStore.java:839) ~[geogig-postgres-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.remotes.pack.LocalPackProcessor.putAll(LocalPackProcessor.java:31) ~[geogig-remoting-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.remotes.pack.PackImpl.applyToPreOrder(PackImpl.java:143) ~[geogig-remoting-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.remotes.pack.PackImpl.applyTo(PackImpl.java:90) ~[geogig-remoting-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.remotes.pack.ReceivePackOp._call(ReceivePackOp.java:42) ~[geogig-remoting-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.remotes.pack.ReceivePackOp._call(ReceivePackOp.java:32) ~[geogig-remoting-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) ~[geogig-api-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.remotes.pack.SendPackOp._call(SendPackOp.java:60) ~[geogig-remoting-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.remotes.pack.SendPackOp._call(SendPackOp.java:40) ~[geogig-remoting-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) ~[geogig-api-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.remotes.pack.PushOp._call(PushOp.java:141) ~[geogig-remoting-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.remotes.pack.PushOp._call(PushOp.java:111) ~[geogig-remoting-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) ~[geogig-api-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.remotes.PushOp._call(PushOp.java:120) ~[geogig-remoting-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.remotes.PushOp._call(PushOp.java:42) ~[geogig-remoting-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) ~[geogig-api-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.cli.porcelain.Push.runInternal(Push.java:67) ~[geogig-cli-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) ~[geogig-cli-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) ~[geogig-cli-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) ~[geogig-cli-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.cli.app.CLI.run(CLI.java:95) [geogig-cli-app-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.cli.app.CLI.main(CLI.java:113) [geogig-cli-app-1.2.1.jar:1.2.1]
Caused by: java.util.concurrent.ExecutionException: org.locationtech.geogig.repository.impl.RepositoryBusyException: No available connections to the repository.
	at java.util.concurrent.FutureTask.report(Unknown Source) ~[na:1.8.0_271]
	at java.util.concurrent.FutureTask.get(Unknown Source) ~[na:1.8.0_271]
	at org.locationtech.geogig.storage.postgresql.v9.PGObjectStore.putAll(PGObjectStore.java:836) ~[geogig-postgres-1.2.1.jar:1.2.1]
	... 21 common frames omitted
Caused by: org.locationtech.geogig.repository.impl.RepositoryBusyException: No available connections to the repository.
	at org.locationtech.geogig.storage.postgresql.config.PGStorage.newConnection(PGStorage.java:105) ~[geogig-postgres-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.storage.postgresql.v9.PGObjectStore$InsertDbOp.call(PGObjectStore.java:679) ~[geogig-postgres-1.2.1.jar:1.2.1]
	at org.locationtech.geogig.storage.postgresql.v9.PGObjectStore$InsertDbOp.call(PGObjectStore.java:649) ~[geogig-postgres-1.2.1.jar:1.2.1]
	at java.util.concurrent.FutureTask.run(Unknown Source) ~[na:1.8.0_271]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:1.8.0_271]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:1.8.0_271]
	at java.lang.Thread.run(Unknown Source) ~[na:1.8.0_271]
Caused by: java.sql.SQLTransientConnectionException: HikariPool-2 - Connection is not available, request timed out after 5005ms.
	at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:196) ~[HikariCP-2.4.2.jar:na]
	at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:148) ~[HikariCP-2.4.2.jar:na]
	at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:83) ~[HikariCP-2.4.2.jar:na]
	at org.locationtech.geogig.storage.postgresql.config.PGStorage.newConnection(PGStorage.java:102) ~[geogig-postgres-1.2.1.jar:1.2.1]
	... 6 common frames omitted