diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/TransactionRunnerImpl.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/TransactionRunnerImpl.java index febd34f4728..438f158195f 100644 --- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/TransactionRunnerImpl.java +++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/TransactionRunnerImpl.java @@ -484,13 +484,13 @@ public long executeUpdate(Statement statement) { try { com.google.spanner.v1.ResultSet resultSet = rpc.executeQuery(builder.build(), session.getOptions()); + if (resultSet.getMetadata().hasTransaction()) { + onTransactionMetadata(resultSet.getMetadata().getTransaction()); + } if (!resultSet.hasStats()) { throw new IllegalArgumentException( "DML response missing stats possibly due to non-DML statement as input"); } - if (resultSet.getMetadata().hasTransaction()) { - onTransactionMetadata(resultSet.getMetadata().getTransaction()); - } // For standard DML, using the exact row count. return resultSet.getStats().getRowCountExact(); } catch (SpannerException e) {