googleapis / googleapis/google-cloud-java

[java-firestore] `ServerSideTransaction.execute` ignores `PipelineExecuteOptions` argument

Abierto
#13,094 0 comentarios 0 reacciones 1 asignado Reclamado por @MarkDuckworth Ver en GitHub
api: firestore
Lenguaje dominante
Java
Estrellas
2.1k
Forks
1.2k
Merge medio
1 d 23 h
PR fusionados (30 d)
154

Descripción

**Description:**

When executing a pipeline within a transaction, the `ServerSideTransaction.execute` method that accepts a `PipelineExecuteOptions` parameter completely ignores it and instantiates an empty options object instead.

**Steps to Reproduce / Code Snippet:**
In `google-cloud-firestore/src/main/java/com/google/cloud/firestore/ServerSideTransaction.java`:

```java
@Nonnull
@Override
public ApiFuture execute(
@Nonnull Pipeline pipeline, @Nonnull PipelineExecuteOptions options) {
try (TraceUtil.Scope ignored = transactionTraceContext.makeCurrent()) {
// BUG: ignores the 'options' parameter entirely
return pipeline.execute(new PipelineExecuteOptions(), transactionId, null);
}
}
```

Because of this, any custom options explicitly provided during `transaction.execute(pipeline, options)` get dropped before the underlying gRPC `ExecutePipelineRequest` is dispatched.

**Expected Behavior:**
The method should propagate the correctly populated `options` object provided in the method signature:

```java
@Nonnull
@Override
public ApiFuture execute(
@Nonnull Pipeline pipeline, @Nonnull PipelineExecuteOptions options) {
try (TraceUtil.Scope ignored = transactionTraceContext.makeCurrent()) {
return pipeline.execute(options, transactionId, null);
}
}
```

**Impact:**
Integration tests like `ITPipelineTest.testPipelineInTransactionsWithOptions` end up inadvertently testing with empty options because instances like `new PipelineExecuteOptions().with("foo", "bar")` are discarded silently.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.