Repository navigation
Replies: 6 comments 17 replies
|
I haven't looked at the codes in detail but based on the demo videos, I think we should break it up to make this easier to review. How about this?
|
|
A general question is whether we can have a PR after which we have "partial functionality." @Yicong-Huang @aglinxinyuan @zuozhiw and others : What do you think? |
|
Thanks @kunwp1 for the input. I think it's a great suggestion. In general I agree a large PR isn't ideal, and smaller PRs are better when feasible. To address @zyratlo's concern about keeping the tool fully functional at each step, I wonder if we could keep @kunwp1's three slices but reorder them: PR1: Uploading + LLM notebook-to-workflow conversion — the core function. After this PR, a user can upload a notebook and get a converted workflow end-to-end. PR2: Rendering the notebook (plus window controls) — adds the Jupyter iframe panel as a UX enhancement on top of the working tool. PR3: Cell-to-operator mapping — adds traceability between cells and operators. Under this ordering, the main functionality lands in PR1, and PR2/PR3 are additive features. The tool stays functional after every PR, so the slices are more independent. @zyratlo — could you confirm whether this reordering is feasible given the actual code dependencies? If it isn't, I'm not against shipping as a single PR, since the code is well-isolated, the risk is low. |
|
@chenlica Based on the discussion, here's my proposed conclusion: We don't go with a single PR. Instead, we split into multiple PRs, with a feature flag to hide the feature until everything is merged. The thread converged on a few points that together resolve the original concern:
|
|
You can check my PR as an example: #4442. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Summary
A new feature currently in the review phase before being merged is the Python Notebook Migration Tool. The related pages are Issue #4301 and PR #4486 . As of the time of this writing, the PR has 37 files changed and 3,342 additions. We have decided to currently merge this large addition to the code base in a single PR for multiple reasons:
Architecture
As shown in the architecture diagrams below, a large portion of the new code is contained within new files. Portions of the front-end and existing services (such as the LiteLLM proxy) are reused while maintaining their original purposes are unchanged.
Breakdown of Code Changes
More detailed breakdown can be found here
SQL
sql/updates/23.sqlsql/texera_ddl.sqlModified Existing Files
Config files
build.sbtcommon/config/src/main/resources/storage.confcommon/config/src/main/scala/org/apache/texera/amber/config/StorageConfig.scalafrontend/proxy.config.jsonfrontend/src/app/app.module.tsFront-end
frontend/src/app/workspace/component/menu/menu.component.tsfrontend/src/app/workspace/component/workflow-editor/mini-map/workspace.component.tsNew Files
Front-end
frontend/src/app/workspace/component/jupyter-notebook-panel/jupyter-notebook-panel.component.tsfrontend/src/app/workspace/service/jupyter-panel/jupyter-panel.service.tsfrontend/src/app/workspace/service/notebook-migration/migration-llm.tsfrontend/src/app/workspace/service/notebook-migration/notebook-migration.service.tsBack-end
notebook-migration-service/All reactions