This is an automated email from the ASF dual-hosted git repository. Xiao-zhen-Liu pushed a commit to branch xiaozhen-caching-prototype in repository https://gitbox.apache.org/repos/asf/texera.git
commit bebaeafa203c2c25ced268009fd5491a8d518d5e Merge: d03494cd50 b9fc0d2c89 Author: Xiaozhen Liu <[email protected]> AuthorDate: Thu Jan 8 14:09:32 2026 -0800 Merge branch 'refs/heads/main' into xiaozhen-caching-prototype # Conflicts: # sql/updates/16.sql amber/operator-requirements.txt | 1 + .../core/architecture/packaging/output_manager.py | 2 +- amber/src/main/python/core/models/__init__.py | 3 +- .../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 ++ amber/src/main/python/core/models/test_tuple.py | 98 ++ amber/src/main/python/core/models/tuple.py | 33 + .../main/python/core/models/type/__init__.py} | 11 +- .../main/python/core/models/type/large_binary.py | 98 ++ .../python/core/models/type/test_large_binary.py | 88 ++ .../main/python/core/storage/document_factory.py | 5 +- .../python/core/storage/iceberg/iceberg_utils.py | 136 ++- .../core/storage/iceberg/test_iceberg_document.py | 4 + .../iceberg/test_iceberg_utils_large_binary.py | 230 ++++ .../src/main/python/core/storage/storage_config.py | 19 +- amber/src/main/python/pytexera/__init__.py | 6 + .../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 | 150 +++ .../storage/test_large_binary_output_stream.py | 238 ++++ amber/src/main/python/texera_run_python_worker.py | 8 + .../pythonworker/PythonWorkflowWorker.scala | 6 +- .../texera/web/ServletAwareConfigurator.scala | 2 + .../apache/texera/web/TexeraWebApplication.scala | 2 + .../apache/texera/web/auth/GuestAuthFilter.scala | 2 +- .../apache/texera/web/auth/UserAuthenticator.scala | 13 +- .../request/ResultPaginationRequest.scala | 5 +- .../dashboard/admin/user/AdminUserResource.scala | 6 +- .../web/resource/dashboard/user/UserResource.scala | 74 ++ .../user/workflow/WorkflowAccessResource.scala | 37 +- .../dashboard/user/workflow/WorkflowResource.scala | 23 +- .../web/service/ExecutionResultService.scala | 23 +- .../texera/web/service/WorkflowService.scala | 2 +- .../dashboard/file/WorkflowResourceSpec.scala | 17 + build.sbt | 14 +- .../scala/org/apache/texera/auth/JwtParser.scala | 2 +- common/config/src/main/resources/gui.conf | 4 + .../scala/org/apache/texera/config/GuiConfig.scala | 2 + common/workflow-core/build.sbt | 17 + .../amber/core/storage/DocumentFactory.scala | 8 +- .../storage/model/ReadonlyLocalFileDocument.scala | 6 +- .../storage/model/ReadonlyVirtualDocument.scala | 3 +- .../amber/core/storage/model/VirtualDocument.scala | 3 +- .../storage/result/iceberg/IcebergDocument.scala | 23 +- .../core/storage/util/LakeFSStorageClient.scala | 44 + .../amber/core/tuple/AttributeTypeUtils.scala | 13 +- .../org/apache/texera/amber/util/ArrowUtils.scala | 49 +- .../texera/service/util/S3StorageClient.scala | 55 + .../amber/core/tuple/AttributeTypeUtilsSpec.scala | 43 +- .../apache/texera/amber/util/ArrowUtilsSpec.scala | 144 ++- .../texera/service/resource/ConfigResource.scala | 1 + .../texera/service/resource/DatasetResource.scala | 698 +++++++++--- .../org/apache/texera/service/MockLakeFS.scala | 56 +- .../service/resource/DatasetResourceSpec.scala | 1185 +++++++++++++++++++- .../app/common/service/gui-config.service.mock.ts | 1 + .../app/common/service/user/stub-user.service.ts | 8 + .../app/common/service/user/user.service.spec.ts | 2 + .../src/app/common/service/user/user.service.ts | 37 +- .../workflow-persist/workflow-persist.service.ts | 11 +- frontend/src/app/common/type/gui-config.ts | 1 + frontend/src/app/common/type/user.ts | 1 + .../component/admin/user/admin-user.component.html | 2 + .../dashboard/component/dashboard.component.html | 32 + .../app/dashboard/component/dashboard.component.ts | 69 +- .../dataset-detail.component.ts | 231 ++-- .../user-dataset-file-renderer.component.ts | 6 + .../service/user/dataset/dataset.service.ts | 276 ++--- .../detail/hub-workflow-detail.component.ts | 6 +- .../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 | 63 +- .../model/workflow-action.service.ts | 2 +- .../workflow-result/workflow-result.service.ts | 14 +- .../types/workflow-websocket.interface.ts | 3 + sql/texera_ddl.sql | 34 + sql/updates/16.sql | 56 +- sql/updates/17.sql | 66 ++ 84 files changed, 4982 insertions(+), 592 deletions(-)
