[Bug] Test server in time-skipping mode does return userMetadata.summary

Abierto
#851 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
38/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python

Línea de trabajo

Empieza reproduciendo el ejemplo con el servidor de pruebas en modo de salto de tiempo y comparando su historial de workflow con el modo de desarrollo. Rastrea el manejo del resumen desde workflow.execute_activity, pasando por fetch_history_events, hasta user_metadata.summary. Se considera terminado cuando el resumen está presente en el HistoryEvent devuelto en ambos modos y las pruebas relevantes pasan.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug
What are you really trying to do?

I want to leverage userMetadata.summary and show it in UI, and test the functionality.

Describe the bug

My tests fail when running tests with test server in time-skipping mode.
I am passing summary attribute when executing workflow and activities. Then I query workflow history I can see userMetadata.summary populated on the HistoryEvent when running in dev mode, but it is missing in time-skipping mode.

Minimal Reproduction
@workflow.defn
class WorkflowSample:

    @workflow.run
    async def run(self, name: str) -> list[str]:
        result = await workflow.execute_activity(ActivitySample.greeting, name, summary=f"Calculating greeting for {name}")
        return [result]
    async def get_payload_value(self, *args: Payload | None) -> str | None:
        decoded_summary = await self.data_converter.decode(non_empty_payloads(*args))
        if len(decoded_summary) == 0:
            return None
        return decoded_summary[0]

    async def get_summary(self, history_event: HistoryEvent) -> str | None:
        logger.debug("Getting summary for event %s", MessageToJson(history_event))
        return await self.get_payload_value(
            history_event.user_metadata.summary)
    
    async def run(self):
        async for event in workflow_handle.fetch_history_events(wait_new_event=wait_new_event):
            summary = await self.get_summary(event)
            print(summary)
Environment/Versions
  • OS and processor: M1 Mac
  • Temporal Version: 1.10.0
Lenguaje dominante
Python
Estrellas
1.2k
Forks
241
Merge medio
3 d 2 h
PR fusionados (30 d)
49

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de temporalio/sdk-python

Todos los issues de temporalio/sdk-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.