Additional thought: I guess if we use the unmangled jobkey as a task name [1] 
we could totally go for the pure UUID task ids.

[1] 
https://github.com/apache/aurora/blob/749f83502f059ae6d2b229cf76c1ed44ccf3d255/src/main/java/org/apache/aurora/scheduler/configuration/executor/ExecutorModule.java#L135


________________________________________
From: Erb, Stephan <stephan....@blue-yonder.com>
Sent: Wednesday, January 27, 2016 12:17 AM
To: dev@aurora.apache.org
Subject: Re: [PROPOSAL] Revisit task ID format

+1 for dropping the timestamp

However, I am not sure regarding the mangled jobkey. It tends to make it easier 
to correlate Mesos tasks to Aurora jobs when skimming log files, viewing the 
Mesos-UI or even when using the Thermos [1]. I guess the traceability of all of 
those usecases could be improved, but that would probably additional work.

[1] https://github.com/apache/aurora/blob/master/docs/images/runningtask.png
________________________________________
From: Bill Farner <wfar...@apache.org>
Sent: Wednesday, January 27, 2016 12:03 AM
To: dev@aurora.apache.org
Subject: [PROPOSAL] Revisit task ID format

Context: a task ID is a unique identifier for a task.  Aurora and Mesos
both require this uniqueness.  Within mesos, frameworks are required to
craft their own task IDs as they see fit.

Our task ID format is currently [1]

TIMESTAMP-ROLE-ENV-JOBNAME-INSTANCE-UUID


for an example:

1453847837931-vagrant-test-http_example_docker-1-a23f55e2-151f-409e-9cea-76ec79482533


In addition to guaranteed uniqueness, this format has the benefit of being
somewhat human-friendly.  Within logs, it is somewhat possible to partially
recognize a task based solely on the text ID.

*I would like to propose that we remove the TIMESTAMP- prefix from the task
ID.*  It was originally included so that task IDs would be temporally
sortable for scheduling prioritization.  At present, tasks are not sorted
using the ID.

While proposing the above, i think it's also prudent to take the
opportunity to consider a complete overhaul of the ID contents.  *An
alternative approach would be to only use the UUID.*  This has the benefit
of decoupling arbitrary user input from the various ways task IDs are used
(as an example - mesos uses them in file names, limiting length and allowed
characters).  Task IDs also become fixed width, which offers a (very)
marginal memory reduction over the status quo, and makes console line
wrapping more consistent when perusing logs.  Additionally, it eschews the
potential problem of users parsing task IDs and coupling to its format.

Any thoughts on this?


[1]
https://github.com/apache/aurora/blob/master/src/main/java/org/apache/aurora/scheduler/TaskIdGenerator.java

Reply via email to