This is an automated email from the ASF dual-hosted git repository.
linxinyuan pushed a change to branch xiaozhen-sync-region-kill
in repository https://gitbox.apache.org/repos/asf/texera.git
from c134106199 Merge branch 'main' into xiaozhen-sync-region-kill
add d08bf698a7 fix(frontend): handle multi-item array updates in
updateYTypeFromObject (#4265)
add 6a4baacde7 chore(ci): Bumped pyiceberg to v0.11.1 (#4297)
add e8c1f5d474 chore(dep): bump typing_extensions to 4.14.1 (#4300)
add 9ac58cf60b fix(backend): Update PHYSICAL_ADDRESS_EXPIRATION_TIME_HRS
to 24hrs (#4269)
add 0806b4a8c9 chore(dep): bump pillow to 12.1.1 (#4310)
add 31308a29eb fix: reduce catalog round-trips in
`IcebergDocument.hasNext()` to improve result read performance (#4293)
add aebd456540 chore(ci): Support Python 3.13 (#4088)
add a7c33414fe fix: initialize large-binary S3 bucket at startup to
prevent NoSuchBucketException (#4241)
add c240a296f4 feat(backend): Add 'method' type annotation support for
PyBuilder (#4267)
add 8e2d20c165 refactor(auth): use SecureRandom for random hex string
generation (#4285)
add bf5a4029f8 fix(ci): change unallowed action to curl for sending email
on ddl change (#4323)
add be158d73ee chore: Reduce Texera k8 Resources for Development (#4165)
add 325f697e28 feat(frontend): improve dataset detail page layout (#4337)
add f9be03ae22 feat: add view more toggle for markdown description (#4330)
add 9aa6bbc386 fix: path issue in frontend protobuf generation script
(#4332)
add cd9f9a7ae1 chore(docs): include the wiki instruction as the README in
the docker compose folder (#4320)
add 70021f66c2 feat(gui): add computing unit types in frontend dashboard
(#4327)
add b852f7d99b fix: regenerate protobuf files in the frontend (#4334)
add 09f04c8f0b feat(amber): add RESTCatalog support for result storage
(#4272)
add 8cd5a56f11 fix: regenerate protobuf files in the python (#4336)
add 50636fdb41 chore(SECURITY.md): add more description regarding the UDF
security model (#4299)
add 5bd1417bbe fix(ci): update Docker action SHAs to Apache-approved
versions (#4345)
add 9b63619220 feat(gui): add computing unit tab shell (#4328)
add e68abc3af1 fix(ci): Update sbt setup action to version 1.1.22 (#4355)
add b50f4e57c8 feat(gui): add full computing unit tab (#4331)
add 84c0821d4f chore: add affiliation and joiningReason to email (#4326)
add 39b42c3cc7 chore(helm): bump LakeFS version in the helm chart from
1.4.5 to 1.8.1 (#4357)
add 46803c39c9 fix: handle LakeFS pagination to return all results beyond
default 100-item limit (#4349)
add 353a31e3c2 feat(script): add a bootstrap script for setting up
Lakekeeper in the local development environment (#4273)
add dffd0312c0 feat: allow Multi-Link on Input Ports (#4342)
add 9fafe474ab refactor: change Compute tab url from "unit" to "compute"
(#4361)
add b24a44d2da fix(core): Fix Amber Home Path Resolution (#4356)
add 786f7d75b1 feat: enable text selection by default across the platform
(#4366)
add ddf5e5d68d feat: change project name in email to be configurable
(#4373)
new 42befa9ebc Merge branch 'main' into xiaozhen-sync-region-kill
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.asf.yaml | 1 +
.../automatic-email-notif-on-ddl-change.yml | 32 +-
.github/workflows/build-and-push-images.yml | 28 +-
.github/workflows/github-action-build.yml | 4 +-
.licenserc.yaml | 4 +
LICENSE | 4 -
SECURITY.md | 24 +-
amber/operator-requirements.txt | 2 +-
amber/requirements.txt | 7 +-
.../storage/iceberg/iceberg_catalog_instance.py | 36 +-
.../python/core/storage/iceberg/iceberg_utils.py | 40 +-
.../core/storage/iceberg/test_iceberg_document.py | 3 +
.../src/main/python/core/storage/storage_config.py | 12 +-
.../proto/org/apache/texera/amber/core/__init__.py | 6 +-
.../amber/engine/architecture/rpc/__init__.py | 7 +
.../engine/architecture/sendsemantics/__init__.py | 4 +-
.../amber/engine/architecture/worker/__init__.py | 4 +-
.../pytexera/storage/test_large_binary_manager.py | 3 +
amber/src/main/python/texera_run_python_worker.py | 6 +
.../pythonworker/PythonWorkflowWorker.scala | 3 +
.../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/frontend-proto-gen.sh | 2 +-
bin/k8s/Chart.yaml | 2 +-
bin/k8s/{values.yaml => values-development.yaml} | 52 +-
bin/single-node/README.md | 174 +++-
common/config/src/main/resources/storage.conf | 15 +-
common/config/src/main/resources/user-system.conf | 3 +
.../amber/config/EnvironmentalVariable.scala | 1 +
.../apache/texera/amber/config/StorageConfig.scala | 4 +-
.../org/apache/texera/config/AuthConfig.scala | 7 +-
.../apache/texera/config/UserSystemConfig.scala | 1 +
.../amber/pybuilder/EncodableInspector.scala | 16 +-
.../amber/pybuilder/EncodableStringAnnotation.java | 3 +-
.../pybuilder/PythonTemplateBuilderSpec.scala | 16 +
common/workflow-core/build.sbt | 19 +-
.../org/apache/texera/amber/core/workflow.proto | 3 +-
.../core/storage/IcebergCatalogInstance.scala | 2 +-
.../storage/result/iceberg/IcebergDocument.scala | 6 +
.../result/iceberg/IcebergTableWriter.scala | 6 +-
.../core/storage/util/LakeFSStorageClient.scala | 45 +-
.../org/apache/texera/amber/util/IcebergUtil.scala | 44 +-
.../texera/service/util/LargeBinaryManager.scala | 4 +-
.../texera/service/util/S3StorageClient.scala | 3 +-
.../result/iceberg/IcebergDocumentSpec.scala | 78 +-
.../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 +-
.../resource/ComputingUnitManagingResource.scala | 2 +
.../org/apache/texera/service/FileService.scala | 3 +
.../service/resource/DatasetResourceSpec.scala | 67 +-
frontend/src/app/app-routing.constant.ts | 1 +
frontend/src/app/app-routing.module.ts | 5 +
frontend/src/app/app.module.ts | 4 +
.../src/app/common/service/gmail/gmail.service.ts | 22 +-
.../src/app/common/service/user/auth.service.ts | 2 +-
frontend/src/app/common/type/physical-plan.ts | 4 +-
.../type/proto/google/protobuf/descriptor.ts | 1045 ++++++++++++++------
.../{engine/common => core}/virtualidentity.ts | 67 +-
.../amber/{engine/common => core}/workflow.ts | 255 +++--
.../src/app/common/type/proto/scalapb/scalapb.ts | 293 +++---
.../src/app/common/util/computing-unit.util.ts | 353 +++++++
.../src/app/common/util/port-identity-serde.ts | 2 +-
.../dashboard/component/dashboard.component.html | 11 +
.../app/dashboard/component/dashboard.component.ts | 2 +
.../markdown-description.component.html | 19 +-
.../markdown-description.component.scss | 15 +-
.../markdown-description.component.ts | 98 +-
.../user-computing-unit-list-item.component.html | 212 ++++
.../user-computing-unit-list-item.component.scss} | 246 +++--
.../user-computing-unit-list-item.component.ts | 316 ++++++
.../user-computing-unit.component.html | 232 +++++
.../user-computing-unit.component.scss | 99 ++
.../user-computing-unit.component.spec.ts | 65 ++
.../user-computing-unit.component.ts | 280 ++++++
.../dataset-detail.component.html | 136 ++-
.../dataset-detail.component.scss | 149 +--
.../computing-unit-actions.service.ts | 133 +++
frontend/src/app/dashboard/type/dashboard-entry.ts | 39 +-
frontend/src/app/dashboard/type/search-result.ts | 2 +-
frontend/src/app/dashboard/type/type-predicates.ts | 5 +
.../detail/hub-workflow-detail.component.html | 5 +-
frontend/src/app/hub/service/hub.service.ts | 1 +
.../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/shared-editing.interface.ts | 125 ++-
.../workspace/types/workflow-common.interface.ts | 2 +-
frontend/src/styles.scss | 4 +-
sql/{texera_lakefs.sql => texera_lakekeeper.sql} | 4 +-
153 files changed, 4854 insertions(+), 1554 deletions(-)
create mode 100755 bin/bootstrap-lakekeeper.sh
copy bin/k8s/{values.yaml => values-development.yaml} (91%)
rename
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/{timeSeriesPlot/TimeSeriesPlot.scala
=> visualization/timeSeriesplot/TimeSeriesOpDesc.scala} (97%)
rename
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/visualization/treeplot/{TreeplotOpDesc.scala
=> TreePlotOpDesc.scala} (98%)
rename
frontend/src/app/common/type/proto/org/apache/texera/amber/{engine/common =>
core}/virtualidentity.ts (88%)
rename
frontend/src/app/common/type/proto/org/apache/texera/amber/{engine/common =>
core}/workflow.ts (62%)
create mode 100644 frontend/src/app/common/util/computing-unit.util.ts
create mode 100644
frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit-list-item/user-computing-unit-list-item.component.html
copy
frontend/src/app/dashboard/component/user/{list-item/list-item.component.scss
=>
user-computing-unit/user-computing-unit-list-item/user-computing-unit-list-item.component.scss}
(52%)
create mode 100644
frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit-list-item/user-computing-unit-list-item.component.ts
create mode 100644
frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit.component.html
create mode 100644
frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit.component.scss
create mode 100644
frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit.component.spec.ts
create mode 100644
frontend/src/app/dashboard/component/user/user-computing-unit/user-computing-unit.component.ts
create mode 100644
frontend/src/app/dashboard/service/user/computing-unit-actions/computing-unit-actions.service.ts
copy sql/{texera_lakefs.sql => texera_lakekeeper.sql} (91%)