Within its compute.close method, the JdbcRDD class has this interesting logic for closing jdbc connection:
try { if (null != conn && ! stmt.isClosed()) conn.close() logInfo("closed connection") } catch { case e: Exception => logWarning("Exception closing connection", e) } Notice that the second check is on stmt having been closed - not on the connection. I would wager this were not a simple oversight and there were some motivation for this logic- curious if anyone would be able to shed some light? My particular interest is that I have written custom ORM's in jdbc since late 90's and never did it this way.