ネストしたトランザクションの二重管理で connection is not initialized が起きる
データベース
バックエンド
デバッグ
HTTPのcontrollerにトランザクションInterceptorを付け、さらにservice内でも executeInTransaction などでトランザクションを開始すると、内側が外側のconnectionをcommit/releaseした後、外側のInterceptorがもう一度commitしようとして 'connection is not initialized' となる。トランザクション境界は一本化し、controllerでInterceptorを使うならservice内の executeInTransaction を外す。ログで 'Version conflict detected, retrying' が並発してもそれは別件(OpenSearch retry等)のことがあるので、最後のcommitで落ちている点に注目する。