From our discussion with Sanne:
The transaction timeout in tests should be low (2000ms), so that we trigger timeouts
Ideally, the mass indexer should "ping" the transaction manager regularly to postpone the timeout as long as the mass indexer is still
currently, the old mass indexer uses org.hibernate.search.batchindexing.impl.OptionallyWrapInJTATransaction to open very long transactions
The spec only mandates that transactions are created in the EE case, so we can't control transaction duration in the Java SE case (some implementations such as Spring Batch may be creating transactions, but in a non-standard way).
And even in the EE case, transactions only last as long as a chunk, so users actually have the power to reduce the chunk length to avoid transaction timeouts.
Closing for now, let's see if someone comes up with an actual usage issue.