jerryshao opened a new issue, #12495:
URL: https://github.com/apache/gravitino/issues/12495

   ### Describe the feature
   
   Expose the job's finished-execution time (already tracked internally by 
`JobEntity`/`JobPO`/storage) through the public surface: `JobDTO`, the REST 
API/OpenAPI spec, the Java client (`JobHandle`), the Python client, and the 
event listener (`JobInfo`).
   
   ### Motivation
   
   Callers can currently observe a job's status (`QUEUED`, `SUCCEEDED`, 
`FAILED`, etc.) but have no way to know *when* it actually finished. The 
storage layer already records this; it just isn't surfaced anywhere.
   
   ### Describe the solution
   
   - `JobHandle.finishedAt()` (Java, `default` method) / `finished_at()` 
(Python) — non-abstract with an 
`UnsupportedOperationException`/`NotImplementedError` default, so existing 
external implementers don't break.
   - `JobDTO.finishedAt` (Java `Instant`, Python `datetime`), matching the 
existing `Audit.createTime` convention.
   - `finishedAt` added to the `Job` schema in `docs/open-api/jobs.yaml`.
   - `JobEntity.finishedAtAsInstant()` — single conversion point from the 
storage layer's raw epoch-millis + "not finished" sentinel to `Instant`, used 
by `JobOperations.toDTO` and `JobInfo.fromJobEntity`.
   - `GenericJobHandle` (Java + Python) delegate to the DTO.
   - `JobManager.pullAndUpdateJobStatus` now stamps `finishedAt` at the moment 
a job transitions to a terminal state (`SUCCEEDED`/`FAILED`/`CANCELLED`); 
`JobEntity.FINISHED_AT` is a required field, enforced at build time, so every 
construction site must decide the value explicitly.
   - Unit + integration test coverage across Java and Python.
   
   ### Additional context
   
   No storage schema changes — `job_finished_at` already existed and 
round-trips correctly; this only wires it through to the public API surface.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to