diff --git a/src/main/scala/com/singlestore/spark/SinglestoreLoadDataWriter.scala b/src/main/scala/com/singlestore/spark/SinglestoreLoadDataWriter.scala index 360a1d34..5ee5c43c 100644 --- a/src/main/scala/com/singlestore/spark/SinglestoreLoadDataWriter.scala +++ b/src/main/scala/com/singlestore/spark/SinglestoreLoadDataWriter.scala @@ -249,9 +249,14 @@ class LoadDataWriter(createDatabaseWriter: () => (OutputStream, Future[Long]), c } override def commit(): WriterCommitMessage = { - Try(outputstream.close()) - Await.result(writeFuture, Duration.Inf) - conn.commit() + try { + Try(outputstream.close()) + Await.result(writeFuture, Duration.Inf) + conn.commit() + } finally { + conn.close() + } + new WriteSuccess } @@ -323,10 +328,15 @@ class AvroDataWriter(avroSchema: Schema, } override def commit(): WriterCommitMessage = { - encoder.flush() - Try(outputstream.close()) - Await.result(writeFuture, Duration.Inf) - conn.commit() + try { + encoder.flush() + Try(outputstream.close()) + Await.result(writeFuture, Duration.Inf) + conn.commit() + } finally { + conn.close() + } + new WriteSuccess }