diff --git a/core/amber/src/main/scala/edu/uci/ics/amber/engine/architecture/worker/promisehandlers/InitializeExecutorHandler.scala b/core/amber/src/main/scala/edu/uci/ics/amber/engine/architecture/worker/promisehandlers/InitializeExecutorHandler.scala index c727f422da9..d5f4bc1064b 100644 --- a/core/amber/src/main/scala/edu/uci/ics/amber/engine/architecture/worker/promisehandlers/InitializeExecutorHandler.scala +++ b/core/amber/src/main/scala/edu/uci/ics/amber/engine/architecture/worker/promisehandlers/InitializeExecutorHandler.scala @@ -28,6 +28,7 @@ trait InitializeExecutorHandler { case OpExecWithCode(code, _) => ExecFactory.newExecFromJavaCode(code) case OpExecSink(storageKey, workflowIdentity, outputMode) => new ProgressiveSinkOpExec( + workerIdx, outputMode, storageKey, workflowIdentity diff --git a/core/amber/src/main/scala/edu/uci/ics/texera/web/ComputingUnitMaster.scala b/core/amber/src/main/scala/edu/uci/ics/texera/web/ComputingUnitMaster.scala index f641440c643..e0d82451c5a 100644 --- a/core/amber/src/main/scala/edu/uci/ics/texera/web/ComputingUnitMaster.scala +++ b/core/amber/src/main/scala/edu/uci/ics/texera/web/ComputingUnitMaster.scala @@ -179,7 +179,7 @@ class ComputingUnitMaster extends io.dropwizard.Application[Configuration] with val storageType = collection.get("storageType").asText() val collectionName = collection.get("storageKey").asText() storageType match { - case OpResultStorage.MEMORY => + case OpResultStorage.MEMORY | OpResultStorage.ICEBERG => // rely on the server-side result cleanup logic. case OpResultStorage.MONGODB => MongoDatabaseManager.dropCollection(collectionName) diff --git a/core/amber/src/main/scala/edu/uci/ics/texera/web/resource/dashboard/user/workflow/WorkflowExecutionsResource.scala b/core/amber/src/main/scala/edu/uci/ics/texera/web/resource/dashboard/user/workflow/WorkflowExecutionsResource.scala index 132e9bdd7b3..7b51e853fdc 100644 --- a/core/amber/src/main/scala/edu/uci/ics/texera/web/resource/dashboard/user/workflow/WorkflowExecutionsResource.scala +++ b/core/amber/src/main/scala/edu/uci/ics/texera/web/resource/dashboard/user/workflow/WorkflowExecutionsResource.scala @@ -96,6 +96,7 @@ object WorkflowExecutionsResource { eId: UInteger, vId: UInteger, userName: String, + googleAvatar: String, status: Byte, result: String, startingTime: Timestamp, @@ -193,12 +194,8 @@ class WorkflowExecutionsResource { .select( WORKFLOW_EXECUTIONS.EID, WORKFLOW_EXECUTIONS.VID, - field( - context - .select(USER.NAME) - .from(USER) - .where(WORKFLOW_EXECUTIONS.UID.eq(USER.UID)) - ), + USER.NAME, + USER.GOOGLE_AVATAR, WORKFLOW_EXECUTIONS.STATUS, WORKFLOW_EXECUTIONS.RESULT, WORKFLOW_EXECUTIONS.STARTING_TIME, @@ -210,6 +207,8 @@ class WorkflowExecutionsResource { .from(WORKFLOW_EXECUTIONS) .join(WORKFLOW_VERSION) .on(WORKFLOW_VERSION.VID.eq(WORKFLOW_EXECUTIONS.VID)) + .join(USER) + .on(WORKFLOW_EXECUTIONS.UID.eq(USER.UID)) .where(WORKFLOW_VERSION.WID.eq(wid)) .fetchInto(classOf[WorkflowExecutionEntry]) .asScala diff --git a/core/amber/src/main/scala/edu/uci/ics/texera/workflow/WorkflowCompiler.scala b/core/amber/src/main/scala/edu/uci/ics/texera/workflow/WorkflowCompiler.scala index a01a1d3b38b..493015de005 100644 --- a/core/amber/src/main/scala/edu/uci/ics/texera/workflow/WorkflowCompiler.scala +++ b/core/amber/src/main/scala/edu/uci/ics/texera/workflow/WorkflowCompiler.scala @@ -80,9 +80,9 @@ class WorkflowCompiler( val storageKey = OpResultStorage.createStorageKey(physicalOp.id.logicalOpId, outputPortId) - // Determine the storage type, defaulting to memory for large HTML visualizations + // Determine the storage type, defaulting to iceberg for large HTML visualizations val storageType = - if (outputPort.mode == SINGLE_SNAPSHOT) OpResultStorage.MEMORY + if (outputPort.mode == SINGLE_SNAPSHOT) OpResultStorage.ICEBERG else OpResultStorage.defaultStorageMode if (!storage.contains(storageKey)) { diff --git a/core/build.sbt b/core/build.sbt index 648a9a5d7f3..8fb469af416 100644 --- a/core/build.sbt +++ b/core/build.sbt @@ -3,18 +3,37 @@ lazy val WorkflowCore = (project in file("workflow-core")) .dependsOn(DAO) .configs(Test) .dependsOn(DAO % "test->test") // test scope dependency -lazy val WorkflowOperator = (project in file("workflow-operator")).dependsOn(WorkflowCore) +lazy val WorkflowOperator = (project in file("workflow-operator")) + .dependsOn(WorkflowCore) + .settings( + dependencyOverrides ++= Seq( + "org.apache.commons" % "commons-compress" % "1.23.0", // because of the dependency introduced by iceberg + ) + ) lazy val WorkflowCompilingService = (project in file("workflow-compiling-service")) .dependsOn(WorkflowOperator) .settings( dependencyOverrides ++= Seq( // override it as io.dropwizard 4 require 2.16.1 or higher - "com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.16.1" + "com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.16.1", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.16.1", + "org.glassfish.jersey.core" % "jersey-common" % "3.0.12" ) ) lazy val WorkflowExecutionService = (project in file("amber")) .dependsOn(WorkflowOperator) + .settings( + dependencyOverrides ++= Seq( + "com.fasterxml.jackson.core" % "jackson-core" % "2.15.1", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.15.1", + "com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.15.1", + "org.slf4j" % "slf4j-api" % "1.7.26", + "org.eclipse.jetty" % "jetty-server" % "9.4.20.v20190813", + "org.eclipse.jetty" % "jetty-servlet" % "9.4.20.v20190813", + "org.eclipse.jetty" % "jetty-http" % "9.4.20.v20190813", + ) + ) .configs(Test) .dependsOn(DAO % "test->test") // test scope dependency diff --git a/core/gui/src/app/dashboard/component/user/user-workflow/ngbd-modal-workflow-executions/workflow-execution-history.component.html b/core/gui/src/app/dashboard/component/user/user-workflow/ngbd-modal-workflow-executions/workflow-execution-history.component.html index af59d739c4a..1c6134675b3 100644 --- a/core/gui/src/app/dashboard/component/user/user-workflow/ngbd-modal-workflow-executions/workflow-execution-history.component.html +++ b/core/gui/src/app/dashboard/component/user/user-workflow/ngbd-modal-workflow-executions/workflow-execution-history.component.html @@ -143,11 +143,10 @@ nzType="star"> - +