yasithdev opened a new pull request, #694:
URL: https://github.com/apache/airavata/pull/694

   ## Summary
   Experiment ids were generated as `sanitize(name)[:50] + "_" + UUID` — e.g. 
`Echo_on_Jun_14,_2026_9:36_PM_96aa3cbd-6ff9-4664-970e-30a803e03a6c` — mashing 
the experiment name and a uuid into the primary key, which is also the portal's 
URL identifier.
   
   This generates a short, URL-safe, collision-checked code instead (e.g. 
`EXP-7QK2F9MX`) and keeps the human name in the separate `experiment_name` 
field.
   
   ## Changes
   - `AiravataUtils.getReadableId(prefix)` — `<prefix>-XXXXXXXX` from an 
unambiguous Crockford-style alphabet (no `0/1/I/L/O`).
   - `ExperimentRepository.addExperiment()` — mint `EXP-…` and regenerate on 
the (vanishingly rare) collision via the existing `isExperimentExist()`. 
`experiment_name` is untouched.
   - `experiment_id` stays a `varchar(255)` PK, so existing ids and all FK 
references (PROCESS/EXPERIMENT_STATUS/EXPERIMENT_ERROR) keep working. **Only 
new experiments are affected.**
   - Two tests that asserted the id embeds the normalized name now assert the 
new contract: a short `EXP-` code, with the experiment name **preserved 
verbatim** (it was previously mangled into the id).
   
   `AiravataUtils.getId()` is unchanged (projects/applications/tasks/processes 
still use it; they aren't URL-facing).
   
   ## Why it's safe
   A cross-repo sweep found **no code that parses the name/uuid out of 
`experiment_id`**. The Django portal needs **no change** — it already routes by 
`experiment_id` (`[^/]+`), and `EXP-7QK2F9MX` is URL-safe.
   
   ## Test plan
   - Verified live: creating + launching an Echo experiment yields 
`/workspace/experiments/EXP-7TF68CM7/`, with the name preserved as "Echo on Jun 
15, 2026 12:18 AM", status LAUNCHED.
   - Updated unit + integration tests assert the new id format and name 
preservation.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
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