: However, I tested this against a slower SQL Server and I saw : dramatically worse results. Instead of re-using their database, each of : the sub-entities is recreating a connection each time the query runs.
are you seeing any specific errors logged before these new connections are created? I don't *think* there's anything in the DIH JDBC/SQL code that causes it to timeout existing connections -- is it possible this is sometihng specific to the JDBC Driver you are using? Or maybe you are using the DIH "threads" option along with a JNDI/JDBC based pool of connections that is configured to create new Connections on demand, and with the fast DB it can reuse them but on the slow DB it does enough stuff in parallel to keep asking for new connections to be created? If it's DIH creating new connections over and over then i'm pretty sure you should see an INFO level log message like this for each connection... LOG.info("Creating a connection for entity " + context.getEntityAttribute(DataImporter.NAME) + " with URL: " + url); ...are those messages different against you fast DB and your slow DB? -Hoss