This is an automated email from the ASF dual-hosted git repository.
aglinxinyuan pushed a change to branch
dependabot/npm_and_yarn/frontend/node-forge-1.3.2
in repository https://gitbox.apache.org/repos/asf/texera.git
from 472740d707 chore(deps): bump node-forge from 1.3.1 to 1.3.2 in
/frontend
add e73034d722 fix(deploy): update single-node docker-compose
configuration with latest architecture (#4077)
add ab3f84004f chore(deps): bump pg8000 from 1.31.2 to 1.31.5 in /amber
(#4104)
add 6626c81d64 fix: run configurations for Windows (#4107)
add 034cf7c844 chore: Drop Runtime Support for R-UDF (#4090)
add 8530645dbf feat: Lint Python with Ruff (#4105)
add e76288d00c chore(deps): bump protobuf from 3.20.3 to 4.25.8 in /amber
(#4101)
add ecfebf4b60 fix: hide Regions on MiniMap (#4112)
add 5e6075d136 chore: bump version to v1.1.0-incubating (#4121)
add 6b0a249c7e fix: correct IntelliJ run configurations by removing
unnecessary .main suffix (#4116)
add 60a7822bcf style: Rename BigObject to LargeBinary (#4111)
add 51fb0b8acb chore: drop R support flags from Dockerfiles and CI
workflow (#4124)
add 4f822e376a feat: Python Support for Large Binary (#4100)
add 31c9e4311e fix: remove /api/dataset/file endpoint (#4137)
add acca01d1d4 fix: support more java.time inputs in timestamp parsing
(#4139)
add 27b86aaca4 fix: Removing unnecessary user info returned from the
backend (#4138)
add 39270ec8d4 fix(ui): remove labels from dynamically added ports (#4140)
add 2fbe37ab71 feat: add affiliation attribute to user (#4113)
add 8635ce2477 feat(ui): add pagination and search for wide-column tables
(#4086)
add 39127e92cb feat: extend image preview to support WebP and GIF formats
(#4120)
add 253409a6ba refactor(dataset): Redirect multipart upload through File
Service (#4136)
add b9fc0d2c89 fix(backend): allow users with read access level to revoke
their own access on shared workflows (#4143)
add ab3317b8ef fix(AttributeTypeUtils): use Double.NEGATIVE_INFINITY
instead of Double.MIN_VALUE (#4145)
add a7d2adf243 feat: add custom cover image support for datasets (#4117)
add e5fcfa2417 feat(gui): added sort by affiliation to admin dashboard
(#4150)
add 56d334c170 fix: restore proper license headers for third-party code
and assets (#4134)
add f07088bedb fix(backend): prevent workflow cloning when user revokes
own access (#4153)
add 4f365c1f26 chore: Redirect GitHub discussion notifications to dev
email list (#4160)
add 53b149ea68 fix(gui): add commas to port tuple counts (#4162)
add 7d42cb63dd fix(dataset): enforce max file size for multipart upload
(#4146)
add 8d519d8ed0 feat(amber): Enable R UDF Runtime via Optional texera-rudf
Plugin (#4164)
add 27041a2b3c feat(gui): allow changing workflow access level (#4161)
add a0a6008906 chore: Re-enable R support flags in Docker/CI and ensure
LargeBinary works on Kubernetes (#4168)
add ece433c054 feat: Enable Multiple Input Ports on R UDF operators (#4174)
add 850fd85176 feat: introduce materialized execution mode (#4158)
add 0aa4ad4ec5 feat: add centralized LakeFS error handling for multipart
upload and dataset version operations (#4177)
add 6b90b003cf fix(backend): use dynamic DSLContext lookup to fix stale DB
connections in tests (#4179)
add 0965b80ebe refactor(scala): move SortCriteriaUnit and HyperParameters
from Java to Scala (#4186)
add 830e3090b1 feat(backend): Resumable Uploads (#4181)
add cfdad432c3 feat(backend): introduce python code template builder for
creating Python based operators (#4189)
add fa87887399 fix(dependencies): fix the version of setuptools package
(#4199)
add 39f8508742 feat: add test cases for revoking workflow access. (#4187)
add 7048ce340a chore: update release workflow to comply with Apache
release practice (#4128)
add 99348fb660 refactor(helm): unify ingress and envoy proxy as a single
gateway (#4191)
add 05bb34810e fix: test failure from testcontainer caused by docker
update raising minimum version (#4208)
add 7a6252d5a4 fix(auth): reject null password during the authentication
(#4203)
add 641fb857b5 fix(amber): fix getting uncreated region status in query
statistics handler (#4213)
add 852ebee5a4 feat(gui): Display the status for each operator during
execution (#4195)
add 3e92803d84 feat: introduce sklearn testing operator (#4211)
add 286a39626a fix: Added setup python section to frontend test to pin
python to 3.12 (#4215)
add 9bc1ebdff0 fix: prevent orphaned sessions when lakeFS abort fails
(#4197)
add 179f177d72 feat: add user registration form (#4185)
add 61726182b8 fix: Fix/macos testcase (#4222)
add 93f587fa32 feat: add Markdown editor for dataset/workflow descriptions
(#4212)
add 127c26abe7 fix(ui): add links to region display (#4226)
add 9fd356c3b9 feat(release): include container images and deployment
artifacts in release (#4219)
add 9e76865b2a feat: add inline edit modes for dataset description (#4232)
add ab9a84b198 fix(ci): use consistent 9-char commit hash for image tags
(#4231)
add 95496cce27 feat: Separate Runtime Statistics Collection from UI
Updates (#4205)
add 6a58780f39 fix: prediction input shape in sklearn testing operator
(#4236)
add 34a8fad0f5 refactor(helm): switch postgres image from bitnami to
groonga and fix the texera image registry configuration (#4233)
add 5b3cabff46 chore: remove deprecated result storage flag (#4210)
add 264b72f666 fix: syntax for accessing DataFrame column in
SklearnTrainingOpDesc (#4237)
add 157241ab3b chore: Remove duplicate JOOQ generator and libraries (#3748)
add e908c60de8 chore: make service log levels configurable via
TEXERA_SERVICE_LOG_LEVEL (#4244)
add 349a1aa18b feat: add startup message to docker-compose (#4245)
add b480feb890 feat: add example datasets and workflows to Docker Compose
(#4247)
add 52c44c5ddd refactor: align docker-compose service and container names
with image names (#4249)
add 3c50566da1 fix(ci): replace removed JooqCodeGenerator with sbt
jooqGenerate task (#4252)
add dee51b0986 fix(ci): include example datasets and workflows into the
docker compose tarball when creating the release candidate (#4253)
add 465b850383 fix: update example-data-loader to reference correct
service names in docker-compose (#4255)
add 98cf478c0a feat(ci): set TEXERA_SERVICE_LOG_LEVEL to ERROR for docker
compose tarball in release candidate CI (#4256)
add c1bb23094a feat: add a new radar chart operator (#4248)
add 206f3f3dcf fix(docker-compose): improve the startup banner (#4260)
add ac909a07dc fix(operator): correct regex escaping in WordCloud operator
(#4261)
add 34af5f7d22 fix(helm): align the header name specified in the envoy
gateway with the header definition in AccessControService (#4254)
add f8999290fa feat(ci): automatically send an email to dev list on ddl
change (#4250)
add 3e46ceaf3d fix(operator): prevent KeywordSearch operator from running
with an empty keywords field (#4277)
add 25f0b362e0 fix(dashboard): copy workflow opens preview page instead of
workspace (#4280)
add 0b3f97d9ad chore(ci): replace `nightly` with `latest` for image
building cron job (#4282)
add 47bb2e43b1 chore(license): switch to DISCLAIMER-WIP and add ASF
licensing files to JARs and Docker images (#4288)
add 46f7a26231 chore: rewrite code snippets that are referenced to Stack
Overflow (#4283)
add bcbf58b6a1 chore(gui): add edit description button in workspace (#4271)
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)
add b74f9c9cd3 fix: old workflows failing to run after input port field
rename (#4379)
add babb1b868e refactor: move text selection handling to workspace
component (#4383)
add e0fc7df17e feat: add File Lister operator (#4364)
add ec025091aa chore: remove R support from Docker images for license
compliance (#4385)
add 8560cca80b fix(operator): guard against NoSuchElementException in
ParallelCSVScanSourceOpDesc.getPhysicalOp (#4375)
add 407a91fa65 refactor(frontend): move shared computing unit types and
services to `frontend/src/app/common` (#4358)
add ea1e9d1237 fix(helm): Add `AUTH_JWT_SECRET` to `values.yaml` (#4388)
add d547c76e07 feat: add File Scan From Input operator (#4369)
add b3db209d41 fix(frontend): unsubscribe connection-status subscription
in WorkflowWebsocketService.closeWebsocket (#4377)
add fee6f8caa2 feat: add a new wind rose chart operator (#4224)
add 2b6253909c fix: only run workflow build and deploy image action if
scheduled or auto run if on… (#4214)
add d868b85225 feat: add Radar Plot Visualization Operator (#3500)
add 8cd1570dd2 feat: add a new webgl polar chart operator (#4221)
add 41e7339f1b fix(operator): convert booleans to Python-compatible values
in BubbleChart/ContourPlot/TernaryPlot (#4238)
add 4be9baeaa2 chore(build): add customized LICENSE to jar META-INF and
dist zips (#4367)
add 7b2b017042 fix: the URL typo in the workflow-sharing notification
email (#4200)
add 03a675d44c chore(ci): enforce both scalafmtAll and scalafixAll in
format checks (#4411)
add 8fb8ec05e2 fix: restore `../../sql` mount path in single-node
docker-compose so Postgres init scripts run (#4391)
add 0485b4d6d8 feat(operator): add carpet plot operator (#4398)
add bc2776ed4f chore(dependencies): drop `mysql-connector-java` (#4386)
add b919fcd336 feat: add parallel coordinates plot visualization operator
(#4413)
add 71ed5aa04c fix: Iceberg warehouse path mismatch between Python and
Java/Scala catalogs (#4409)
add 5446981cf4 fix(computing-unit-managing-service): pass
`AUTH_JWT_SECRET` to newly created computing units (#4426)
add 0afeea1a03 fix: add missing Set group to operator panel (#4418)
add 782069dbfc feat: add ECDF plot visualization operator (#4406)
add 54fea636e2 chore: sbt 1.12.9 (#4423)
add d862a06d75 Merge branch 'main' into
dependabot/npm_and_yarn/frontend/node-forge-1.3.2
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 3 +-
.github/release/vote-email-template.md | 74 +-
.../automatic-email-notif-on-ddl-change.yml | 62 +
.github/workflows/build-and-push-images.yml | 112 +-
.github/workflows/create-release-candidate.yml | 333 ++-
.github/workflows/github-action-build.yml | 37 +-
.licenserc.yaml | 21 +-
.run/AccessControlService.run.xml | 3 +-
.run/ComputingUnitManagingService.run.xml | 3 +-
.run/ComputingUnitMaster.run.xml | 3 +-
.run/ComputingUnitWorker.run.xml | 3 +-
.run/ConfigService.run.xml | 3 +-
.run/FileService.run.xml | 3 +-
.run/TexeraWebApplication.run.xml | 3 +-
.run/WorkflowCompilingService.run.xml | 3 +-
DISCLAIMER | 10 -
DISCLAIMER-WIP | 23 +
LICENSE | 38 +
SECURITY.md | 24 +-
access-control-service/build.sbt | 2 +-
access-control-service/project/build.properties | 2 +-
.../access-control-service-web-config.yaml | 7 +-
.../src/main/resources/logback.xml | 2 +-
.../texera/service/AccessControlService.scala | 14 +-
.../service/resource/AccessControlResource.scala | 11 +-
amber/build.sbt | 2 +-
amber/operator-requirements.txt | 3 +-
amber/project/build.properties | 2 +-
amber/project/plugins.sbt | 4 +-
amber/requirements.txt | 16 +-
.../engine/architecture/rpc/controlcommands.proto | 7 +
.../handlers/control/add_partitioning_handler.py | 1 -
.../handlers/control/assign_port_handler.py | 1 -
.../control/evaluate_expression_handler.py | 1 -
.../control/initialize_executor_handler.py | 1 -
.../handlers/control/no_operation_handler.py | 1 -
.../handlers/control/open_executor_handler.py | 1 -
.../handlers/control/pause_worker_handler.py | 1 -
.../handlers/control/query_statistics_handler.py | 1 -
.../control/replay_current_tuple_handler.py | 1 -
.../handlers/control/resume_worker_handler.py | 1 -
.../managers/embedded_control_message_manager.py | 6 +-
.../core/architecture/managers/executor_manager.py | 47 +-
.../architecture/managers/test_executor_manager.py | 248 +++
.../core/architecture/packaging/input_manager.py | 1 -
.../core/architecture/packaging/output_manager.py | 2 +-
.../core/architecture/rpc/async_rpc_client.py | 1 -
.../src/main/python/core/models/RTableExecutor.py | 132 --
.../src/main/python/core/models/RTupleExecutor.py | 167 --
amber/src/main/python/core/models/__init__.py | 3 +-
.../src/main/python/core/models/internal_queue.py | 1 -
amber/src/main/python/core/models/operator.py | 45 +-
amber/src/main/python/core/models/r_utils.py | 79 -
.../src/main/python/core/models/schema/__init__.py | 2 +
.../core/models/schema/arrow_schema_utils.py | 63 +
.../python/core/models/schema/attribute_type.py | 6 +
.../core/models/schema/attribute_type_utils.py | 72 +
amber/src/main/python/core/models/schema/schema.py | 19 +-
.../main/python/core/models/schema/test_schema.py | 65 +
.../main/python/core/models/test_RTableExecutor.py | 539 -----
amber/src/main/python/core/models/test_tuple.py | 98 +
amber/src/main/python/core/models/tuple.py | 39 +-
.../main/python/core/models/type/__init__.py} | 5 +-
.../main/python/core/models/type/large_binary.py | 98 +
.../python/core/models/type/test_large_binary.py | 88 +
amber/src/main/python/core/runnables/main_loop.py | 6 +-
.../main/python/core/runnables/test_main_loop.py | 2 -
.../main/python/core/storage/document_factory.py | 5 +-
.../storage/iceberg/iceberg_catalog_instance.py | 36 +-
.../python/core/storage/iceberg/iceberg_utils.py | 178 +-
.../core/storage/iceberg/test_iceberg_document.py | 41 +-
.../storage/iceberg/test_iceberg_utils_catalog.py | 98 +
.../iceberg/test_iceberg_utils_large_binary.py | 230 ++
.../input_port_materialization_reader_runnable.py | 3 +-
.../src/main/python/core/storage/storage_config.py | 29 +-
amber/src/main/python/proto/__init__.py | 16 -
amber/src/main/python/proto/org/__init__.py | 16 -
amber/src/main/python/proto/org/apache/__init__.py | 16 -
.../python/proto/org/apache/texera/__init__.py | 16 -
.../proto/org/apache/texera/amber/__init__.py | 16 -
.../proto/org/apache/texera/amber/core/__init__.py | 25 +-
.../org/apache/texera/amber/engine/__init__.py | 16 -
.../texera/amber/engine/architecture/__init__.py | 16 -
.../amber/engine/architecture/rpc/__init__.py | 26 +-
.../engine/architecture/sendsemantics/__init__.py | 23 +-
.../amber/engine/architecture/worker/__init__.py | 23 +-
.../apache/texera/amber/engine/common/__init__.py | 19 +-
amber/src/main/python/proto/scalapb/__init__.py | 17 -
amber/src/main/python/pyproject.toml | 20 +-
amber/src/main/python/pytexera/__init__.py | 6 +
.../pytexera/storage/dataset_file_document.py | 3 +-
.../pytexera/storage/large_binary_input_stream.py | 121 +
.../pytexera/storage/large_binary_manager.py | 78 +
.../pytexera/storage/large_binary_output_stream.py | 244 ++
.../storage/test_large_binary_input_stream.py | 222 ++
.../pytexera/storage/test_large_binary_manager.py | 153 ++
.../storage/test_large_binary_output_stream.py | 238 ++
amber/src/main/python/texera_run_python_worker.py | 14 +
.../resources/computing-unit-master-config.yml | 8 +-
amber/src/main/resources/logback.xml | 2 +-
.../texera-compiling-service-web-config.yml | 5 +-
amber/src/main/resources/web-config.yml | 5 +-
.../architecture/controller/ClientEvent.scala | 3 +
.../architecture/controller/Controller.scala | 6 +-
.../controller/ControllerTimerService.scala | 54 +-
.../controller/execution/WorkflowExecution.scala | 18 +-
.../controller/promisehandlers/PauseHandler.scala | 14 +-
.../promisehandlers/PortCompletedHandler.scala | 11 +-
.../QueryWorkerStatisticsHandler.scala | 84 +-
.../controller/promisehandlers/ResumeHandler.scala | 15 +-
.../promisehandlers/StartWorkflowHandler.scala | 1 +
.../WorkerExecutionCompletedHandler.scala | 6 +-
.../WorkerStateUpdatedHandler.scala | 11 +-
.../pythonworker/PythonWorkflowWorker.scala | 9 +-
.../scheduling/CostBasedScheduleGenerator.scala | 36 +-
.../scheduling/RegionExecutionCoordinator.scala | 15 +-
.../apache/texera/amber/engine/common/Utils.scala | 4 +-
.../apache/texera/web/ComputingUnitMaster.scala | 35 +
.../texera/web/ServletAwareConfigurator.scala | 13 +-
.../apache/texera/web/TexeraWebApplication.scala | 38 +-
.../apache/texera/web/auth/GuestAuthFilter.scala | 2 +-
.../apache/texera/web/auth/UserAuthenticator.scala | 14 +-
.../websocket/event/WebResultUpdateEvent.scala | 3 +-
.../request/ResultPaginationRequest.scala | 5 +-
.../apache/texera/web/resource/EmailTemplate.scala | 15 +-
.../apache/texera/web/resource/GmailResource.scala | 21 +-
.../texera/web/resource/UserConfigResource.scala | 13 +-
.../texera/web/resource/auth/AuthResource.scala | 15 +-
.../web/resource/auth/GoogleAuthResource.scala | 13 +-
.../resource/dashboard/SearchQueryBuilder.scala | 7 +-
.../resource/dashboard/UnifiedResourceSchema.scala | 7 +-
.../admin/execution/AdminExecutionResource.scala | 7 +-
.../admin/settings/AdminSettingsResource.scala | 2 +-
.../dashboard/admin/user/AdminUserResource.scala | 17 +-
.../web/resource/dashboard/hub/HubResource.scala | 14 +-
.../web/resource/dashboard/user/UserResource.scala | 79 +
.../dataset/utils/DatasetStatisticsUtils.scala | 8 +-
.../user/project/ProjectAccessResource.scala | 20 +-
.../dashboard/user/project/ProjectResource.scala | 13 +-
.../user/project/PublicProjectResource.scala | 11 +-
.../dashboard/user/quota/UserQuotaResource.scala | 7 +-
.../user/workflow/WorkflowAccessResource.scala | 53 +-
.../user/workflow/WorkflowExecutionsResource.scala | 9 +-
.../dashboard/user/workflow/WorkflowResource.scala | 63 +-
.../user/workflow/WorkflowVersionResource.scala | 11 +-
.../web/service/ExecutionResultService.scala | 31 +-
.../texera/web/service/ExecutionStatsService.scala | 17 +-
.../service/ExecutionsMetadataPersistService.scala | 14 +-
.../texera/web/service/WorkflowService.scala | 8 +-
.../apache/texera/workflow/WorkflowCompiler.scala | 5 +-
.../CostBasedScheduleGeneratorSpec.scala | 311 ++-
.../amber/engine/e2e/DataProcessingSpec.scala | 145 +-
.../dashboard/file/WorkflowResourceSpec.scala | 17 +
.../user/workflow/WorkflowAccessResourceSpec.scala | 405 ++++
bin/access-control-service.dockerfile | 2 +-
bin/bootstrap-lakekeeper.sh | 473 ++++
bin/build-images.sh | 34 +-
bin/computing-unit-master.dockerfile | 64 +-
bin/computing-unit-worker.dockerfile | 68 +-
bin/config-service.dockerfile | 2 +-
bin/file-service.dockerfile | 2 +-
bin/fix-format.sh | 12 +-
bin/frontend-proto-gen.sh | 2 +-
bin/k8s/Chart.yaml | 12 +-
bin/k8s/README.md | 26 +-
.../access-control-service-deployment.yaml | 10 +-
bin/k8s/templates/config-service-deployment.yaml | 2 +-
bin/k8s/templates/envoy-config.yaml | 147 --
bin/k8s/templates/envoy-deployment.yaml | 49 -
bin/k8s/templates/example-data-loader-job.yaml | 2 +-
bin/k8s/templates/external-names.yaml | 8 +
bin/k8s/templates/file-service-deployment.yaml | 2 +-
...g-units-namespace.yaml => gateway-backend.yaml} | 11 +-
bin/k8s/templates/gateway-routes.yaml | 142 ++
...y-service.yaml => gateway-security-policy.yaml} | 33 +-
bin/k8s/templates/gateway.yaml | 81 +
bin/k8s/templates/ingress.yaml | 53 -
bin/k8s/templates/minio-ingress.yaml | 65 -
bin/k8s/templates/webserver-deployment.yaml | 2 +-
.../workflow-compiling-service-deployment.yaml | 2 +-
...workflow-computing-unit-manager-deployment.yaml | 17 +-
...ow-computing-unit-master-prepull-daemonset.yaml | 2 +-
bin/k8s/{values.yaml => values-development.yaml} | 208 +-
bin/k8s/values.yaml | 159 +-
bin/postgres17-pgroonga.dockerfile | 50 -
bin/python-proto-gen.sh | 2 +-
bin/single-node/.env | 25 +-
bin/single-node/README.md | 174 +-
bin/single-node/docker-compose.yml | 170 +-
.../examples/datasets/iris-species/Iris.csv | 151 ++
.../examples/datasets/iris-species/description.txt | 1 +
.../popular-movies-of-imdb/TMDb_updated.csv | 1002 +++++++++
.../popular-movies-of-imdb/description.txt | 1 +
bin/single-node/examples/load-examples.sh | 288 +++
...xample] Data Exploration on Movies Dataset.json | 652 ++++++
...[Example] Machine Learning on Iris Dataset.json | 800 +++++++
bin/single-node/nginx.conf | 24 +-
bin/texera-web-application.dockerfile | 2 +-
bin/workflow-compiling-service.dockerfile | 2 +-
...flow-computing-unit-managing-service.dockerfile | 2 +-
build.sbt | 55 +-
common/auth/build.sbt | 6 +-
.../org/apache/texera/auth/JwtAuthFilter.scala | 2 +-
.../scala/org/apache/texera/auth/JwtParser.scala | 3 +-
.../apache/texera/auth/RequestLoggingFilter.scala | 64 +
.../texera/auth/util/ComputingUnitAccess.scala | 7 +-
common/config/build.sbt | 2 +-
common/config/src/main/resources/application.conf | 3 +
common/config/src/main/resources/cluster.conf | 1 +
common/config/src/main/resources/gui.conf | 9 +-
common/config/src/main/resources/kubernetes.conf | 5 +-
common/config/src/main/resources/storage.conf | 17 +-
common/config/src/main/resources/user-system.conf | 3 +
.../texera/amber/config/ApplicationConfig.scala | 2 +
.../amber/config/EnvironmentalVariable.scala | 7 +-
.../apache/texera/amber/config/StorageConfig.scala | 7 +-
.../org/apache/texera/config/AuthConfig.scala | 7 +-
.../scala/org/apache/texera/config/GuiConfig.scala | 4 +
.../apache/texera/config/KubernetesConfig.scala | 1 +
.../apache/texera/config/UserSystemConfig.scala | 1 +
common/dao/build.sbt | 4 +-
.../org/apache/texera/dao/JooqCodeGenerator.scala | 75 -
.../scala/org/apache/texera/dao/SqlServer.scala | 14 +-
.../pybuilder}/build.sbt | 39 +-
.../texera/amber/pybuilder/BoundaryValidator.scala | 187 ++
.../amber/pybuilder/EncodableInspector.scala | 172 ++
.../pybuilder/EncodableStringAnnotation.java} | 21 +-
.../texera/amber/pybuilder/PythonLexerUtils.scala | 84 +
.../amber/pybuilder/PythonTemplateBuilder.scala | 481 ++++
.../amber/pybuilder/PythonLexerUtilsSpec.scala | 167 ++
.../pybuilder/PythonTemplateBuilderSpec.scala | 614 ++++++
common/workflow-core/build.sbt | 40 +-
.../org/apache/texera/amber/core/workflow.proto | 3 +-
.../amber/core/storage/DocumentFactory.scala | 102 +-
.../core/storage/IcebergCatalogInstance.scala | 2 +-
.../storage/model/ReadonlyLocalFileDocument.scala | 6 +-
.../storage/model/ReadonlyVirtualDocument.scala | 3 +-
.../amber/core/storage/model/VirtualDocument.scala | 3 +-
.../storage/result/iceberg/IcebergDocument.scala | 29 +-
.../result/iceberg/IcebergTableWriter.scala | 6 +-
.../core/storage/util/LakeFSStorageClient.scala | 108 +-
.../texera/amber/core/tuple/AttributeType.java | 6 +-
.../amber/core/tuple/AttributeTypeUtils.scala | 39 +-
.../tuple/{BigObject.java => LargeBinary.java} | 34 +-
.../texera/amber/core/workflow/ExecutionMode.java | 10 +-
.../texera/amber/core/workflow/PhysicalOp.scala | 4 +-
.../amber/core/workflow/WorkflowContext.scala | 4 +-
.../amber/core/workflow/WorkflowSettings.scala | 6 +-
.../org/apache/texera/amber/util/ArrowUtils.scala | 49 +-
.../org/apache/texera/amber/util/IcebergUtil.scala | 115 +-
...utStream.scala => LargeBinaryInputStream.scala} | 14 +-
...bjectManager.scala => LargeBinaryManager.scala} | 20 +-
...tStream.scala => LargeBinaryOutputStream.scala} | 24 +-
.../texera/service/util/S3StorageClient.scala | 57 +
.../amber/core/tuple/AttributeTypeUtilsSpec.scala | 65 +-
.../result/iceberg/IcebergDocumentSpec.scala | 78 +-
.../apache/texera/amber/util/IcebergUtilSpec.scala | 67 +-
.../texera/service/util/BigObjectManagerSpec.scala | 471 ----
...Spec.scala => LargeBinaryInputStreamSpec.scala} | 130 +-
.../service/util/LargeBinaryManagerSpec.scala | 471 ++++
...pec.scala => LargeBinaryOutputStreamSpec.scala} | 104 +-
common/workflow-operator/build.sbt | 4 +-
common/workflow-operator/project/build.properties | 2 +-
.../jackson/jsonSchema/JsonSchemaDraft.java | 19 +-
.../jackson/jsonSchema/JsonSchemaGenerator.scala | 56 +-
.../JsonSchemaArrayWithUniqueItems.java | 20 +-
.../jsonSchema/annotations/JsonSchemaBool.java | 20 +-
.../jsonSchema/annotations/JsonSchemaDefault.java | 20 +-
.../annotations/JsonSchemaDescription.java | 20 +-
.../jsonSchema/annotations/JsonSchemaExamples.java | 20 +-
.../jsonSchema/annotations/JsonSchemaFormat.java | 20 +-
.../jsonSchema/annotations/JsonSchemaInject.java | 20 +-
.../jsonSchema/annotations/JsonSchemaInt.java | 20 +-
.../jsonSchema/annotations/JsonSchemaOptions.java | 20 +-
.../jsonSchema/annotations/JsonSchemaString.java | 20 +-
.../jsonSchema/annotations/JsonSchemaTitle.java | 20 +-
.../apache/texera/amber/operator/LogicalOp.scala | 23 +-
.../texera/amber/operator/PortDescriptor.scala | 7 +-
.../texera/amber/operator/dummy/DummyOpDesc.scala | 4 +-
.../HuggingFaceIrisLogisticRegressionOpDesc.scala | 23 +-
.../HuggingFaceSentimentAnalysisOpDesc.scala | 18 +-
.../HuggingFaceSpamSMSDetectionOpDesc.scala | 18 +-
.../HuggingFaceTextSummarizationOpDesc.scala | 14 +-
.../keywordSearch/KeywordSearchOpDesc.scala | 3 +-
.../Scorer/MachineLearningScorerOpDesc.scala | 20 +-
.../sklearnAdvanced/base/HyperParameters.java | 58 -
.../sklearnAdvanced/base/HyperParameters.scala | 69 +
.../base/SklearnAdvancedBaseDesc.scala | 62 +-
.../operator/metadata/OperatorGroupConstants.scala | 7 +-
.../metadata/OperatorMetadataGenerator.scala | 16 +
.../operator/sklearn/SklearnClassifierOpDesc.scala | 16 +-
.../sklearn/SklearnLinearRegressionOpDesc.scala | 12 +-
.../operator/sklearn/SklearnPredictionOpDesc.scala | 22 +-
.../sklearn/testing/SklearnTestingOpDesc.scala | 114 +
.../sklearn/training/SklearnTrainingOpDesc.scala | 16 +-
.../amber/operator/sort/SortCriteriaUnit.java | 36 -
.../SortCriteriaUnit.scala} | 28 +-
.../texera/amber/operator/sort/SortOpDesc.scala | 7 +-
.../apis/reddit/RedditSearchSourceOpDesc.scala | 26 +-
.../dataset/FileListerSourceOpDesc.scala} | 34 +-
.../source/dataset/FileListerSourceOpExec.scala | 59 +
.../operator/source/scan/FileAttributeType.java | 4 +-
.../source/scan/FileScanSourceOpExec.scala | 128 --
.../source/scan/csv/CSVScanSourceOpDesc.scala | 2 +-
.../scan/csv/ParallelCSVScanSourceOpDesc.scala | 2 +-
.../FileScanOpDesc.scala} | 55 +-
.../scan/file/FileScanOpExec.scala} | 44 +-
.../scan/{ => file}/FileScanSourceOpDesc.scala | 5 +-
.../file/FileScanSourceOpExec.scala} | 36 +-
.../operator/source/scan/file/FileScanUtils.scala | 154 ++
.../source/sql/mysql/MySQLSourceOpDesc.scala | 1 +
.../source/sql/mysql/MySQLSourceOpExec.scala | 1 +
.../amber/operator/udf/java/JavaUDFOpDesc.scala | 4 +-
.../python/DualInputPortsPythonUDFOpDescV2.scala | 3 +-
.../operator/udf/python/PythonUDFOpDescV2.scala | 4 +-
.../texera/amber/operator/udf/r/RUDFOpDesc.scala | 8 +-
.../texera/amber/operator/union/UnionOpDesc.scala | 4 +-
.../visualization/DotPlot/DotPlotOpDesc.scala | 30 +-
.../IcicleChart/IcicleChartOpDesc.scala | 40 +-
.../ImageViz/ImageVisualizerOpDesc.scala | 28 +-
.../ScatterMatrixChartOpDesc.scala | 32 +-
.../visualization/barChart/BarChartOpDesc.scala | 42 +-
.../boxViolinPlot/BoxViolinPlotOpDesc.scala | 44 +-
.../bubbleChart/BubbleChartOpDesc.scala | 48 +-
.../bulletChart/BulletChartOpDesc.scala | 36 +-
.../bulletChart/BulletChartStepDefinition.scala | 5 +-
.../candlestickChart/CandlestickChartOpDesc.scala | 35 +-
.../carpetPlot/CarpetPlotOpDesc.scala | 124 ++
.../choroplethMap/ChoroplethMapOpDesc.scala | 40 +-
.../continuousErrorBands/BandConfig.scala | 7 +-
.../ContinuousErrorBandsOpDesc.scala | 56 +-
.../contourPlot/ContourPlotOpDesc.scala | 35 +-
.../dendrogram/DendrogramOpDesc.scala | 42 +-
.../dumbbellPlot/DumbbellDotConfig.scala | 3 +-
.../dumbbellPlot/DumbbellPlotOpDesc.scala | 66 +-
.../visualization/ecdfPlot/ECDFPlotOpDesc.scala | 186 ++
.../FigureFactoryTableConfig.scala | 3 +-
.../FigureFactoryTableOpDesc.scala | 64 +-
.../filledAreaPlot/FilledAreaPlotOpDesc.scala | 64 +-
.../funnelPlot/FunnelPlotOpDesc.scala | 49 +-
.../ganttChart/GanttChartOpDesc.scala | 50 +-
.../gaugeChart/GaugeChartOpDesc.scala | 31 +-
.../visualization/gaugeChart/GaugeChartSteps.scala | 5 +-
.../visualization/heatMap/HeatMapOpDesc.scala | 32 +-
.../hierarchychart/HierarchyChartOpDesc.scala | 40 +-
.../hierarchychart/HierarchySection.scala | 3 +-
.../histogram/HistogramChartOpDesc.scala | 54 +-
.../histogram2d/Histogram2DOpDesc.scala | 37 +-
.../visualization/htmlviz/HtmlVizOpDesc.scala | 14 +-
.../visualization/lineChart/LineChartOpDesc.scala | 46 +-
.../visualization/lineChart/LineConfig.scala | 9 +-
.../nestedTable/NestedTableConfig.scala | 7 +-
.../nestedTable/NestedTableOpDesc.scala | 27 +-
.../networkGraph/NetworkGraphOpDesc.scala | 43 +-
.../ParallelCoordinatesPlotOpDesc.scala} | 116 +-
.../visualization/pieChart/PieChartOpDesc.scala | 40 +-
.../PolarChartOpDesc.scala} | 104 +-
.../quiverPlot/QuiverPlotOpDesc.scala | 38 +-
.../radarChart/RadarChartOpDesc.scala | 163 ++
.../RadarPlotLinePattern.java} | 23 +-
.../visualization/radarPlot/RadarPlotOpDesc.scala | 230 ++
.../rangeSlider/RangeSliderOpDesc.scala | 48 +-
.../sankeyDiagram/SankeyDiagramOpDesc.scala | 84 +-
.../scatter3DChart/Scatter3dChartOpDesc.scala | 70 +-
.../scatterplot/ScatterplotOpDesc.scala | 60 +-
.../stripChart/StripChartOpDesc.scala | 49 +-
.../visualization/tablesChart/TablesConfig.scala | 3 +-
.../tablesChart/TablesPlotOpDesc.scala | 51 +-
.../ternaryPlot/TernaryPlotOpDesc.scala | 48 +-
.../timeSeriesplot/TimeSeriesOpDesc.scala} | 39 +-
.../{TreeplotOpDesc.scala => TreePlotOpDesc.scala} | 21 +-
.../visualization/urlviz/UrlVizOpDesc.scala | 14 +-
.../volcanoPlot/VolcanoPlotOpDesc.scala | 29 +-
.../waterfallChart/WaterfallChartOpDesc.scala | 32 +-
.../WindRoseChartOpDesc.scala} | 98 +-
.../visualization/wordCloud/WordCloudOpDesc.scala | 41 +-
.../amber/operator/aggregate/AggregateOpSpec.scala | 170 ++
.../dataset/FileListerSourceOpDescSpec.scala} | 30 +-
.../source/scan/csv/CSVScanSourceOpDescSpec.scala | 32 +
.../source/scan/file/FileScanOpDescSpec.scala | 99 +
.../{text => file}/FileScanSourceOpDescSpec.scala | 9 +-
.../scan/{ => file}/FileScanSourceOpExecSpec.scala | 49 +-
.../timeSeriesPlot/TimeSeriesOpDescSpec.scala | 38 +-
.../visualization/DotPlot/DotPlotOpDescSpec.scala | 3 +-
.../barChart/BarChartOpDescSpec.scala | 2 +-
.../bubbleChart/BubbleChartOpDescSpec.scala | 3 +-
.../ecdfPlot/ECDFPlotOpDescSpec.scala | 61 +
.../ganttChart/GanttChartOpDescSpec.scala | 15 +-
.../hierarchychart/HierarchyChartOpDescSpec.scala | 2 -
.../wordCloud/WordCloudOpDescSpec.scala | 57 +
.../texera/amber/pybuilder/DescriptorChecker.scala | 902 ++++++++
.../amber/pybuilder/PythonClassgraphScanner.scala | 56 +
.../amber/pybuilder/PythonConsoleCapture.scala | 44 +
.../pybuilder/PythonRawTextReportRenderer.scala | 53 +
.../pybuilder/PythonReflectionTextUtils.scala | 64 +
.../amber/pybuilder/PythonReflectionUtils.scala | 65 +
.../apache/texera/amber/util/ArrowUtilsSpec.scala | 144 +-
.../amber/util/PythonCodeRawInvalidTextSpec.scala | 266 +++
computing-unit-managing-service/build.sbt | 3 +-
.../project/build.properties | 2 +-
.../computing-unit-managing-service-config.yaml | 7 +-
.../service/ComputingUnitManagingService.scala | 14 +-
.../resource/ComputingUnitAccessResource.scala | 7 +-
.../resource/ComputingUnitManagingResource.scala | 17 +-
config-service/build.sbt | 2 +-
.../main/resources/config-service-web-config.yaml | 7 +-
.../org/apache/texera/service/ConfigService.scala | 13 +-
.../texera/service/resource/ConfigResource.scala | 2 +
file-service/build.sbt | 4 +-
.../main/resources/file-service-web-config.yaml | 7 +-
.../org/apache/texera/service/FileService.scala | 17 +-
.../service/resource/DatasetAccessResource.scala | 7 +-
.../texera/service/resource/DatasetResource.scala | 1138 ++++++++--
.../service/util/LakeFSExceptionHandler.scala | 79 +
.../org/apache/texera/service/MockLakeFS.scala | 56 +-
.../service/resource/DatasetResourceSpec.scala | 2332 +++++++++++++++++++-
frontend/.yarnrc.yml | 1 +
frontend/custom-webpack.config.js | 4 +-
frontend/src/app/app-routing.constant.ts | 1 +
frontend/src/app/app-routing.module.ts | 5 +
frontend/src/app/app.module.ts | 22 +-
frontend/src/app/common/formly/array.type.ts | 23 +-
frontend/src/app/common/formly/formly-config.ts | 6 +-
frontend/src/app/common/formly/multischema.type.ts | 20 +-
frontend/src/app/common/formly/null.type.ts | 20 +-
frontend/src/app/common/formly/object.type.ts | 20 +-
.../computing-unit-actions.service.ts | 130 ++
.../computing-unit-status.service.ts | 12 +-
.../mock-computing-unit-status.service.ts | 2 +-
.../workflow-computing-unit-managing.service.ts | 4 +-
.../src/app/common/service/gmail/gmail.service.ts | 22 +-
.../app/common/service/gui-config.service.mock.ts | 3 +
.../src/app/common/service/user/auth.service.ts | 110 +-
.../registration-request-modal.component.html | 54 +
.../registration-request-modal.component.scss} | 19 +-
.../registration-request-modal.component.ts} | 40 +-
.../app/common/service/user/stub-user.service.ts | 10 +
.../app/common/service/user/user.service.spec.ts | 2 +
.../src/app/common/service/user/user.service.ts | 5 +-
.../workflow-persist/workflow-persist.service.ts | 11 +-
.../type}/computing-unit-connection.interface.ts | 0
frontend/src/app/common/type/dataset.ts | 1 +
.../src/app/common/type/generic-web-response.ts | 5 +-
frontend/src/app/common/type/gui-config.ts | 3 +
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 +--
frontend/src/app/common/type/user.ts | 2 +
.../type}/workflow-computing-unit.ts | 0
frontend/src/app/common/type/workflow.ts | 6 +
.../src/app/common/util/computing-unit.util.ts | 353 +++
.../src/app/common/util/port-identity-serde.ts | 2 +-
.../component/admin/user/admin-user.component.html | 12 +
.../component/admin/user/admin-user.component.ts | 10 +
.../dashboard/component/dashboard.component.html | 11 +
.../app/dashboard/component/dashboard.component.ts | 6 +-
.../component/user-dashboard-test-fixtures.ts | 4 +-
.../conflicting-file-modal-content.component.html} | 26 +-
.../conflicting-file-modal-content.component.scss} | 3 +
.../conflicting-file-modal-content.component.ts} | 33 +-
.../files-uploader/files-uploader.component.ts | 214 +-
.../user/list-item/list-item.component.html | 15 +-
.../user/list-item/list-item.component.scss | 1 +
.../user/list-item/list-item.component.ts | 49 +-
.../markdown-description.component.html | 112 +
.../markdown-description.component.scss | 102 +
.../markdown-description.component.ts | 173 ++
.../user/share-access/share-access.component.html | 19 +-
.../user/share-access/share-access.component.ts | 99 +-
.../user-computing-unit-list-item.component.html | 212 ++
.../user-computing-unit-list-item.component.scss} | 245 +-
.../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 | 137 +-
.../dataset-detail.component.scss | 149 +-
.../dataset-detail.component.ts | 295 ++-
.../user-dataset-file-renderer.component.ts | 6 +
.../user-dataset-version-creator.component.ts | 1 +
.../user-dataset-version-filetree.component.html | 15 +-
.../user-dataset-version-filetree.component.scss | 2 +-
.../user-dataset-version-filetree.component.ts | 18 +-
.../user/user-workflow/user-workflow.component.ts | 10 +-
.../service/user/dataset/dataset.service.ts | 288 +--
.../service/user/download/download.service.ts | 2 +-
frontend/src/app/dashboard/type/dashboard-entry.ts | 41 +-
.../app/dashboard/type/dashboard-file.interface.ts | 1 +
frontend/src/app/dashboard/type/search-result.ts | 2 +-
frontend/src/app/dashboard/type/type-predicates.ts | 5 +
.../browse-section/browse-section.component.html | 3 +-
.../browse-section/browse-section.component.ts | 26 +
.../landing-page/landing-page.component.html | 5 -
.../detail/hub-workflow-detail.component.html | 5 +-
.../detail/hub-workflow-detail.component.ts | 6 +-
frontend/src/app/hub/service/hub.service.ts | 1 +
.../dataset-file-selector.component.html} | 26 +-
.../dataset-file-selector.component.ts} | 34 +-
.../dataset-selection-modal.component.html | 67 +
.../dataset-selection-modal.component.scss} | 16 +-
.../dataset-selection-modal.component.ts | 108 +
.../dataset-version-selector.component.html} | 17 +-
.../dataset-version-selector.component.ts | 60 +
.../file-selection/file-selection.component.html | 77 -
.../file-selection/file-selection.component.scss | 89 -
.../file-selection/file-selection.component.ts | 127 --
.../input-autocomplete.component.html | 42 -
.../input-autocomplete.component.scss | 50 -
.../input-autocomplete.component.spec.ts | 49 -
.../left-panel/settings/settings.component.html | 17 +-
.../left-panel/settings/settings.component.scss | 4 -
.../left-panel/settings/settings.component.ts | 64 +-
.../time-travel/time-travel.component.spec.ts | 4 +-
.../coeditor-user-icon.component.ts | 10 +-
.../workspace/component/menu/menu.component.html | 17 +
.../workspace/component/menu/menu.component.scss | 4 +
.../app/workspace/component/menu/menu.component.ts | 81 +-
.../computing-unit-selection.component.spec.ts | 4 +-
.../computing-unit-selection.component.ts | 476 +---
.../operator-property-edit-frame.component.spec.ts | 4 +-
.../operator-property-edit-frame.component.ts | 22 +-
.../property-editor.component.spec.ts | 4 +-
.../result-exportation.component.ts | 4 +-
.../console-frame/console-frame.component.spec.ts | 4 +-
.../error-frame/error-frame.component.spec.ts | 4 +-
.../result-panel/result-panel.component.spec.ts | 4 +-
.../result-panel/result-panel.component.ts | 2 +-
.../result-table-frame.component.html | 34 +
.../result-table-frame.component.spec.ts | 13 +
.../result-table-frame.component.ts | 80 +-
.../workflow-editor/workflow-editor.component.scss | 4 +-
.../workflow-editor.component.spec.ts | 8 +-
.../workflow-editor/workflow-editor.component.ts | 58 +-
.../workspace/component/workspace.component.scss | 4 +
.../execute-workflow.service.spec.ts | 4 +-
.../execute-workflow/execute-workflow.service.ts | 2 +-
.../workspace/service/joint-ui/joint-ui.service.ts | 23 +-
.../operator-menu/operator-menu.service.spec.ts | 4 +-
.../mock-operator-metadata.data.ts | 2 +-
.../validation/validation-workflow.service.ts | 10 +-
.../model/workflow-action.service.ts | 17 +-
.../workflow-graph/util/workflow-util.service.ts | 4 +-
.../workflow-result-export.service.ts | 2 +-
.../workflow-result/workflow-result.service.ts | 26 +-
.../workflow-websocket.service.spec.ts | 60 +
.../workflow-websocket.service.ts | 4 +-
.../workspace/types/execute-workflow.interface.ts | 3 +-
.../workspace/types/operator-schema.interface.ts | 4 +-
.../workspace/types/shared-editing.interface.ts | 125 +-
.../workspace/types/workflow-common.interface.ts | 2 +-
.../types/workflow-websocket.interface.ts | 3 +
frontend/src/assets/operator_images/CarpetPlot.png | Bin 0 -> 17941 bytes
frontend/src/assets/operator_images/ECDFPlot.png | Bin 0 -> 1297 bytes
.../{CSVFileScan.png => FileLister.png} | Bin
.../{CSVFileScan.png => FileScanOp.png} | Bin
.../operator_images/ParallelCoordinatesPlot.png | Bin 0 -> 4583 bytes
frontend/src/assets/operator_images/PolarChart.png | Bin 0 -> 133686 bytes
frontend/src/assets/operator_images/RadarChart.png | Bin 0 -> 171348 bytes
frontend/src/assets/operator_images/RadarPlot.png | Bin 0 -> 48432 bytes
.../src/assets/operator_images/SklearnTesting.png | Bin 0 -> 843070 bytes
.../src/assets/operator_images/WindRoseChart.png | Bin 0 -> 24191 bytes
frontend/src/assets/svg/hub_icon.svg | 576 -----
.../assets/svg/operator-reuse-cache-invalid.svg | 26 +-
.../src/assets/svg/operator-reuse-cache-valid.svg | 28 +-
frontend/src/assets/svg/operator-view-result.svg | 20 +-
frontend/src/styles.scss | 4 +-
licenses/LICENSE-MIT.txt | 19 +
project/AddMetaInfLicenseFiles.scala | 142 ++
project/build.properties | 2 +-
project/plugins.sbt | 9 +-
.../src/language-server-runner.ts | 23 +-
pyright-language-service/src/main.ts | 23 +-
pyright-language-service/src/server-commons.ts | 24 +-
.../src/types/hocon-parser.d.ts | 2 +-
sql/texera_ddl.sql | 55 +-
sql/{texera_lakefs.sql => texera_lakekeeper.sql} | 4 +-
.../updates/16.sql | 12 +-
sql/updates/{04.sql => 17.sql} | 41 +-
.../model/OnDataset.scala => sql/updates/18.sql | 14 +-
sql/updates/19.sql | 60 +
sql/updates/{15.sql => 20.sql} | 21 +-
.../updates/21.sql | 12 +-
.../DeployStrategy.scala => sql/updates/22.sql | 15 +-
workflow-compiling-service/build.sbt | 2 +-
.../project/build.properties | 2 +-
.../workflow-compiling-service-config.yaml | 7 +-
.../texera/service/WorkflowCompilingService.scala | 32 +
590 files changed, 26199 insertions(+), 8713 deletions(-)
create mode 100644 .github/workflows/automatic-email-notif-on-ddl-change.yml
delete mode 100644 DISCLAIMER
create mode 100644 DISCLAIMER-WIP
create mode 100644
amber/src/main/python/core/architecture/managers/test_executor_manager.py
delete mode 100644 amber/src/main/python/core/models/RTableExecutor.py
delete mode 100644 amber/src/main/python/core/models/RTupleExecutor.py
delete mode 100644 amber/src/main/python/core/models/r_utils.py
create mode 100644
amber/src/main/python/core/models/schema/arrow_schema_utils.py
create mode 100644
amber/src/main/python/core/models/schema/attribute_type_utils.py
delete mode 100644 amber/src/main/python/core/models/test_RTableExecutor.py
rename amber/{r-requirements.txt =>
src/main/python/core/models/type/__init__.py} (92%)
create mode 100644 amber/src/main/python/core/models/type/large_binary.py
create mode 100644 amber/src/main/python/core/models/type/test_large_binary.py
create mode 100644
amber/src/main/python/core/storage/iceberg/test_iceberg_utils_catalog.py
create mode 100644
amber/src/main/python/core/storage/iceberg/test_iceberg_utils_large_binary.py
create mode 100644
amber/src/main/python/pytexera/storage/large_binary_input_stream.py
create mode 100644
amber/src/main/python/pytexera/storage/large_binary_manager.py
create mode 100644
amber/src/main/python/pytexera/storage/large_binary_output_stream.py
create mode 100644
amber/src/main/python/pytexera/storage/test_large_binary_input_stream.py
create mode 100644
amber/src/main/python/pytexera/storage/test_large_binary_manager.py
create mode 100644
amber/src/main/python/pytexera/storage/test_large_binary_output_stream.py
create mode 100644
amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/UserResource.scala
create mode 100644
amber/src/test/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowAccessResourceSpec.scala
create mode 100755 bin/bootstrap-lakekeeper.sh
delete mode 100644 bin/k8s/templates/envoy-config.yaml
delete mode 100644 bin/k8s/templates/envoy-deployment.yaml
copy bin/k8s/templates/{workflow-computing-units-namespace.yaml =>
gateway-backend.yaml} (82%)
create mode 100644 bin/k8s/templates/gateway-routes.yaml
rename bin/k8s/templates/{envoy-service.yaml => gateway-security-policy.yaml}
(59%)
create mode 100644 bin/k8s/templates/gateway.yaml
delete mode 100644 bin/k8s/templates/ingress.yaml
delete mode 100644 bin/k8s/templates/minio-ingress.yaml
copy bin/k8s/{values.yaml => values-development.yaml} (69%)
delete mode 100644 bin/postgres17-pgroonga.dockerfile
create mode 100644 bin/single-node/examples/datasets/iris-species/Iris.csv
create mode 100644
bin/single-node/examples/datasets/iris-species/description.txt
create mode 100644
bin/single-node/examples/datasets/popular-movies-of-imdb/TMDb_updated.csv
create mode 100644
bin/single-node/examples/datasets/popular-movies-of-imdb/description.txt
create mode 100755 bin/single-node/examples/load-examples.sh
create mode 100644 bin/single-node/examples/workflows/[Example] Data
Exploration on Movies Dataset.json
create mode 100644 bin/single-node/examples/workflows/[Example] Machine
Learning on Iris Dataset.json
create mode 100644
common/auth/src/main/scala/org/apache/texera/auth/RequestLoggingFilter.scala
delete mode 100644
common/dao/src/main/scala/org/apache/texera/dao/JooqCodeGenerator.scala
copy {access-control-service => common/pybuilder}/build.sbt (72%)
create mode 100644
common/pybuilder/src/main/scala/org/apache/texera/amber/pybuilder/BoundaryValidator.scala
create mode 100644
common/pybuilder/src/main/scala/org/apache/texera/amber/pybuilder/EncodableInspector.scala
copy
common/{workflow-operator/src/main/scala/com/kjetland/jackson/jsonSchema/annotations/JsonSchemaArrayWithUniqueItems.java
=>
pybuilder/src/main/scala/org/apache/texera/amber/pybuilder/EncodableStringAnnotation.java}
(71%)
create mode 100644
common/pybuilder/src/main/scala/org/apache/texera/amber/pybuilder/PythonLexerUtils.scala
create mode 100644
common/pybuilder/src/main/scala/org/apache/texera/amber/pybuilder/PythonTemplateBuilder.scala
create mode 100644
common/pybuilder/src/test/scala/org/apache/texera/amber/pybuilder/PythonLexerUtilsSpec.scala
create mode 100644
common/pybuilder/src/test/scala/org/apache/texera/amber/pybuilder/PythonTemplateBuilderSpec.scala
rename
common/workflow-core/src/main/scala/org/apache/texera/amber/core/tuple/{BigObject.java
=> LargeBinary.java} (70%)
copy amber/src/main/scala/org/apache/texera/web/TexeraWebConfiguration.java =>
common/workflow-core/src/main/scala/org/apache/texera/amber/core/workflow/ExecutionMode.java
(80%)
rename
common/workflow-core/src/main/scala/org/apache/texera/service/util/{BigObjectInputStream.scala
=> LargeBinaryInputStream.scala} (83%)
rename
common/workflow-core/src/main/scala/org/apache/texera/service/util/{BigObjectManager.scala
=> LargeBinaryManager.scala} (70%)
rename
common/workflow-core/src/main/scala/org/apache/texera/service/util/{BigObjectOutputStream.scala
=> LargeBinaryOutputStream.scala} (82%)
delete mode 100644
common/workflow-core/src/test/scala/org/apache/texera/service/util/BigObjectManagerSpec.scala
rename
common/workflow-core/src/test/scala/org/apache/texera/service/util/{BigObjectInputStreamSpec.scala
=> LargeBinaryInputStreamSpec.scala} (68%)
create mode 100644
common/workflow-core/src/test/scala/org/apache/texera/service/util/LargeBinaryManagerSpec.scala
rename
common/workflow-core/src/test/scala/org/apache/texera/service/util/{BigObjectOutputStreamSpec.scala
=> LargeBinaryOutputStreamSpec.scala} (63%)
delete mode 100644
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/machineLearning/sklearnAdvanced/base/HyperParameters.java
create mode 100644
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/machineLearning/sklearnAdvanced/base/HyperParameters.scala
create mode 100644
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/sklearn/testing/SklearnTestingOpDesc.scala
delete mode 100644
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/sort/SortCriteriaUnit.java
copy
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/{visualization/dumbbellPlot/DumbbellDotConfig.scala
=> sort/SortCriteriaUnit.scala} (63%)
copy
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/{sleep/SleepOpDesc.scala
=> source/dataset/FileListerSourceOpDesc.scala} (67%)
create mode 100644
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/source/dataset/FileListerSourceOpExec.scala
delete mode 100644
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/source/scan/FileScanSourceOpExec.scala
copy
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/source/scan/{FileScanSourceOpDesc.scala
=> file/FileScanOpDesc.scala} (61%)
copy
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/{split/SplitOpExec.scala
=> source/scan/file/FileScanOpExec.scala} (58%)
rename
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/source/scan/{
=> file}/FileScanSourceOpDesc.scala (93%)
copy
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/source/{fetcher/URLFetcherOpExec.scala
=> scan/file/FileScanSourceOpExec.scala} (55%)
create mode 100644
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/source/scan/file/FileScanUtils.scala
create mode 100644
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/visualization/carpetPlot/CarpetPlotOpDesc.scala
create mode 100644
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/visualization/ecdfPlot/ECDFPlotOpDesc.scala
copy
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/visualization/{pieChart/PieChartOpDesc.scala
=> parallelCoordinatesPlot/ParallelCoordinatesPlotOpDesc.scala} (50%)
copy
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/visualization/{contourPlot/ContourPlotOpDesc.scala
=> polarChart/PolarChartOpDesc.scala} (52%)
create mode 100644
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/visualization/radarChart/RadarChartOpDesc.scala
copy
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/visualization/{histogram2d/NormalizationType.java
=> radarPlot/RadarPlotLinePattern.java} (71%)
create mode 100644
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/visualization/radarPlot/RadarPlotOpDesc.scala
rename
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/{timeSeriesPlot/TimeSeriesPlot.scala
=> visualization/timeSeriesplot/TimeSeriesOpDesc.scala} (82%)
rename
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/visualization/treeplot/{TreeplotOpDesc.scala
=> TreePlotOpDesc.scala} (93%)
copy
common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/visualization/{waterfallChart/WaterfallChartOpDesc.scala
=> windRoseChart/WindRoseChartOpDesc.scala} (54%)
copy
common/workflow-operator/src/test/scala/org/apache/texera/amber/operator/{visualization/scatterplot/ScatterPlotOpDescSpec.scala
=> source/dataset/FileListerSourceOpDescSpec.scala} (52%)
create mode 100644
common/workflow-operator/src/test/scala/org/apache/texera/amber/operator/source/scan/file/FileScanOpDescSpec.scala
rename
common/workflow-operator/src/test/scala/org/apache/texera/amber/operator/source/scan/{text
=> file}/FileScanSourceOpDescSpec.scala (97%)
rename
common/workflow-operator/src/test/scala/org/apache/texera/amber/operator/source/scan/{
=> file}/FileScanSourceOpExecSpec.scala (71%)
copy
amber/src/main/scala/org/apache/texera/amber/engine/common/CheckpointState.scala
=>
common/workflow-operator/src/test/scala/org/apache/texera/amber/operator/timeSeriesPlot/TimeSeriesOpDescSpec.scala
(54%)
create mode 100644
common/workflow-operator/src/test/scala/org/apache/texera/amber/operator/visualization/ecdfPlot/ECDFPlotOpDescSpec.scala
create mode 100644
common/workflow-operator/src/test/scala/org/apache/texera/amber/operator/visualization/wordCloud/WordCloudOpDescSpec.scala
create mode 100644
common/workflow-operator/src/test/scala/org/apache/texera/amber/pybuilder/DescriptorChecker.scala
create mode 100644
common/workflow-operator/src/test/scala/org/apache/texera/amber/pybuilder/PythonClassgraphScanner.scala
create mode 100644
common/workflow-operator/src/test/scala/org/apache/texera/amber/pybuilder/PythonConsoleCapture.scala
create mode 100644
common/workflow-operator/src/test/scala/org/apache/texera/amber/pybuilder/PythonRawTextReportRenderer.scala
create mode 100644
common/workflow-operator/src/test/scala/org/apache/texera/amber/pybuilder/PythonReflectionTextUtils.scala
create mode 100644
common/workflow-operator/src/test/scala/org/apache/texera/amber/pybuilder/PythonReflectionUtils.scala
create mode 100644
common/workflow-operator/src/test/scala/org/apache/texera/amber/util/PythonCodeRawInvalidTextSpec.scala
create mode 100644
file-service/src/main/scala/org/apache/texera/service/util/LakeFSExceptionHandler.scala
create mode 100644
frontend/src/app/common/service/computing-unit/computing-unit-actions/computing-unit-actions.service.ts
rename frontend/src/app/{workspace/service =>
common/service/computing-unit}/computing-unit-status/computing-unit-status.service.ts
(94%)
rename frontend/src/app/{workspace/service =>
common/service/computing-unit}/computing-unit-status/mock-computing-unit-status.service.ts
(94%)
rename frontend/src/app/{workspace/service =>
common/service/computing-unit}/workflow-computing-unit/workflow-computing-unit-managing.service.ts
(98%)
create mode 100644
frontend/src/app/common/service/user/registration-request-modal/registration-request-modal.component.html
copy
frontend/src/app/{dashboard/component/user/search-bar/search-bar.component.scss
=>
common/service/user/registration-request-modal/registration-request-modal.component.scss}
(83%)
copy
frontend/src/app/common/service/{notification/notification.service.spec.ts =>
user/registration-request-modal/registration-request-modal.component.ts} (51%)
rename frontend/src/app/{workspace/types =>
common/type}/computing-unit-connection.interface.ts (100%)
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%)
rename frontend/src/app/{workspace/types =>
common/type}/workflow-computing-unit.ts (100%)
create mode 100644 frontend/src/app/common/util/computing-unit.util.ts
copy
frontend/src/app/dashboard/component/user/{user-avatar/user-avatar.component.html
=>
files-uploader/conflicting-file-modal-content/conflicting-file-modal-content.component.html}
(67%)
copy
frontend/src/app/{workspace/component/menu/coeditor-user-icon/coeditor-user-icon.component.css
=>
dashboard/component/user/files-uploader/conflicting-file-modal-content/conflicting-file-modal-content.component.scss}
(96%)
copy
frontend/src/app/{workspace/component/code-editor-dialog/annotation-suggestion.component.ts
=>
dashboard/component/user/files-uploader/conflicting-file-modal-content/conflicting-file-modal-content.component.ts}
(58%)
create mode 100644
frontend/src/app/dashboard/component/user/markdown-description/markdown-description.component.html
create mode 100644
frontend/src/app/dashboard/component/user/markdown-description/markdown-description.component.scss
create mode 100644
frontend/src/app/dashboard/component/user/markdown-description/markdown-description.component.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
copy
frontend/src/app/{dashboard/component/user/user-avatar/user-avatar.component.html
=>
workspace/component/dataset-file-selector/dataset-file-selector.component.html}
(70%)
rename
frontend/src/app/workspace/component/{input-autocomplete/input-autocomplete.component.ts
=> dataset-file-selector/dataset-file-selector.component.ts} (64%)
create mode 100644
frontend/src/app/workspace/component/dataset-selection-modal/dataset-selection-modal.component.html
copy
frontend/src/app/{dashboard/component/user/user-workflow/ngbd-modal-workflow-executions/workflow-runtime-statistics/workflow-runtime-statistics.component.scss
=>
workspace/component/dataset-selection-modal/dataset-selection-modal.component.scss}
(84%)
create mode 100644
frontend/src/app/workspace/component/dataset-selection-modal/dataset-selection-modal.component.ts
copy frontend/src/app/{dashboard/component/user/flarum/flarum.component.html
=>
workspace/component/dataset-version-selector/dataset-version-selector.component.html}
(78%)
create mode 100644
frontend/src/app/workspace/component/dataset-version-selector/dataset-version-selector.component.ts
delete mode 100644
frontend/src/app/workspace/component/file-selection/file-selection.component.html
delete mode 100644
frontend/src/app/workspace/component/file-selection/file-selection.component.scss
delete mode 100644
frontend/src/app/workspace/component/file-selection/file-selection.component.ts
delete mode 100644
frontend/src/app/workspace/component/input-autocomplete/input-autocomplete.component.html
delete mode 100644
frontend/src/app/workspace/component/input-autocomplete/input-autocomplete.component.scss
delete mode 100644
frontend/src/app/workspace/component/input-autocomplete/input-autocomplete.component.spec.ts
create mode 100644 frontend/src/assets/operator_images/CarpetPlot.png
create mode 100644 frontend/src/assets/operator_images/ECDFPlot.png
copy frontend/src/assets/operator_images/{CSVFileScan.png => FileLister.png}
(100%)
mode change 100755 => 100644
copy frontend/src/assets/operator_images/{CSVFileScan.png => FileScanOp.png}
(100%)
mode change 100755 => 100644
create mode 100644
frontend/src/assets/operator_images/ParallelCoordinatesPlot.png
create mode 100644 frontend/src/assets/operator_images/PolarChart.png
create mode 100644 frontend/src/assets/operator_images/RadarChart.png
create mode 100644 frontend/src/assets/operator_images/RadarPlot.png
create mode 100644 frontend/src/assets/operator_images/SklearnTesting.png
create mode 100644 frontend/src/assets/operator_images/WindRoseChart.png
delete mode 100644 frontend/src/assets/svg/hub_icon.svg
create mode 100644 licenses/LICENSE-MIT.txt
create mode 100644 project/AddMetaInfLicenseFiles.scala
copy sql/{texera_lakefs.sql => texera_lakekeeper.sql} (91%)
copy amber/src/main/scala/org/apache/texera/web/TexeraWebConfiguration.java =>
sql/updates/16.sql (85%)
copy sql/updates/{04.sql => 17.sql} (52%)
copy
common/workflow-core/src/main/scala/org/apache/texera/amber/core/storage/model/OnDataset.scala
=> sql/updates/18.sql (82%)
create mode 100644 sql/updates/19.sql
copy sql/updates/{15.sql => 20.sql} (71%)
copy amber/src/main/scala/org/apache/texera/web/TexeraWebConfiguration.java =>
sql/updates/21.sql (85%)
copy
amber/src/main/scala/org/apache/texera/amber/engine/architecture/deploysemantics/deploystrategy/DeployStrategy.scala
=> sql/updates/22.sql (76%)