This is an automated email from the ASF dual-hosted git repository. xiaozhenliu pushed a commit to branch xiaozhen-caching-prototype in repository https://gitbox.apache.org/repos/asf/texera.git
commit 3b0ff92d7221cac628ae318ca3bd6bf02cd27f1b Merge: 5cbac1546d ddf5e5d68d Author: Xiaozhen Liu <[email protected]> AuthorDate: Mon Apr 13 14:41:58 2026 -0700 Merge branch 'refs/heads/main' into xiaozhen-caching-prototype .github/workflows/build-and-push-images.yml | 6 +- .github/workflows/github-action-build.yml | 2 +- .../proto/org/apache/texera/amber/core/__init__.py | 2 +- .../apache/texera/amber/engine/common/Utils.scala | 4 +- .../apache/texera/web/resource/EmailTemplate.scala | 15 +- .../apache/texera/web/resource/GmailResource.scala | 12 +- bin/bootstrap-lakekeeper.sh | 473 +++++++++++++++++++++ bin/k8s/Chart.yaml | 2 +- common/config/src/main/resources/storage.conf | 7 +- common/config/src/main/resources/user-system.conf | 3 + .../apache/texera/config/UserSystemConfig.scala | 1 + .../org/apache/texera/amber/core/workflow.proto | 3 +- .../core/storage/util/LakeFSStorageClient.scala | 45 +- .../texera/amber/operator/PortDescriptor.scala | 2 +- .../texera/amber/operator/dummy/DummyOpDesc.scala | 4 +- .../metadata/OperatorMetadataGenerator.scala | 16 + .../sklearn/testing/SklearnTestingOpDesc.scala | 3 +- .../amber/operator/udf/java/JavaUDFOpDesc.scala | 4 +- .../python/DualInputPortsPythonUDFOpDescV2.scala | 3 +- .../operator/udf/python/PythonUDFOpDescV2.scala | 4 +- .../texera/amber/operator/udf/r/RUDFOpDesc.scala | 4 +- .../texera/amber/operator/union/UnionOpDesc.scala | 2 +- .../visualization/DotPlot/DotPlotOpDesc.scala | 6 +- .../IcicleChart/IcicleChartOpDesc.scala | 6 +- .../ImageViz/ImageVisualizerOpDesc.scala | 6 +- .../ScatterMatrixChartOpDesc.scala | 6 +- .../visualization/barChart/BarChartOpDesc.scala | 6 +- .../boxViolinPlot/BoxViolinPlotOpDesc.scala | 6 +- .../bubbleChart/BubbleChartOpDesc.scala | 6 +- .../bulletChart/BulletChartOpDesc.scala | 9 +- .../candlestickChart/CandlestickChartOpDesc.scala | 6 +- .../choroplethMap/ChoroplethMapOpDesc.scala | 6 +- .../ContinuousErrorBandsOpDesc.scala | 6 +- .../contourPlot/ContourPlotOpDesc.scala | 6 +- .../dendrogram/DendrogramOpDesc.scala | 6 +- .../dumbbellPlot/DumbbellPlotOpDesc.scala | 30 +- .../FigureFactoryTableOpDesc.scala | 6 +- .../filledAreaPlot/FilledAreaPlotOpDesc.scala | 6 +- .../funnelPlot/FunnelPlotOpDesc.scala | 6 +- .../ganttChart/GanttChartOpDesc.scala | 6 +- .../gaugeChart/GaugeChartOpDesc.scala | 6 +- .../visualization/heatMap/HeatMapOpDesc.scala | 6 +- .../hierarchychart/HierarchyChartOpDesc.scala | 6 +- .../histogram/HistogramChartOpDesc.scala | 6 +- .../histogram2d/Histogram2DOpDesc.scala | 6 +- .../visualization/htmlviz/HtmlVizOpDesc.scala | 6 +- .../visualization/lineChart/LineChartOpDesc.scala | 6 +- .../nestedTable/NestedTableOpDesc.scala | 6 +- .../networkGraph/NetworkGraphOpDesc.scala | 6 +- .../visualization/pieChart/PieChartOpDesc.scala | 6 +- .../quiverPlot/QuiverPlotOpDesc.scala | 6 +- .../radarChart/RadarChartOpDesc.scala | 6 +- .../rangeSlider/RangeSliderOpDesc.scala | 6 +- .../sankeyDiagram/SankeyDiagramOpDesc.scala | 6 +- .../scatter3DChart/Scatter3dChartOpDesc.scala | 6 +- .../scatterplot/ScatterplotOpDesc.scala | 6 +- .../stripChart/StripChartOpDesc.scala | 6 +- .../tablesChart/TablesPlotOpDesc.scala | 6 +- .../ternaryPlot/TernaryPlotOpDesc.scala | 6 +- .../timeSeriesplot/TimeSeriesOpDesc.scala} | 6 +- .../{TreeplotOpDesc.scala => TreePlotOpDesc.scala} | 6 +- .../visualization/urlviz/UrlVizOpDesc.scala | 6 +- .../volcanoPlot/VolcanoPlotOpDesc.scala | 6 +- .../waterfallChart/WaterfallChartOpDesc.scala | 6 +- .../visualization/wordCloud/WordCloudOpDesc.scala | 6 +- .../service/resource/DatasetResourceSpec.scala | 26 ++ frontend/src/app/app-routing.constant.ts | 2 +- frontend/src/app/app-routing.module.ts | 2 +- frontend/src/app/app.module.ts | 2 + .../src/app/common/service/gmail/gmail.service.ts | 22 +- .../src/app/common/service/user/auth.service.ts | 2 +- .../proto/org/apache/texera/amber/core/workflow.ts | 18 +- .../src/app/common/util/computing-unit.util.ts | 353 +++++++++++++++ .../dashboard/component/dashboard.component.html | 2 +- .../user-computing-unit-list-item.component.html | 212 +++++++++ .../user-computing-unit-list-item.component.scss | 230 ++++++++++ .../user-computing-unit-list-item.component.ts | 316 ++++++++++++++ .../user-computing-unit.component.html | 203 +++++++++ .../user-computing-unit.component.scss | 70 +++ .../user-computing-unit.component.spec.ts | 27 +- .../user-computing-unit.component.ts | 257 ++++++++++- .../computing-unit-actions.service.ts | 133 ++++++ .../component/left-panel/left-panel.component.scss | 1 + .../workspace/component/menu/menu.component.html | 1 + .../workspace/component/menu/menu.component.scss | 4 + .../computing-unit-selection.component.ts | 467 ++++---------------- .../property-editor/property-editor.component.scss | 1 + .../result-panel/result-panel.component.scss | 1 + .../workflow-editor.component.spec.ts | 4 +- .../workflow-editor/workflow-editor.component.ts | 6 +- .../workspace/component/workspace.component.scss | 1 + .../mock-operator-metadata.data.ts | 2 +- .../validation/validation-workflow.service.ts | 10 +- .../model/workflow-action.service.ts | 8 +- .../workflow-graph/util/workflow-util.service.ts | 4 +- .../workspace/types/execute-workflow.interface.ts | 2 +- .../workspace/types/operator-schema.interface.ts | 4 +- .../workspace/types/workflow-common.interface.ts | 2 +- frontend/src/styles.scss | 4 +- sql/texera_lakekeeper.sql | 21 + 100 files changed, 2668 insertions(+), 654 deletions(-)
