aicam opened a new issue, #3749: URL: https://github.com/apache/texera/issues/3749
**Date:** July 30, 2025 **Assignee:** Ali Risheh **Reviewer:** Chen Li This document outlines the key decisions and action items from our meeting on July 30, 2025, regarding the system's architecture and user experience. ## **Architecture Updates** Our discussion concluded with a plan to refactor the Entity-Relationship Model (ERM) for workflows and executions to improve data integrity and structure. **Key Decisions:** 1. **Workflow Version as a Weak Entity:** The `workflow_version` will become a weak entity. Its primary key will be a composite of the `workflow_ID` and a locally incrementing `workflow_version_ID`. 2. **Execution as a Weak Entity:** The `execution` will also be treated as a weak entity. Its primary key will be a composite of the `workflow_version_ID`, `computing_unit_ID`, and `user_ID` and an incremental local `execution_ID`. 3. **Separation of Execution and Results:** The `execution` entity will be decoupled from the `result` entity. While `execution` will be a weak entity as described above, `result` will be a separate entity containing only result metadata.  **Next Step:** * Decommission the existing `workflow_version` and `workflow_execution` tables and implement the new weak entity structures as defined above. ## **User Experience Updates** To create a more seamless and intuitive user journey, the following updates will be implemented. **Required Changes:** 1. **Automatic Computing Unit Creation:** If a user without a computing unit clicks the "Run" button on a workflow, the system will automatically create a new computing unit for them before proceeding with the execution. 2. **Workflow Sharing Options:** When a user shares a workflow, a modal will now appear. This modal will prompt the user to decide whether they also want to share the associated computing unit with the recipient. ## **System Assumptions & Considerations** The following points are foundational to the proposed changes and should be considered during implementation. 1. **Separate Entities:** A **computing unit** and a **workflow** are distinct entities. Sharing one does not automatically grant access to the other. 2. **Result Sharing Implies Computing Unit Access:** Sharing a workflow's *result* inherently means sharing the **computing unit** it was generated on. (Note: This assumption may be revised after the table service is introduced). 3. **Avoid Exposing Primary Keys:** To prevent data leaks regarding the scale of the system (e.g., total number of objects), general private keys should not be exposed to users. -- 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]
