Found it. Though there are indeed separate transactions for the bulk
copy v. target update, I had missed that there is an over-arching
transaction in play and of course when things go south, /all/ things go
south.
I get away with this, for now by bumping the tomcat idle time to an
hour, which is serious overkill.