Skip to content

Commit 27b08ed

Browse files
authored
Feature/385 symlinks for files (#391)
* #385 symlinks for files
1 parent 769b9c2 commit 27b08ed

File tree

8 files changed

+22
-12
lines changed

8 files changed

+22
-12
lines changed

src/main/resources/application.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ scheduler.executors.thread.pool.size=30
4949
scheduler.jobs.parallel.number=100
5050
scheduler.heart.beat=5000
5151
scheduler.lag.threshold=20000
52-
scheduler.sensors.changedSensorsMinimalChunkQuerySize=100
52+
scheduler.sensors.changedSensorsChunkQuerySize=100
53+
scheduler.executors.executablesFolder=/
5354

5455
#Kafka sensor properties.
5556
kafkaSource.group.id=hyper_drive_${appUniqueId}

src/main/scala/za/co/absa/hyperdrive/trigger/persistance/SensorRepository.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class SensorRepositoryImpl extends SensorRepository {
5353

5454
override def getChangedSensors(originalSensors: Seq[Sensor])(implicit ec: ExecutionContext): Future[Seq[Sensor]] = {
5555
Future.sequence(
56-
originalSensors.grouped(SensorsConfig.getChangedSensorsMinimalChunkQuerySize).toSeq.map(group => getChangedSensorsInternal(group))
56+
originalSensors.grouped(SensorsConfig.getChangedSensorsChunkQuerySize).toSeq.map(group => getChangedSensorsInternal(group))
5757
).map(_.flatten)
5858
}
5959

src/main/scala/za/co/absa/hyperdrive/trigger/scheduler/executors/shell/ShellParameters.scala

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,17 @@
1515

1616
package za.co.absa.hyperdrive.trigger.scheduler.executors.shell
1717

18+
import java.nio.file.Paths
19+
1820
import za.co.absa.hyperdrive.trigger.models.JobParameters
21+
import za.co.absa.hyperdrive.trigger.scheduler.utilities.ExecutorsConfig
1922

2023
case class ShellParameters(
2124
scriptLocation: String
2225
)
2326

2427
object ShellParameters {
2528
def apply(jobParameters: JobParameters): ShellParameters = new ShellParameters(
26-
scriptLocation = jobParameters.variables("scriptLocation")
29+
scriptLocation = Paths.get(ExecutorsConfig.getExecutablesFolder, jobParameters.variables("scriptLocation")).toString
2730
)
28-
}
31+
}

src/main/scala/za/co/absa/hyperdrive/trigger/scheduler/executors/spark/SparkParameters.scala

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@
1515

1616
package za.co.absa.hyperdrive.trigger.scheduler.executors.spark
1717

18+
import java.nio.file.Paths
19+
1820
import za.co.absa.hyperdrive.trigger.models.JobParameters
21+
import za.co.absa.hyperdrive.trigger.scheduler.utilities.ExecutorsConfig
1922

2023
import scala.util.Try
2124

@@ -35,12 +38,12 @@ case class SparkParameters(
3538
object SparkParameters {
3639
def apply(jobParameters: JobParameters): SparkParameters = {
3740
SparkParameters(
38-
jobJar = jobParameters.variables("jobJar"),
41+
jobJar = Paths.get(ExecutorsConfig.getExecutablesFolder, jobParameters.variables("jobJar")).toString,
3942
mainClass = jobParameters.variables("mainClass"),
4043
deploymentMode = jobParameters.variables("deploymentMode"),
4144
appArguments = Try(jobParameters.maps("appArguments")).getOrElse(List.empty[String]),
42-
additionalJars = Try(jobParameters.maps("additionalJars")).getOrElse(List.empty[String]),
43-
additionalFiles = Try(jobParameters.maps("additionalFiles")).getOrElse(List.empty[String]),
45+
additionalJars = Try(jobParameters.maps("additionalJars")).getOrElse(List.empty[String]).map(jar => Paths.get(ExecutorsConfig.getExecutablesFolder, jar).toString),
46+
additionalFiles = Try(jobParameters.maps("additionalFiles")).getOrElse(List.empty[String]).map(file => Paths.get(ExecutorsConfig.getExecutablesFolder, file).toString),
4447
additionalSparkConfig = Try(jobParameters.keyValuePairs("additionalSparkConfig")).getOrElse(Map.empty[String, String])
4548
)
4649
}

src/main/scala/za/co/absa/hyperdrive/trigger/scheduler/utilities/Configs.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ object KafkaConfig {
6969
object SensorsConfig {
7070
val getThreadPoolSize: Int =
7171
Configs.conf.getInt("scheduler.sensors.thread.pool.size")
72-
val getChangedSensorsMinimalChunkQuerySize: Int =
73-
Configs.conf.getInt("scheduler.sensors.changedSensorsMinimalChunkQuerySize")
72+
val getChangedSensorsChunkQuerySize: Int =
73+
Configs.conf.getInt("scheduler.sensors.changedSensorsChunkQuerySize")
7474
}
7575

7676
object SchedulerConfig {
@@ -85,6 +85,8 @@ object SchedulerConfig {
8585
object ExecutorsConfig {
8686
val getThreadPoolSize: Int =
8787
Configs.conf.getInt("scheduler.executors.thread.pool.size")
88+
val getExecutablesFolder: String =
89+
Configs.conf.getString("scheduler.executors.executablesFolder")
8890
}
8991

9092
object SparkExecutorConfig {

src/test/resources/application.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ auth.inmemory.password=password
2020

2121
appUniqueId=9c282190-4078-4380-8960-ce52f43b94fg
2222

23-
scheduler.sensors.changedSensorsMinimalChunkQuerySize=100
23+
scheduler.executors.executablesFolder=src/test/resources/
24+
scheduler.sensors.changedSensorsChunkQuerySize=100
2425

2526
db.connectionPool=disabled
2627
db.url=jdbc:h2:mem:hyperdriver;DATABASE_TO_UPPER=false

src/test/scala/za/co/absa/hyperdrive/trigger/scheduler/executors/shell/ShellExecutorTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class ShellExecutorTest extends FlatSpec with Matchers with BeforeAndAfterAll wi
3535

3636
private val updateJobStub: JobInstance => Future[Unit] = mock[JobInstance => Future[Unit]]
3737

38-
private val testScriptLocation = "src/test/resources/testShellScript.sh"
38+
private val testScriptLocation = "testShellScript.sh"
3939
private val testJobInstance = JobInstance(
4040
jobName = "jobName",
4141
jobType = Shell,

ui/src/app/services/workflow/workflow.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ export class WorkflowService {
333333
private static getShellFormParts(): FormPart[] {
334334
return [
335335
FormPartFactory.create(
336-
'Script location',
336+
'Script',
337337
'jobParameters.variables.scriptLocation',
338338
'string-field',
339339
PartValidationFactory.create(true, undefined, 1),

0 commit comments

Comments
 (0)