Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
299 commits
Select commit Hold shift + click to select a range
dbf3366
Fix bug of workflow editor having smaller size (#2834)
sixsage Sep 13, 2024
4bc7c61
Add Email Notification Logic (#2837)
kunwp1 Sep 17, 2024
f7f8ebe
Add notification when report is generating (#2843)
xudongwu-0 Sep 18, 2024
b6e3643
Add file selection button (#2845)
mengw15 Sep 18, 2024
f57d664
Initial Sunburst Chart Visualization Operator (#2846)
dgeyfman Sep 19, 2024
642cd52
Fix model variable in SKlearn ML operator (#2844)
yunyad Sep 19, 2024
8e23ccf
Remove Python Tuple Operator v1 (#2847)
aglinxinyuan Sep 19, 2024
a2d6424
Fix persisting workflow without user-sys (#2836)
Yicong-Huang Sep 20, 2024
77c1bc7
Add pdf links and citations for Texera VLDB paper (#2839)
Yicong-Huang Sep 20, 2024
49db3d6
Update Texera citation format (#2852)
Yicong-Huang Sep 20, 2024
8e8df49
Upgrade the `ng build` command in deploy-daemon.sh (#2850)
bobbai00 Sep 20, 2024
03d2891
[2/3] Add AI Assistant Service - add the “Add Type Annotation" Python…
IamtherealBrian Sep 20, 2024
e09a394
Fix the issue that file path cannot be inputted when user-sys is disa…
mengw15 Sep 20, 2024
dab8477
Replaced Sunburst Chart with Sankey Diagram Visualization Operator (#…
dgeyfman Sep 21, 2024
7ef1375
Receive pattern_shape variable from user (#2849)
aicam Sep 21, 2024
a25de05
Bump express from 4.19.2 to 4.21.0 in /core/gui (#2856)
dependabot[bot] Sep 22, 2024
516e7ba
Bump express from 4.19.2 to 4.20.0 in /core/pyright-language-server (…
dependabot[bot] Sep 22, 2024
eb20311
Add slides links to Udon and ICDE paper (#2859)
Yicong-Huang Sep 22, 2024
3fd22ef
Add a download button for the binary type data from the result panel …
kunwp1 Sep 23, 2024
3675781
fix path issue of pyright language server (#2864)
IamtherealBrian Sep 23, 2024
6d3eafa
Introduce State Passing Between Operators (#2802)
aglinxinyuan Sep 24, 2024
63ed29e
Add Hub (#2725)
YS0meone Sep 24, 2024
6fd4ec0
Consistent string format of the binary data (#2863)
kunwp1 Sep 24, 2024
e13a782
Fix the issue displaying integer containing only 0 and 1 (#2870)
kunwp1 Sep 24, 2024
e8fb633
Enhance Download Functionality to Support All Data Types in Result Pa…
kunwp1 Sep 25, 2024
c164e5c
Fix Python Source Operator (#2871)
aglinxinyuan Sep 25, 2024
986329f
Add publish buttons to the dataset and workflow (#2835)
GspikeHalo Sep 25, 2024
cb77a40
Fix bug of workflow editor having smaller size - different solution (…
sixsage Sep 25, 2024
cb3b069
Add zoom in and out buttons on minimap (#2866)
sixsage Sep 25, 2024
1bf2532
Refactor Hub Workflow Search Results and Permission-Based Redirection…
GspikeHalo Sep 25, 2024
8497626
Update server startup script (#2718)
YS0meone Sep 26, 2024
f3e5b95
Fix Python Source Operator with Mutiple Output (#2874)
aglinxinyuan Sep 26, 2024
430029e
Refactor hub details page address and load correct workflow name and …
sixsage Sep 26, 2024
d001ecc
Null value for color fixed in Gantt chart (#2861)
aicam Sep 26, 2024
3e9c979
Adds a badge of owner on list item (#2872)
GspikeHalo Sep 26, 2024
644eb21
Bump rollup from 3.29.4 to 3.29.5 in /core/gui (#2875)
dependabot[bot] Sep 26, 2024
cdafa3c
Bump body-parser from 1.20.2 to 1.20.3 in /core/gui (#2876)
dependabot[bot] Sep 26, 2024
e770fe5
change the color of the user badge (#2877)
GspikeHalo Sep 27, 2024
477b2b7
Modify the display method of Google login. (#2878)
GspikeHalo Sep 27, 2024
19ab4c3
Add workflow preview to hub details page (#2873)
sixsage Sep 27, 2024
d2c7e91
Revert "Update server startup script (#2718)"
aglinxinyuan Sep 30, 2024
20848fc
Add User-Controlled Email Notification Toggle with Developer System S…
kunwp1 Oct 1, 2024
1a3ce4c
Add owner detail page and refactor detail page (#2892)
GspikeHalo Oct 2, 2024
e372d4a
Fix No marker or tuple to process error in Python operators (#2894)
aglinxinyuan Oct 2, 2024
074cf0e
[3/3] Add AI Assistant Service - add the "Add All Type Annotation" Py…
IamtherealBrian Oct 2, 2024
535513f
Add download option as single or multiple files (#2891)
aicam Oct 2, 2024
b466a1c
Freeze Dependency For Texera (#2897)
mengw15 Oct 3, 2024
9f6eb98
Enable email notifications by default and improve notification conten…
kunwp1 Oct 6, 2024
dd4bf51
Add unit testing for download option (#2901)
aicam Oct 6, 2024
a66c0f0
Fix the glitching error frame in result panel (#2906)
shengquan-ni Oct 8, 2024
7b3a36b
Drop support for Python 3.8 (#2909)
Yicong-Huang Oct 8, 2024
2e842ae
Refactor compilation service (#2900)
Yicong-Huang Oct 8, 2024
2338ac4
Fix timeout on Python proxy server shutdown (#2911)
Yicong-Huang Oct 8, 2024
31c2dda
Add Download Button to Dashboard Entry (#2916)
kunwp1 Oct 10, 2024
6a00bb6
Fix Directory Handling in Dataset Download and Add Start Notification…
kunwp1 Oct 10, 2024
8a64429
Move Tuple, State, and WorkflowRuntimeStatistics into Amber package (…
Yicong-Huang Oct 11, 2024
0953ca1
Add support for Python 3.12 (#2910)
Yicong-Huang Oct 11, 2024
0fffb2d
Move Workflow Email Notification Logic from Frontend to Backend for I…
kunwp1 Oct 11, 2024
87c9956
Refactor Frontend to Centralize Downloads Using DownloadService (#2920)
kunwp1 Oct 11, 2024
d0fa426
Add Scroll Bar to Quota Dashboard (#2924)
kunwp1 Oct 11, 2024
449369c
Add micro-services sbt root project (#2922)
bobbai00 Oct 12, 2024
234750e
Refresh page after workflow uplaod to display new workflow (#2915)
sixsage Oct 12, 2024
70ee89c
Add clone & edit button on detail page (#2896)
GspikeHalo Oct 12, 2024
d97bc27
Upgrade Monaco Language Client to 8.8.3 (#2912)
mengw15 Oct 12, 2024
ac5dab3
Sanitize the file path when saving result to dataset (#2919)
bobbai00 Oct 14, 2024
3d4d0ce
Display Dataset Size for Improved Usability (#2927)
kunwp1 Oct 14, 2024
1310b45
Enable Bulk Download of Binary Data from Result Table (#2931)
kunwp1 Oct 14, 2024
df4fa94
Fix email notification without usersys (#2935)
Yicong-Huang Oct 14, 2024
ed00878
Fix Workflow Version Restore Button Behavior (#2937)
kunwp1 Oct 15, 2024
fcb9628
Enhance report generation (#2895)
GspikeHalo Oct 15, 2024
594d9c4
Add Check for Python Language Server Availability (#2936)
mengw15 Oct 15, 2024
31e6511
Separate TypeCastingUnit from casting utility (#2941)
Yicong-Huang Oct 15, 2024
f4fee34
Decouple LocationPreference with Akka Address (#2940)
shengquan-ni Oct 15, 2024
be41260
Enhancing Report Generation by Adding Story-teller Ai based on Ai fla…
xudongwu-0 Oct 15, 2024
8ee5523
Change the icon image and position for report generation (#2943)
xudongwu-0 Oct 15, 2024
ecf230e
Re-add workflow settings assignment to WorkflowContext (#2944)
mengw15 Oct 16, 2024
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
d712373
Merge branch 'master' into workflow-pod
bobbai00 Jan 9, 2025
186848b
merge with master
bobbai00 Jan 10, 2025
c84e9f9
Fix Frontend Issue With Compute Unit Termination UI (#3209)
PurelyBlank Jan 14, 2025
7ecf694
merge master into workflow-pod and fix JooqCodeGenerator
PurelyBlank Jan 18, 2025
4d0c694
merge master into workflow-pod
PurelyBlank Jan 20, 2025
5d09c37
Merge branch 'master' into workflow-pod
bobbai00 Jan 25, 2025
e4c4d80
adjust the storage config
bobbai00 Jan 25, 2025
8acff4e
Merge branch 'master' into workflow-pod
bobbai00 Feb 7, 2025
f7ca586
merge with latest master
bobbai00 Feb 7, 2025
60eae71
Implement Workflow Compute Unit Management (#3321)
PurelyBlank Mar 13, 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/
41 changes: 41 additions & 0 deletions core/amber/computing-unit.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
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 \
python3-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
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 @@ -5,7 +5,7 @@ import edu.uci.ics.amber.core.virtualidentity.WorkflowIdentity
import edu.uci.ics.texera.web.auth.SessionUser
import edu.uci.ics.texera.web.model.websocket.request.ResultExportRequest
import edu.uci.ics.texera.web.model.websocket.response.ResultExportResponse
import edu.uci.ics.texera.web.service.{ResultExportService, WorkflowService}
import edu.uci.ics.texera.web.service.ResultExportService
import io.dropwizard.auth.Auth

import javax.ws.rs._
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import akka.actor.Cancellable
import com.fasterxml.jackson.annotation.{JsonTypeInfo, JsonTypeName}
import com.fasterxml.jackson.databind.node.ObjectNode
import com.typesafe.scalalogging.LazyLogging
import edu.uci.ics.amber.core.storage.DocumentFactory.{ICEBERG, MONGODB}
import edu.uci.ics.amber.core.storage.DocumentFactory.ICEBERG
import edu.uci.ics.amber.core.storage.VFSResourceType.MATERIALIZED_RESULT
import edu.uci.ics.amber.core.storage.model.VirtualDocument
import edu.uci.ics.amber.core.storage.{DocumentFactory, StorageConfig, VFSURIFactory}
Expand Down
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 libpq-dev python3-dev
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 WorkflowOperator = (project in file("workflow-operator"))
.dependsOn(WorkflowCore)
.settings(
Expand Down Expand Up @@ -39,7 +47,7 @@ lazy val WorkflowExecutionService = (project in file("amber"))

// root project definition
lazy val CoreProject = (project in file("."))
.aggregate(DAO, WorkflowCore, WorkflowOperator, WorkflowCompilingService, WorkflowExecutionService)
.aggregate(DAO, WorkflowComputingUnitManagingService, WorkflowCore, WorkflowOperator, WorkflowCompilingService, WorkflowExecutionService)
.settings(
name := "core",
version := "0.1.0",
Expand Down
1 change: 1 addition & 0 deletions core/dao/build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,5 @@ libraryDependencies ++= Seq(
libraryDependencies ++= Seq(
"mysql" % "mysql-connector-java" % "8.0.33", // MySQL connector
"org.yaml" % "snakeyaml" % "1.30", // for reading storage config yaml file
"com.typesafe" % "config" % "1.4.3", // for reading storage config .conf file
)
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,8 @@ package edu.uci.ics.texera.dao

import org.jooq.codegen.GenerationTool
import org.jooq.meta.jaxb.{Configuration, Jdbc}
import org.yaml.snakeyaml.Yaml

import java.io.InputStream
import com.typesafe.config.{Config, ConfigFactory}
import java.nio.file.{Files, Path}
import java.util.{Map => JMap}
import scala.jdk.CollectionConverters._

object JooqCodeGenerator {
@throws[Exception]
Expand All @@ -17,38 +13,33 @@ object JooqCodeGenerator {
Path.of("dao").resolve("src").resolve("main").resolve("resources").resolve("jooq-conf.xml")
val jooqConfig: Configuration = GenerationTool.load(Files.newInputStream(jooqXmlPath))

// Load YAML configuration
val yamlConfPath: Path = Path
// Load .conf configuration
val confPath: Path = Path
.of("workflow-core")
.resolve("src")
.resolve("main")
.resolve("resources")
.resolve("storage-config.yaml")
val yaml = new Yaml
val inputStream: InputStream = Files.newInputStream(yamlConfPath)
.resolve("storage.conf")
val conf: Config = ConfigFactory.parseFile(confPath.toFile)

val conf: Map[String, Any] =
yaml.load(inputStream).asInstanceOf[JMap[String, Any]].asScala.toMap
// Resolve placeholders in the configuration file
val resolvedConf: Config = conf.resolve()

val jdbcConfig = conf("storage")
.asInstanceOf[JMap[String, Any]]
.asScala("jdbc")
.asInstanceOf[JMap[String, Any]]
.asScala
// Get JDBC configuration from .conf file
val jdbcUsername = resolvedConf.getString("storage.jdbc.username")
val jdbcPassword = resolvedConf.getString("storage.jdbc.password")
val jdbcUrl = resolvedConf.getString("storage.jdbc.url")

// Set JDBC configuration for jOOQ
val jooqJdbcConfig = new Jdbc
jooqJdbcConfig.setDriver("com.mysql.cj.jdbc.Driver")
jooqJdbcConfig.setUrl(jdbcConfig("url").toString)
jooqJdbcConfig.setUsername(jdbcConfig("username").toString)
jooqJdbcConfig.setPassword(jdbcConfig("password").toString)
jooqJdbcConfig.setUrl(jdbcUrl)
jooqJdbcConfig.setUsername(jdbcUsername)
jooqJdbcConfig.setPassword(jdbcPassword)

jooqConfig.setJdbc(jooqJdbcConfig)

// Generate the code
GenerationTool.generate(jooqConfig)

// Close input stream
inputStream.close()
}
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading