Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
375 commits
Select commit Hold shift + click to select a range
12374e6
Retrieve Schema from Backend to Fix Binary Data Issues (#2938)
kunwp1 Oct 16, 2024
09e6017
Encapsulate workflow basic dependencies into a workflow-core package …
Yicong-Huang Oct 16, 2024
639b9af
Fix code editor long loading issue (#2945)
Yicong-Huang Oct 16, 2024
8eab716
Fix monaco editor with timeout and diff mode (#2946)
Yicong-Huang Oct 17, 2024
9cc50cb
Fix Dashboard Browser Console Errors (#2952)
GspikeHalo Oct 20, 2024
57fb805
Upgrade Yarn to 4.5.1 and Nx to 20 for fixing alias packaging resolut…
Yicong-Huang Oct 22, 2024
685f979
Fix Port Handling in URL to Avoid Invalid Redirection (#2939)
kunwp1 Oct 22, 2024
cda1ded
Fix import in JavaUDF template (#2958)
Yicong-Huang Oct 23, 2024
66632f1
Handle empty table in ArrowTupleProvider (#2955)
shengquan-ni Oct 24, 2024
c72a251
Upgrade pandas to 2.2.2 (#2949)
mengw15 Oct 24, 2024
d1a737a
Fix FileDocumentSpec test cases (#2957)
bobbai00 Oct 24, 2024
4035b82
Update File Selection Message for Dataset Creation (#2962)
kunwp1 Oct 24, 2024
8fd5960
Fix Issues with Workflow Name and Description Modification (#2965)
kunwp1 Oct 24, 2024
31e781a
Add nz-spin Loader to Workspace (#2966)
kunwp1 Oct 25, 2024
8f9031d
Add Udon breakpoint UI - breakpoint-related operations (#2953)
Yicong-Huang Oct 25, 2024
1c6d095
Remove unused RPCs and disable reconfiguration (#2970)
shengquan-ni Oct 26, 2024
70334ae
Fix macOS frontend CI disconnecting issue (#2968)
Yicong-Huang Oct 26, 2024
93045f0
Add `FileResolver` to resolve fileName given by users consistently wi…
bobbai00 Oct 26, 2024
8f63806
Add Like and Clone Button Functionality with Database Enhancements fo…
GspikeHalo Oct 27, 2024
a0bde12
Fix UDF code editor z-index and boundary (#2925)
sixsage Oct 27, 2024
446ea55
Fix hub workflow detail page not being scrollable (#2933)
sixsage Oct 27, 2024
360b5d8
Auto continue after breakpoint events (#2967)
Yicong-Huang Oct 27, 2024
9e17c2d
Remove scrollbar in workflow workspace (#2976)
sixsage Oct 28, 2024
c24c17c
Refactor the logic of showing selected dataset and version in scan so…
bobbai00 Oct 28, 2024
774e2c1
Fetch the file's size from PhysicalFileNode instead of reading from t…
bobbai00 Oct 28, 2024
b60799c
Refactor downloading dataset version's API (#2973)
bobbai00 Oct 28, 2024
b8675d1
Add ReadonlyVirtualDocument and ReadonlyLocalFileDocument (#2978)
bobbai00 Oct 28, 2024
d805fe3
Add view count to workflow (#2930)
sixsage Oct 28, 2024
1d8b737
Add landing page (#2928)
GspikeHalo Oct 29, 2024
1298416
Improve Hover Layout on Dashboard Entries (#2971)
GspikeHalo Oct 29, 2024
9791a41
Decouple creating source file's handler with resolving as URI in Scan…
bobbai00 Oct 30, 2024
9ea2d2b
Add dao to the micro-services (#2960)
bobbai00 Oct 30, 2024
d914faf
Update README.md to include a new screenshot (#2981)
shengquan-ni Oct 30, 2024
2b8c251
Add test case for transfer batch size (#2977)
mengw15 Oct 31, 2024
bfe797d
Migrate scala control messages to protobuf (#2950)
shengquan-ni Oct 31, 2024
b64fa84
Update Dockerfile to use yarn 4.5.1 (#2985)
shengquan-ni Nov 1, 2024
8f8c816
Make scalapb marked as source in sbt project (#2984)
Yicong-Huang Nov 1, 2024
1aa2bca
Add DS4ALL paper to README (#2980)
bobbai00 Nov 1, 2024
896a16b
Fix nullpointer exception on result panel (#2986)
shengquan-ni Nov 1, 2024
1df2f7d
Fix bulk workflow action (#2959)
GspikeHalo Nov 2, 2024
d1ab39a
Update jooq-generated codes in DAO under micro-services (#2989)
bobbai00 Nov 2, 2024
1aeed74
Fix Left Panel Resize Bug (#2988)
sixsage Nov 3, 2024
a5fcb3b
Add `withTransaction` util function to DAO (#2991)
bobbai00 Nov 3, 2024
fb60377
Add more necessities to `workflow-core` (#2961)
bobbai00 Nov 3, 2024
7106f51
Let ReservoirSampling use scheduled worker number count (#3001)
Yicong-Huang Nov 5, 2024
f436a86
Improve selecting source file experience (#3002)
bobbai00 Nov 5, 2024
ed86343
Let RandomKSamplingOp use scheduled worker number count (#3003)
Yicong-Huang Nov 5, 2024
0f37274
Fixed the browse section showing workflow even when it becomes privat…
GspikeHalo Nov 5, 2024
af4e5b6
Add workflow-operator to micro-services (#2994)
bobbai00 Nov 5, 2024
c3ca570
Fix the cloned workflow still shows execution results from the origin…
GspikeHalo Nov 6, 2024
5aa1667
Remove home page and step from the detail page (#3006)
GspikeHalo Nov 6, 2024
8b64efc
Fix sharing issue of hub preview (#3007)
sixsage Nov 6, 2024
7816b09
Add blue background to clone button (#3013)
shengquan-ni Nov 6, 2024
632ade5
Improve List Item Layout (#3011)
aglinxinyuan Nov 6, 2024
4bb362d
Rename Home Component to About Component (#3014)
aglinxinyuan Nov 6, 2024
668c36c
Fix the incomplete dataset list in dashboard (#2987)
GspikeHalo Nov 6, 2024
83b079c
Add FatalErrorType and WorkflowFatalError proto definitions to the wo…
bobbai00 Nov 7, 2024
a7f6712
Fix Aggregate Operator (#3017)
zhey16 Nov 8, 2024
579117c
Fix dataset URI resolving doesn't work on Windows (#3009)
bobbai00 Nov 8, 2024
21314cd
Add comments for dataset full-text search retrieval logic (#3022)
GspikeHalo Nov 8, 2024
97478e7
Fix jump back button does not work properly on workflow detail page (…
GspikeHalo Nov 11, 2024
573a583
Fix Workflow Versioning Bug by Enforcing Singleton Instance of Workfl…
kunwp1 Nov 11, 2024
0e27d8e
Sync the FileResolver fix and unit test to `micro-services/workflow-c…
bobbai00 Nov 11, 2024
53af83e
Remove duplicate and unnecessary code (#3028)
GspikeHalo Nov 12, 2024
ca5dcc3
Minor Updates to CostBasedRegionPlanGenerator (#2996)
Xiao-zhen-Liu Nov 12, 2024
68c8609
Remove unused code in Joint UI Service (#3031)
aglinxinyuan Nov 13, 2024
6f9289b
Remove Operator Group (#3033)
aglinxinyuan Nov 13, 2024
7ee9013
Add support to create a copy of an earlier version of a workflow (#2990)
GspikeHalo Nov 13, 2024
1d3ce48
Clear the result of previous execution when a new execution starts (#…
shengquan-ni Nov 15, 2024
c2dc809
Fix Reverse Interpretation of Limit and Offset in Text Input Operator…
kunwp1 Nov 15, 2024
902cdab
Fix Sink Operator Storage Flush Logic (#3060)
Xiao-zhen-Liu Nov 15, 2024
fcbf40b
Remove string cast on result row display (#3061)
shengquan-ni Nov 15, 2024
b1a85f8
Allow force casting of comma-separated numbers (#3059)
Yicong-Huang Nov 15, 2024
fca7fab
Disable user interaction on the preview page (#3051)
yunyad Nov 16, 2024
a999d6a
Introduce globle reset and close buttons for panels (#3062)
aglinxinyuan Nov 16, 2024
805ba3d
Address "Too Many Connections" Issue for Workflow Runtime Statistics …
kunwp1 Nov 17, 2024
92dc172
Fix incorrect Google avatar URL generation to prevent connection erro…
GspikeHalo Nov 18, 2024
b6ec234
Tentative fix for a random error of checkpoint test (#3021)
shengquan-ni Nov 18, 2024
ce568dc
Add an entry for IcedTea paper to readme (#3079)
shengquan-ni Nov 18, 2024
ae4128b
Move workflow compiling service to `micro-services/workflow-compiling…
bobbai00 Nov 19, 2024
fe13cc4
Display Error Message for Duplicate Email Address Updates (#3080)
kunwp1 Nov 19, 2024
a9d67b5
Fix result panel docking behavior (#3030)
sixsage Nov 19, 2024
e54f259
Resolve Unresponsive "Your Work" Menu in Dashboard (#3082)
kunwp1 Nov 19, 2024
6447e49
Replace all hardcoded URLs with app-routing constants (#3075)
GspikeHalo Nov 19, 2024
c4234c1
Bump sklearn version (#3092)
aglinxinyuan Nov 20, 2024
f0444e5
Bump rxjs to 7.8.1 (#3094)
bobbai00 Nov 20, 2024
0097d11
Make `gui` and deployment scripts use `micro-services/workflow-compil…
bobbai00 Nov 20, 2024
7367fc9
Refactoring of Pruning Techniques in CostBasedRegionPlanGenerator (#3…
Xiao-zhen-Liu Nov 20, 2024
c24bae1
Prevent re-opening websocket connections on metadata update (#3093)
shengquan-ni Nov 20, 2024
0b1dec5
Fix error reporting on python UDF (#3099)
aglinxinyuan Nov 21, 2024
78b0ecc
Improve UI Behavior by Hiding Execution Option for Operators with Com…
kunwp1 Nov 21, 2024
9773dea
Drop Training / Testing Names on Split Operator (#3096)
Xiao-zhen-Liu Nov 21, 2024
75475f6
Add Time Logging in CostBasedRegionPlanGenerator (#3095)
Xiao-zhen-Liu Nov 21, 2024
18466b6
Fix dashboard items loading issue on Safari (#3097)
aglinxinyuan Nov 21, 2024
34fe79a
Add ground truth reversing function in sklearn prediction operators (…
yunyad Nov 21, 2024
550a806
Prevent Workflow Execution for Inactive Operators (#3103)
kunwp1 Nov 21, 2024
369c3e0
Set the schema for the result column to be the same as the ground tru…
yunyad Nov 21, 2024
ca05528
Changes to Sklearn operator port names (#3104)
Xiao-zhen-Liu Nov 22, 2024
6edc294
Fix Keyword Search Operator for Numeric Tokens and Improve Exact Matc…
kunwp1 Nov 22, 2024
de6a71e
Beautify readme (#3081)
Yicong-Huang Nov 22, 2024
3a8382f
Flatten micro-service folder (#3098)
shengquan-ni Nov 22, 2024
816b6e5
Cleanup unused flags and services in frontend (#3108)
Yicong-Huang Nov 22, 2024
9562767
Independent linear regression op with degree (#3110)
Yicong-Huang Nov 22, 2024
e2e8880
Use port 1 on Prediction Op ground truth (#3114)
Yicong-Huang Nov 22, 2024
c4a0952
Sort Operators in Operator Panel's List (#3116)
Xiao-zhen-Liu Nov 23, 2024
354f255
Round all printed outputs and accuracy values to 4 digits (#3115)
yunyad Nov 23, 2024
c84b620
Bump plotly to 5.24.1 (#3117)
shengquan-ni Nov 23, 2024
6901f1e
Refactor the structure of the top bar (#3109)
GspikeHalo Nov 23, 2024
4b47a69
Update Result Panel Title When User Unhighlight Operators (#3049)
mengw15 Nov 23, 2024
d79f29b
Fix the issue where clicking on an operator in the workflow detail in…
GspikeHalo Nov 24, 2024
2316478
Fix the issue of unable to renaming or changing the description of a …
GspikeHalo Nov 25, 2024
6530747
File Selection Window Enable Resize (#3112)
mengw15 Nov 25, 2024
147d02e
Update amber to depend on sub projects (#3111)
shengquan-ni Nov 26, 2024
d823383
Combine download and export options together (#2932)
aicam Nov 27, 2024
20e98ba
Fix "no suitable driver found" in workflow resource test (#3122)
shengquan-ni Nov 27, 2024
e57e68c
Add information about Workshop of Data Science for Everyone at Cerrit…
Yicong-Huang Nov 28, 2024
af458bd
Update Texera Hub About Page (#3119)
sixsage Dec 1, 2024
3e2a81e
Fix workflow with FilterOp cannot be compiled (#3132)
bobbai00 Dec 2, 2024
0bd8bf1
Update docker scripts due to the change of folder structure (#3134)
shengquan-ni Dec 2, 2024
c97819a
Clean up backend code due to migration (#3121)
Yicong-Huang Dec 2, 2024
e0c7727
Fix reverted AttributeTypeUtils (#3127)
Yicong-Huang Dec 2, 2024
d84dca9
Add Early Stop Optimization Technique for Bottom-up Search in CostBas…
Xiao-zhen-Liu Dec 3, 2024
7a0b57e
add jooq generated code
bobbai00 Jul 24, 2024
5d85d9b
Integrate Envoy Proxy Into Workflow Pods (#2833)
zhaoKelvin Sep 13, 2024
b935577
Implement Power Button to Complete A-B-C Lifecycle (#2841)
PurelyBlank Dec 3, 2024
ba91cb8
changes to sync with master
PurelyBlank Dec 4, 2024
3981d29
update workflow-pod brain with master
PurelyBlank Dec 7, 2024
30a6876
update openWebsocket to include optional uid
PurelyBlank Dec 7, 2024
dfc559f
add workflow computing unit manager as the subproject of core
bobbai00 Dec 13, 2024
b93d19e
make the codegen of jooq up to date
bobbai00 Dec 14, 2024
dce9bad
update texera db to include dao
bobbai00 Dec 14, 2024
8992b33
add the dependency on dao
bobbai00 Dec 16, 2024
b5e8335
Merge branch 'master' into workflow-pod
bobbai00 Dec 16, 2024
d3f1da9
do a renaming on dir
bobbai00 Dec 16, 2024
e8aa91e
restructure the codes
bobbai00 Dec 17, 2024
e5a63a0
Merge branch 'master' into workflow-pod
bobbai00 Dec 17, 2024
c40cd65
refactor structures
bobbai00 Dec 17, 2024
75333f1
finish initial refactoring
bobbai00 Dec 17, 2024
d134958
Merge branch 'master' into workflow-pod
bobbai00 Dec 23, 2024
bd7462d
add helm chart items to git ignore
bobbai00 Dec 23, 2024
e53f50e
add helm chart
bobbai00 Dec 23, 2024
aa787a4
refactor the naming of helm charts
bobbai00 Dec 23, 2024
c613e48
refactor mysql part
bobbai00 Dec 23, 2024
7b5fa04
add computing unit manager to the scripts
bobbai00 Dec 23, 2024
b02e459
change yaml of manager to conf
bobbai00 Dec 23, 2024
42839a3
add api as the endpoint
bobbai00 Dec 25, 2024
f82c97c
fix helm
bobbai00 Dec 25, 2024
61641be
add dockerfile for services
bobbai00 Dec 25, 2024
a7ca51a
change storage config to conf with env var
bobbai00 Dec 25, 2024
4b9df47
add typesafe config dependency
bobbai00 Dec 25, 2024
542e6db
fix manager and helm's namespace in envoy
bobbai00 Dec 25, 2024
ddd6148
fix pod creation and deletion
bobbai00 Dec 25, 2024
ee24437
add compiling service to the helm chart
bobbai00 Dec 26, 2024
cb3c39e
fix the frontend selection component
bobbai00 Dec 28, 2024
5f9c546
fix the frontend selection component
bobbai00 Dec 28, 2024
4775fe4
fix backend api serialization
bobbai00 Dec 28, 2024
4914cde
Merge branch 'master' into workflow-pod
bobbai00 Dec 31, 2024
04914bf
fix frontend to have the correct websocket connection
bobbai00 Jan 1, 2025
5286d9e
fix helm to have the correct ws connection
bobbai00 Jan 1, 2025
b615035
change gui's developer proxy
bobbai00 Jan 1, 2025
518a973
fix backend termination and ws apis for computing unit manager
bobbai00 Jan 1, 2025
4dee000
Merge branch 'master' into workflow-pod
bobbai00 Jan 1, 2025
ad8e1b8
Merge branch 'master' into workflow-pod
bobbai00 Jan 3, 2025
83e93cd
customize for usersys
bobbai00 Jan 3, 2025
4a4e411
Fix CI failures by pining the ubuntu version for backend CI (#3194)
shengquan-ni Jan 6, 2025
dd04765
Add avatar in execution history dashboard (#3196)
yunyad Jan 7, 2025
5b22284
Merge branch 'master' into staging-deploy
shengquan-ni Jan 9, 2025
1379e96
Update StorageConfig.scala
shengquan-ni Jan 9, 2025
670af8e
update
shengquan-ni Jan 9, 2025
9ac0d26
update
shengquan-ni Jan 9, 2025
adb937f
update
shengquan-ni Jan 9, 2025
44f12bf
Update KubernetesClientService.scala
shengquan-ni Jan 9, 2025
6853ac8
Update workflow-computing-unit-manager-service-account.yaml
shengquan-ni Jan 10, 2025
73f164f
Update application.conf
shengquan-ni Jan 10, 2025
af34c8f
Update KubernetesClientService.scala
shengquan-ni Jan 10, 2025
0e8a06e
update
shengquan-ni Jan 10, 2025
8c3494d
Merge branch 'staging-deploy' of https://github.com/Texera/texera int…
shengquan-ni Jan 10, 2025
03a21b4
Update envoy-config.yaml
shengquan-ni Jan 10, 2025
9f6b3f5
Update KubernetesClientService.scala
shengquan-ni Jan 10, 2025
f83d539
add deployment status to hub landing page.
shengquan-ni Jan 13, 2025
5c45f3d
Remove Flarum synchronization service from the webserver (#3165)
aglinxinyuan Jan 10, 2025
dda01f4
Merge remote-tracking branch 'origin/master' into staging-deploy
Jan 13, 2025
ef7329b
change the way of showing master head commit
shengquan-ni Jan 13, 2025
7616e3d
Merge branch 'staging-deploy' of https://github.com/Texera/texera int…
shengquan-ni Jan 13, 2025
8dd9dc6
Merge branch 'master' into staging-deploy
shengquan-ni Jan 14, 2025
23dbfcf
Merge remote-tracking branch 'origin/master' into staging-deploy
Jan 14, 2025
ffdf7d3
Merge remote-tracking branch 'origin/master' into staging-deploy
Jan 15, 2025
b8a6f22
Merge remote-tracking branch 'origin/master' into staging-deploy
Jan 15, 2025
74dc1e2
Merge branch 'master' into staging-deploy
shengquan-ni Jan 16, 2025
400681f
Merge remote-tracking branch 'origin/master' into staging-deploy
Jan 16, 2025
5df17a7
update
shengquan-ni Jan 16, 2025
4e4bae8
Merge remote-tracking branch 'origin/master' into staging-deploy
Jan 16, 2025
5e9e105
Update KubernetesClientService.scala
shengquan-ni Jan 16, 2025
0ab1cc8
Merge branch 'master' into staging-deploy
shengquan-ni Jan 20, 2025
74f3746
Merge remote-tracking branch 'origin/master' into staging-deploy
Jan 22, 2025
7759943
Merge branch 'master' into staging-deploy
shengquan-ni Jan 23, 2025
d97eeec
Merge remote-tracking branch 'origin/master' into staging-deploy
Jan 25, 2025
077e3a8
Merge remote-tracking branch 'origin/master' into staging-deploy
Jan 27, 2025
cf80aab
Merge remote-tracking branch 'origin/master' into staging-deploy
Jan 27, 2025
4e1b238
Merge remote-tracking branch 'origin/master' into staging-deploy
Jan 29, 2025
7de6d2d
Merge remote-tracking branch 'origin/master' into staging-deploy
Jan 30, 2025
d1160e4
Merge remote-tracking branch 'origin/master' into staging-deploy
Jan 30, 2025
fd9c2bb
Merge remote-tracking branch 'origin/master' into staging-deploy
Feb 4, 2025
93b499a
Merge remote-tracking branch 'origin/master' into staging-deploy
Feb 5, 2025
92a22b9
Merge remote-tracking branch 'origin/master' into staging-deploy
Feb 6, 2025
5a3e4ab
Merge remote-tracking branch 'origin/master' into staging-deploy
Feb 6, 2025
8439860
update
shengquan-ni Feb 10, 2025
7e86bcc
update
shengquan-ni Feb 10, 2025
7847e89
reformat
shengquan-ni Feb 10, 2025
c105647
upload new ddl
shengquan-ni Feb 10, 2025
d9b2bc3
Merge branch 'master' into staging-deploy
shengquan-ni Feb 10, 2025
2cfcee9
fix
shengquan-ni Feb 10, 2025
8a1ca4a
Update landing-page.component.ts
shengquan-ni Feb 11, 2025
79bab72
fix
shengquan-ni Feb 12, 2025
77e8e9c
update
shengquan-ni Feb 12, 2025
50fc7fe
update
shengquan-ni Feb 12, 2025
ad7a0be
reformat
shengquan-ni Feb 12, 2025
ed3e9ce
Merge branch 'master' into shengquan-migrate-to-postgres
shengquan-ni Feb 12, 2025
3a09817
update jooq generated files
shengquan-ni Feb 12, 2025
b8915f3
update jooq files
shengquan-ni Feb 12, 2025
d0d92d4
reformat
shengquan-ni Feb 12, 2025
892b39d
Update WorkflowExecutionsResource.scala
shengquan-ni Feb 12, 2025
646c755
Update WorkflowExecutionsResource.scala
shengquan-ni Feb 12, 2025
a760ecc
Merge branch 'shengquan-migrate-to-postgres' into staging-deploy
shengquan-ni Feb 12, 2025
55f57be
Merge branch 'master' into staging-deploy
shengquan-ni Feb 12, 2025
00e6c6d
helm update
Feb 13, 2025
5b06218
update
shengquan-ni Feb 13, 2025
b50e225
update
shengquan-ni Feb 13, 2025
84f22a0
update jooq generated files
shengquan-ni Feb 13, 2025
25a29e9
Update computing-unit.dockerfile
shengquan-ni Feb 13, 2025
7c5478b
update
shengquan-ni Feb 13, 2025
37eef36
Update values.yaml
shengquan-ni Feb 13, 2025
2dfa451
Update values.yaml
shengquan-ni Feb 13, 2025
8fe81b4
update
shengquan-ni Feb 13, 2025
b28c1f8
Update values.yaml
shengquan-ni Feb 13, 2025
51803aa
Update values.yaml
shengquan-ni Feb 13, 2025
67c2be3
update
shengquan-ni Feb 13, 2025
b4fac8e
Update WorkflowComputingUnitManagingResource.scala
shengquan-ni Feb 13, 2025
1cbde0a
Update Utils.scala
shengquan-ni Feb 13, 2025
347118b
update
shengquan-ni Feb 13, 2025
df82438
Merge branch 'shengquan-migrate-to-postgres' into staging-deploy
shengquan-ni Feb 13, 2025
c2e9d22
Update WorkflowComputingUnitManagingResource.scala
shengquan-ni Feb 13, 2025
9250e57
update
shengquan-ni Feb 13, 2025
76fc6e9
Merge branch 'shengquan-migrate-to-postgres' into staging-deploy
shengquan-ni Feb 13, 2025
4ac5c88
update
shengquan-ni Feb 13, 2025
4572306
fix websocket
shengquan-ni Feb 13, 2025
589c9e2
Update computing-unit-selection.component.ts
shengquan-ni Feb 13, 2025
fe6cef2
Update computing-unit-selection.component.ts
shengquan-ni Feb 14, 2025
c9286ce
Merge branch 'master' into staging-deploy
shengquan-ni Mar 3, 2025
d6af78d
Merge branch 'master' into shengquan-add-cu-mgr
shengquan-ni Mar 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 32 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -108,4 +108,35 @@ Composer-Setup.exe
.metals/
.bloop/
.ammonite/
metals.sbt
metals.sbt


# Ignore Helm-specific artifacts in texera-helmchart
core/scripts/texera-helmchart/*.tgz
core/scripts/texera-helmchart/charts/
core/scripts/texera-helmchart/tmpcharts/
core/scripts/texera-helmchart/*.lock
core/scripts/texera-helmchart/test-output/
core/scripts/texera-helmchart/tests/test-*.yaml
core/scripts/texera-helmchart/*.helmignore

# Ignore general OS-specific files and editor files in texera-helmchart
core/scripts/texera-helmchart/.DS_Store
core/scripts/texera-helmchart/Thumbs.db
core/scripts/texera-helmchart/*.swp
core/scripts/texera-helmchart/*.swo
core/scripts/texera-helmchart/*.bak
core/scripts/texera-helmchart/*~
core/scripts/texera-helmchart/.idea/
core/scripts/texera-helmchart/.vscode/
core/scripts/texera-helmchart/*.log

# Temporary files in texera-helmchart
core/scripts/texera-helmchart/*.tmp
core/scripts/texera-helmchart/*.out
core/scripts/texera-helmchart/*.cache
core/scripts/texera-helmchart/*.pyc
core/scripts/texera-helmchart/__pycache__/

# Build artifacts in texera-helmchart
core/scripts/texera-helmchart/dist/
40 changes: 40 additions & 0 deletions core/amber/computing-unit.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
FROM sbtscala/scala-sbt:eclipse-temurin-jammy-11.0.17_8_1.9.3_2.13.11

# Set working directory
WORKDIR /core

# Copy all projects under core to /core
COPY core/ .

RUN rm -rf amber/user-resources/*

# Update system and install dependencies
RUN apt-get update && apt-get install -y \
netcat \
unzip \
python3-pip \
libpq-dev \
&& apt-get clean

# Install Python dependencies
RUN pip3 install --upgrade pip setuptools wheel
RUN pip3 install python-lsp-server python-lsp-server[websockets]

# Install requirements with a fallback for wordcloud
RUN pip3 install -r amber/requirements.txt
RUN pip3 install --no-cache-dir --find-links https://pypi.org/simple/ -r amber/operator-requirements.txt || \
pip3 install --no-cache-dir wordcloud==1.9.2

# Additional setup
WORKDIR /core
# Add .git for runtime calls to jgit from OPversion
COPY .git ../.git

# Build services
RUN scripts/build-services.sh

# Set the default command
CMD ["scripts/workflow-computing-unit.sh"]

# Expose the required port
EXPOSE 8085
19 changes: 10 additions & 9 deletions core/amber/src/main/resources/application.conf
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ network-buffering {
}

reconfiguration {
enable-transactional-reconfiguration = false
enable-transactional-reconfiguration = true
}

cache {
Expand All @@ -27,10 +27,11 @@ cache {
}

user-sys {
enabled = false
enabled = true
google {
clientId = ""
smtp {
clientSecret = ""
smtp {
gmail = ""
password = ""
}
Expand All @@ -40,17 +41,17 @@ user-sys {
exp-in-days = 30
# generate the secret again for each deployment using the following:
# 'openssl rand -hex 16' or 'xxd -l16 -ps /dev/urandom'
256-bit-secret = "8a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d"
256-bit-secret = "5259e3eb6a58cb89b53790406c24c8f5"
}
}

result-cleanup {
ttl-in-seconds = 86400 # time to live for a collection is 2 days
collection-check-interval-in-seconds = 86400 # 2 days
ttl-in-seconds = 3600 # time to live for a collection is 2 days
collection-check-interval-in-seconds = 3600 # 2 days
}

web-server {
workflow-state-cleanup-in-seconds = 30
workflow-state-cleanup-in-seconds = 3600
python-console-buffer-size = 100
workflow-result-pulling-in-seconds = 3
clean-all-execution-results-on-server-start = false
Expand All @@ -74,7 +75,7 @@ fault-tolerance {
}

schedule-generator {
enable-cost-based-schedule-generator = false
enable-cost-based-schedule-generator = true
use-global-search = false
use-top-down-search = false
search-timeout-milliseconds = 1000
Expand All @@ -86,4 +87,4 @@ ai-assistant-server{
ai-service-key = ""
# Put your Ai service url here (If you are using OpenAI, then the url should be "https://api.openai.com/v1")
ai-service-url = ""
}
}
2 changes: 1 addition & 1 deletion core/amber/src/main/resources/udf.conf
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
python {
# python3 executable path
path = ""
path = "/usr/bin/python3"

log {
streamHandler {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,14 @@ package edu.uci.ics.amber.engine.common

import akka.actor.Address
import com.typesafe.config.{Config, ConfigFactory}
import org.eclipse.jgit.api.Git
import org.eclipse.jgit.revwalk.RevWalk
import org.eclipse.jgit.revwalk.filter.RevFilter

import java.io.File
import java.net.URI
import scala.io.Source
import scala.jdk.CollectionConverters.IteratorHasAsScala

object AmberConfig {

Expand All @@ -15,6 +20,35 @@ object AmberConfig {
private var conf: Config = _

var masterNodeAddr: Address = Address("akka", "Amber", "localhost", 2552)
val lastDeployTimestamp:String = try {
// Read the timestamp string from the file
val source = Source.fromFile(Utils.amberHomePath.resolve("timestamp.txt").toString)
val timestamp = source.getLines().mkString
source.close()
// Print the timestamp
println(s"Timestamp read from file: $timestamp")
timestamp
} catch {
case e: Exception =>
println(s"An error occurred: ${e.getMessage}")
"Timestamp unavailable"
}



val latestCommitFromMaster = try {
// Read the timestamp string from the file
val source = Source.fromFile(Utils.amberHomePath.resolve("commit_title_before_merge.txt").toString)
val commitMsg = source.getLines().mkString
source.close()
// Print the timestamp
println(s"Commit message from file: $commitMsg")
commitMsg
} catch {
case e: Exception =>
println(s"An error occurred: ${e.getMessage}")
"Commit message unavailable"
}

// perform lazy reload
private def getConfSource: Config = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ object AmberRuntime {
akka.cluster.seed-nodes = [ "akka://Amber@$localIpAddress:2552" ]
""")
.withFallback(akkaConfig)
.resolve()
AmberConfig.masterNodeAddr = createMasterAddress(localIpAddress)
createAmberSystem(masterConfig)
}
Expand All @@ -75,6 +76,7 @@ object AmberRuntime {
akka.cluster.seed-nodes = [ "akka://Amber@$addr:2552" ]
""")
.withFallback(akkaConfig)
.resolve()
AmberConfig.masterNodeAddr = createMasterAddress(addr)
createAmberSystem(workerConfig)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,7 @@ package edu.uci.ics.texera.web.resource.dashboard.hub
import edu.uci.ics.texera.dao.SqlServer
import edu.uci.ics.texera.dao.jooq.generated.Tables._
import HubResource.{
fetchDashboardDatasetsByDids,
fetchDashboardWorkflowsByWids,
getUserLCCount,
isLikedHelper,
recordLikeActivity,
recordUserActivity,
userRequest,
validateEntityType
}
fetchDashboardDatasetsByDids,fetchDashboardWorkflowsByWids, getUserLCCount, isLikedHelper, recordLikeActivity, recordUserActivity, userRequest, validateEntityType}
import edu.uci.ics.texera.web.resource.dashboard.user.workflow.WorkflowResource.{
DashboardWorkflow,
baseWorkflowSelect,
Expand All @@ -31,6 +23,12 @@ import edu.uci.ics.texera.dao.jooq.generated.tables.DatasetUserAccess.DATASET_US
import edu.uci.ics.texera.dao.jooq.generated.tables.User.USER
import edu.uci.ics.texera.dao.jooq.generated.tables.pojos.{Dataset, DatasetUserAccess}
import edu.uci.ics.texera.web.resource.dashboard.DashboardResource.DashboardClickableFileEntry
import edu.uci.ics.texera.web.resource.dashboard.user.dataset.DatasetResource.{
DashboardDataset,
baseDatasetSelect,
mapDashboardDataset
}
import edu.uci.ics.amber.engine.common.AmberConfig
import edu.uci.ics.texera.web.resource.dashboard.user.dataset.DatasetResource.DashboardDataset

object HubResource {
Expand Down Expand Up @@ -305,6 +303,20 @@ class HubResource {
.getInstance()
.createDSLContext()

@GET
@Path("/git-describe")
@Produces(Array(MediaType.TEXT_PLAIN))
def getGitHead: String = {
AmberConfig.latestCommitFromMaster
}

@GET
@Path("/last-deploy")
@Produces(Array(MediaType.TEXT_PLAIN))
def getLastDeploy: String = {
AmberConfig.lastDeployTimestamp
}

@GET
@Path("/count")
def getPublishedWorkflowCount(@QueryParam("entityType") entityType: String): Integer = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,18 @@ package edu.uci.ics.texera.web.resource.dashboard.user.workflow
import edu.uci.ics.amber.core.storage.VFSURIFactory.decodeURI
import edu.uci.ics.amber.core.storage.result.ExecutionResourcesMapping
import edu.uci.ics.amber.core.storage.{DocumentFactory, VFSResourceType, VFSURIFactory}
import edu.uci.ics.amber.core.storage.{DocumentFactory, VFSURIFactory}
import edu.uci.ics.amber.core.tuple.Tuple
import edu.uci.ics.amber.core.virtualidentity._
import edu.uci.ics.amber.core.workflow.PortIdentity
import edu.uci.ics.amber.engine.architecture.logreplay.{ReplayDestination, ReplayLogRecord}
import edu.uci.ics.amber.engine.common.AmberConfig
import edu.uci.ics.amber.engine.common.storage.SequentialRecordStorage
import edu.uci.ics.amber.core.virtualidentity.{ChannelMarkerIdentity, ExecutionIdentity, OperatorIdentity, WorkflowIdentity}
import edu.uci.ics.amber.core.workflow.PortIdentity
import edu.uci.ics.amber.engine.architecture.logreplay.{ReplayDestination, ReplayLogRecord}
import edu.uci.ics.amber.engine.common.AmberConfig
import edu.uci.ics.amber.engine.common.storage.SequentialRecordStorage
import edu.uci.ics.texera.dao.SqlServer
import edu.uci.ics.texera.dao.jooq.generated.Tables._
import edu.uci.ics.texera.dao.jooq.generated.tables.daos.WorkflowExecutionsDao
Expand All @@ -17,6 +23,7 @@ import edu.uci.ics.texera.web.auth.SessionUser
import edu.uci.ics.texera.web.resource.dashboard.user.workflow.WorkflowExecutionsResource._
import edu.uci.ics.texera.web.service.ExecutionsMetadataPersistService
import io.dropwizard.auth.Auth
import org.jooq.types.ULong

import java.net.URI
import java.sql.Timestamp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,11 @@ package edu.uci.ics.texera.web.resource.dashboard.user.workflow
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.module.scala.DefaultScalaModule
import com.typesafe.scalalogging.LazyLogging
import edu.uci.ics.amber.engine.common.AmberConfig
import edu.uci.ics.texera.dao.SqlServer
import edu.uci.ics.texera.dao.jooq.generated.Tables._
import edu.uci.ics.texera.dao.jooq.generated.enums.PrivilegeEnum
import edu.uci.ics.texera.dao.jooq.generated.tables.daos.{
WorkflowDao,
WorkflowOfProjectDao,
WorkflowOfUserDao,
WorkflowUserAccessDao
}
import edu.uci.ics.texera.dao.jooq.generated.tables.daos.{WorkflowDao, WorkflowOfProjectDao, WorkflowOfUserDao, WorkflowUserAccessDao}
import edu.uci.ics.texera.dao.jooq.generated.tables.pojos._
import edu.uci.ics.texera.web.auth.SessionUser
import edu.uci.ics.texera.web.resource.dashboard.hub.HubResource.recordCloneActivity
Expand Down Expand Up @@ -51,6 +47,7 @@ object WorkflowResource {
)
final private lazy val workflowOfProjectDao = new WorkflowOfProjectDao(context.configuration)


def getWorkflowName(wid: Integer): String = {
val workflow = workflowDao.fetchOneByWid(wid)
if (workflow == null) {
Expand Down
1 change: 1 addition & 0 deletions core/amber/timestamp.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2025-02-11 17:03:49
42 changes: 42 additions & 0 deletions core/amber/webserver.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
FROM node:18-alpine AS nodegui

WORKDIR /gui
COPY core/gui/package.json core/gui/yarn.lock ./
RUN apk add --no-cache python3 make g++ git
RUN corepack enable && corepack prepare yarn@4.5.1 --activate && yarn set version --yarn-path 4.5.1
# Fake git-version.js during yarn install to prevent git from causing cache
# invalidation of dependencies
# Add tools required for building dependencies
RUN touch git-version.js && YARN_NODE_LINKER=node-modules yarn install

COPY core/gui .
# Position of .git doesn't matter since it's only there for the revision hash
COPY .git ./.git
RUN apk add --no-cache git && \
node git-version.js && \
apk del git && \
yarn run build

FROM sbtscala/scala-sbt:eclipse-temurin-jammy-11.0.17_8_1.9.3_2.13.11

# copy all projects under core to /core
WORKDIR /core
COPY core/ .

RUN rm -rf amber/user-resources/*

RUN apt-get update
RUN apt-get install -y netcat unzip python3-pip
#RUN pip3 install python-lsp-server python-lsp-server[websockets]
#RUN pip3 install -r amber/requirements.txt

WORKDIR /core
# Add .git for runtime calls to jgit from OPversion
COPY .git ../.git
COPY --from=nodegui /gui/dist ./gui/dist

RUN scripts/build-services.sh

CMD ["scripts/server.sh"]

EXPOSE 8080
10 changes: 9 additions & 1 deletion core/build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,14 @@ lazy val WorkflowCore = (project in file("workflow-core"))
.dependsOn(DAO)
.configs(Test)
.dependsOn(DAO % "test->test") // test scope dependency
lazy val WorkflowComputingUnitManagingService = (project in file("workflow-computing-unit-managing-service"))
.dependsOn(WorkflowCore)
.settings(
dependencyOverrides ++= Seq(
// override it as io.dropwizard 4 require 2.16.1 or higher
"com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.17.0",
)
)
lazy val FileService = (project in file("file-service"))
.dependsOn(WorkflowCore)
.settings(
Expand Down Expand Up @@ -47,7 +55,7 @@ lazy val WorkflowExecutionService = (project in file("amber"))

// root project definition
lazy val CoreProject = (project in file("."))
.aggregate(DAO, WorkflowCore, FileService, WorkflowOperator, WorkflowCompilingService, WorkflowExecutionService)
.aggregate(DAO, WorkflowComputingUnitManagingService, WorkflowCore, FileService, WorkflowOperator, WorkflowCompilingService, WorkflowExecutionService)
.settings(
name := "core",
version := "0.1.0",
Expand Down
Loading
Loading