Skip to content

Commit 3fd78a3

Browse files
committed
fix warnings, add hikaricp, simplify logs, add header logo.
1 parent 0ce4b45 commit 3fd78a3

File tree

30 files changed

+205
-105
lines changed

30 files changed

+205
-105
lines changed

.devcontainer/docker-compose.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,13 @@ services:
209209
image: zookeeper:latest
210210
container_name: zookeeper
211211
restart: always
212+
environment:
213+
ZOO_TICK_TIME: 3000
214+
ZOO_INIT_LIMIT: 10
215+
ZOO_SYNC_LIMIT: 5
216+
ZOO_MAX_CLIENT_CNXNS: 0
217+
ZOO_AUTOPURGE_SNAPRETAINCOUNT: 3
218+
ZOO_AUTOPURGE_PURGEINTERVAL: 24
212219
networks:
213220
airavata-network:
214221
ipv4_address: 192.168.100.17

Makefile

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.DEFAULT_GOAL := start
1+
.DEFAULT_GOAL := serve-dev
22

33
clean:
44
rm -rf distribution
@@ -9,5 +9,11 @@ build: clean
99
extract: build
1010
cd distribution && tar -xvf apache-airavata-api-server-0.21-SNAPSHOT.tar.gz
1111

12-
start: extract
12+
serve: extract
1313
cd distribution/apache-airavata-api-server-0.21-SNAPSHOT && ./bin/airavata.sh
14+
15+
compile-dev:
16+
mvn clean compile -DskipTests -pl airavata-api
17+
18+
serve-dev: compile-dev
19+
mvn exec:java -pl airavata-api

airavata-api/pom.xml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,11 @@ under the License.
124124
<groupId>org.hibernate.validator</groupId>
125125
<artifactId>hibernate-validator</artifactId>
126126
</dependency>
127+
<!-- Connection Pool -->
128+
<dependency>
129+
<groupId>org.hibernate.orm</groupId>
130+
<artifactId>hibernate-hikaricp</artifactId>
131+
</dependency>
127132
<dependency>
128133
<groupId>jakarta.transaction</groupId>
129134
<artifactId>jakarta.transaction-api</artifactId>
@@ -551,6 +556,18 @@ under the License.
551556
</includes>
552557
</testResource>
553558
</testResources>
559+
<resources>
560+
<resource>
561+
<directory>${project.basedir}/src/main/resources</directory>
562+
</resource>
563+
<resource>
564+
<directory>${project.basedir}/..</directory>
565+
<includes>
566+
<include>logo.txt</include>
567+
</includes>
568+
<filtering>false</filtering>
569+
</resource>
570+
</resources>
554571
</build>
555572

556573
<properties>

airavata-api/src/main/java/org/apache/airavata/Main.java

Lines changed: 38 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -45,72 +45,95 @@
4545

4646
public class Main {
4747

48+
static {
49+
Thread.currentThread().setName("Main");
50+
}
4851
private static final Logger logger = LoggerFactory.getLogger(Main.class);
4952

53+
54+
private static String getLogo() {
55+
String logo = "";
56+
try (java.io.InputStream is = Main.class.getClassLoader().getResourceAsStream("logo.txt")) {
57+
if (is != null) {
58+
java.util.Scanner scanner = new java.util.Scanner(is, java.nio.charset.StandardCharsets.UTF_8.name());
59+
scanner.useDelimiter("\\A");
60+
logo = scanner.hasNext() ? scanner.next() : "";
61+
scanner.close();
62+
}
63+
} catch (Exception e) {
64+
logger.warn("Could not load logo.txt", e);
65+
}
66+
return logo;
67+
}
68+
5069
public static void main(String[] args) throws Exception {
5170

52-
System.out.println("Starting Airavata API Server .......");
71+
String logo = getLogo();
72+
System.out.println(logo);
73+
Thread.sleep(1000);
74+
75+
logger.info("Starting Airavata API Server .......");
5376
var airavataApiServer = new AiravataAPIServer();
5477
airavataApiServer.start();
5578

56-
System.out.println("Starting DB Event Manager Runner .......");
79+
logger.info("Starting DB Event Manager Runner .......");
5780
var dbEventManagerRunner = new DBEventManagerRunner();
5881
dbEventManagerRunner.start();
5982

60-
System.out.println("Starting Helix Controller .......");
83+
logger.info("Starting Helix Controller .......");
6184
var helixController = new HelixController();
6285
helixController.start();
6386

64-
System.out.println("Starting Helix Participant .......");
87+
logger.info("Starting Helix Participant .......");
6588
var participant = new GlobalParticipant();
6689
participant.run();
6790

68-
System.out.println("Starting Pre Workflow Manager .......");
91+
logger.info("Starting Pre Workflow Manager .......");
6992
var preWorkflowManager = new PreWorkflowManager();
7093
preWorkflowManager.run();
7194

72-
System.out.println("Starting Post Workflow Manager .......");
95+
logger.info("Starting Post Workflow Manager .......");
7396
var postWorkflowManager = new PostWorkflowManager();
7497
postWorkflowManager.run();
7598

7699
if (ServerSettings.getBooleanSetting("data.interpreter.enabled")) {
77-
System.out.println("Starting Data Interpreter .......");
100+
logger.info("Starting Data Interpreter .......");
78101
var dataInterpreter = new DataInterpreterService();
79102
dataInterpreter.start();
80103
}
81104

82105
if (ServerSettings.getBooleanSetting("process.rescheduler.enabled")) {
83-
System.out.println("Starting Process Rescheduler .......");
106+
logger.info("Starting Process Rescheduler .......");
84107
var processRescheduler = new ProcessReschedulingService();
85108
processRescheduler.start();
86109
}
87110

88111
if (ServerSettings.getBooleanSetting("monitor.email.enabled")) {
89-
System.out.println("Starting Email Monitor .......");
112+
logger.info("Starting Email Monitor .......");
90113
var emailMonitor = new EmailBasedMonitor();
91114
emailMonitor.run();
92115
}
93116

94117
if (ServerSettings.getBooleanSetting("monitor.job.realtime.enabled")) {
95-
System.out.println("Starting Realtime Monitor .......");
118+
logger.info("Starting Realtime Monitor .......");
96119
var realTimeMonitor = new RealtimeMonitor();
97120
realTimeMonitor.run();
98121
}
99122

100123
if (ServerSettings.getBooleanSetting("monitor.job.submission.enabled")) {
101-
System.out.println("Starting Job Submission Monitor .......");
124+
logger.info("Starting Job Submission Monitor .......");
102125
var clusterMonitor = new ClusterStatusMonitorJobScheduler();
103126
clusterMonitor.scheduleClusterStatusMonitoring();
104127
}
105128

106129
if (ServerSettings.getBooleanSetting("monitor.compute.resource.enabled")) {
107-
System.out.println("Starting Cluster Resource Monitor .......");
130+
logger.info("Starting Cluster Resource Monitor .......");
108131
var resourceMonitor = new ComputationalResourceMonitoringService();
109132
resourceMonitor.start();
110133
}
111134

112135
if (ServerSettings.getBooleanSetting("monitor.prometheus.enabled")) {
113-
System.out.println("Starting Prometheus Monitor .......");
136+
logger.info("Starting Prometheus Monitor .......");
114137
var monitoringServer = new MonitoringServer(
115138
ServerSettings.getSetting("monitor.prometheus.host"),
116139
ServerSettings.getIntSetting("monitor.prometheus.port"));
@@ -123,7 +146,7 @@ public static void main(String[] args) throws Exception {
123146
try {
124147
Thread.currentThread().join();
125148
} catch (InterruptedException ex) {
126-
System.out.println("Main thread is interrupted! reason: " + ex);
149+
logger.info("Main thread is interrupted! reason: " + ex);
127150
ServerSettings.setStopAllThreads(true);
128151
}
129152
}
@@ -248,7 +271,7 @@ public static void postInit() {
248271
}
249272
}
250273
} catch (Exception e) {
251-
logger.error("Failed to add the password credentials for the default gateway", e);
274+
logger.error("Failed to initialize DB entries", e);
252275
}
253276
}
254277
}

airavata-api/src/main/java/org/apache/airavata/db/event/manager/DBEventManagerRunner.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@
2222
import org.apache.airavata.common.exception.AiravataException;
2323
import org.apache.airavata.common.utils.IServer;
2424
import org.apache.airavata.db.event.manager.messaging.DBEventManagerMessagingFactory;
25-
import org.apache.log4j.LogManager;
26-
import org.apache.log4j.Logger;
25+
import org.slf4j.Logger;
26+
import org.slf4j.LoggerFactory;
2727

2828
/**
2929
* Created by Ajinkya on 3/29/17.
3030
*/
3131
public class DBEventManagerRunner implements IServer {
3232

33-
private static final Logger log = LogManager.getLogger(DBEventManagerRunner.class);
33+
private static final Logger log = LoggerFactory.getLogger(DBEventManagerRunner.class);
3434

3535
private static final String SERVER_NAME = "DB Event Manager";
3636
private static final String SERVER_VERSION = "1.0";

airavata-api/src/main/java/org/apache/airavata/helix/impl/participant/GlobalParticipant.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,6 @@ public class GlobalParticipant extends HelixParticipant<AbstractTask> {
6767

6868
@SuppressWarnings("WeakerAccess")
6969
public GlobalParticipant() throws ApplicationSettingsException {
70-
super(GlobalParticipant.taskClasses, null);
70+
super(GlobalParticipant.taskClasses, "Orchestrator");
7171
}
7272
}

airavata-api/src/main/java/org/apache/airavata/messaging/core/impl/MessageConsumer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@
2626
import org.apache.airavata.messaging.core.MessageHandler;
2727
import org.apache.airavata.model.dbevent.DBEventMessage;
2828
import org.apache.airavata.model.messaging.event.Message;
29-
import org.apache.log4j.LogManager;
30-
import org.apache.log4j.Logger;
3129
import org.apache.thrift.TBase;
3230
import org.apache.thrift.TException;
31+
import org.slf4j.Logger;
32+
import org.slf4j.LoggerFactory;
3333

3434
public class MessageConsumer extends DefaultConsumer {
3535

36-
private static final Logger logger = LogManager.getLogger(MessageConsumer.class);
36+
private static final Logger logger = LoggerFactory.getLogger(MessageConsumer.class);
3737

3838
private MessageHandler handler;
3939
private Channel channel;

airavata-api/src/main/resources/META-INF/persistence.xml

Lines changed: 49 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,15 @@
2828
<class>org.apache.airavata.profile.commons.tenant.entities.GatewayEntity</class>
2929
<exclude-unlisted-classes>true</exclude-unlisted-classes>
3030
<properties>
31-
<property name="hibernate.dialect" value="org.hibernate.dialect.MariaDBDialect" />
3231
<property name="hibernate.hbm2ddl.auto" value="update" />
3332
<property name="hibernate.show_sql" value="false" />
33+
<property name="hibernate.connection.provider_class" value="org.hibernate.hikaricp.internal.HikariCPConnectionProvider" />
34+
<property name="hibernate.hikari.connectionTimeout" value="30000" />
35+
<property name="hibernate.hikari.idleTimeout" value="600000" />
36+
<property name="hibernate.hikari.maxLifetime" value="1800000" />
37+
<property name="hibernate.hikari.maximumPoolSize" value="10" />
38+
<property name="hibernate.hikari.minimumIdle" value="5" />
39+
<property name="hibernate.hikari.leakDetectionThreshold" value="60000" />
3440
</properties>
3541
</persistence-unit>
3642
<persistence-unit name="appcatalog_data_new">
@@ -97,9 +103,15 @@
97103
<class>org.apache.airavata.registry.core.entities.appcatalog.ComputeResourceReservationEntity</class>
98104
<exclude-unlisted-classes>true</exclude-unlisted-classes>
99105
<properties>
100-
<property name="hibernate.dialect" value="org.hibernate.dialect.MariaDBDialect" />
101106
<property name="hibernate.hbm2ddl.auto" value="update" />
102107
<property name="hibernate.show_sql" value="false" />
108+
<property name="hibernate.connection.provider_class" value="org.hibernate.hikaricp.internal.HikariCPConnectionProvider" />
109+
<property name="hibernate.hikari.connectionTimeout" value="30000" />
110+
<property name="hibernate.hikari.idleTimeout" value="600000" />
111+
<property name="hibernate.hikari.maxLifetime" value="1800000" />
112+
<property name="hibernate.hikari.maximumPoolSize" value="10" />
113+
<property name="hibernate.hikari.minimumIdle" value="5" />
114+
<property name="hibernate.hikari.leakDetectionThreshold" value="60000" />
103115
</properties>
104116
</persistence-unit>
105117
<persistence-unit name="replicacatalog_data_new">
@@ -111,9 +123,15 @@
111123
<class>org.apache.airavata.registry.core.entities.replicacatalog.DataReplicaMetadataEntity</class>
112124
<exclude-unlisted-classes>true</exclude-unlisted-classes>
113125
<properties>
114-
<property name="hibernate.dialect" value="org.hibernate.dialect.MariaDBDialect" />
115126
<property name="hibernate.hbm2ddl.auto" value="update" />
116127
<property name="hibernate.show_sql" value="false" />
128+
<property name="hibernate.connection.provider_class" value="org.hibernate.hikaricp.internal.HikariCPConnectionProvider" />
129+
<property name="hibernate.hikari.connectionTimeout" value="30000" />
130+
<property name="hibernate.hikari.idleTimeout" value="600000" />
131+
<property name="hibernate.hikari.maxLifetime" value="1800000" />
132+
<property name="hibernate.hikari.maximumPoolSize" value="10" />
133+
<property name="hibernate.hikari.minimumIdle" value="5" />
134+
<property name="hibernate.hikari.leakDetectionThreshold" value="60000" />
117135
</properties>
118136
</persistence-unit>
119137
<persistence-unit name="workflowcatalog_data_new">
@@ -133,9 +151,15 @@
133151
<class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.WorkflowHandlerEntity</class>
134152
<exclude-unlisted-classes>true</exclude-unlisted-classes>
135153
<properties>
136-
<property name="hibernate.dialect" value="org.hibernate.dialect.MariaDBDialect" />
137154
<property name="hibernate.hbm2ddl.auto" value="update" />
138155
<property name="hibernate.show_sql" value="false" />
156+
<property name="hibernate.connection.provider_class" value="org.hibernate.hikaricp.internal.HikariCPConnectionProvider" />
157+
<property name="hibernate.hikari.connectionTimeout" value="30000" />
158+
<property name="hibernate.hikari.idleTimeout" value="600000" />
159+
<property name="hibernate.hikari.maxLifetime" value="1800000" />
160+
<property name="hibernate.hikari.maximumPoolSize" value="10" />
161+
<property name="hibernate.hikari.minimumIdle" value="5" />
162+
<property name="hibernate.hikari.leakDetectionThreshold" value="60000" />
139163
</properties>
140164
</persistence-unit>
141165
<persistence-unit name="experiment_data_new">
@@ -170,9 +194,15 @@
170194
<class>org.apache.airavata.registry.core.entities.expcatalog.UserEntity</class>
171195
<exclude-unlisted-classes>true</exclude-unlisted-classes>
172196
<properties>
173-
<property name="hibernate.dialect" value="org.hibernate.dialect.MariaDBDialect" />
174197
<property name="hibernate.hbm2ddl.auto" value="update" />
175198
<property name="hibernate.show_sql" value="false" />
199+
<property name="hibernate.connection.provider_class" value="org.hibernate.hikaricp.internal.HikariCPConnectionProvider" />
200+
<property name="hibernate.hikari.connectionTimeout" value="30000" />
201+
<property name="hibernate.hikari.idleTimeout" value="600000" />
202+
<property name="hibernate.hikari.maxLifetime" value="1800000" />
203+
<property name="hibernate.hikari.maximumPoolSize" value="10" />
204+
<property name="hibernate.hikari.minimumIdle" value="5" />
205+
<property name="hibernate.hikari.leakDetectionThreshold" value="60000" />
176206
</properties>
177207
</persistence-unit>
178208
<persistence-unit name="airavata-sharing-registry">
@@ -188,9 +218,15 @@
188218
<class>org.apache.airavata.catalog.sharing.db.entities.UserGroupEntity</class>
189219
<exclude-unlisted-classes>true</exclude-unlisted-classes>
190220
<properties>
191-
<property name="hibernate.dialect" value="org.hibernate.dialect.MariaDBDialect" />
192221
<property name="hibernate.hbm2ddl.auto" value="update" />
193222
<property name="hibernate.show_sql" value="false" />
223+
<property name="hibernate.connection.provider_class" value="org.hibernate.hikaricp.internal.HikariCPConnectionProvider" />
224+
<property name="hibernate.hikari.connectionTimeout" value="30000" />
225+
<property name="hibernate.hikari.idleTimeout" value="600000" />
226+
<property name="hibernate.hikari.maxLifetime" value="1800000" />
227+
<property name="hibernate.hikari.maximumPoolSize" value="10" />
228+
<property name="hibernate.hikari.minimumIdle" value="5" />
229+
<property name="hibernate.hikari.leakDetectionThreshold" value="60000" />
194230
</properties>
195231
</persistence-unit>
196232
<persistence-unit name="credential_store_data">
@@ -199,9 +235,15 @@
199235
<class>org.apache.airavata.credential.store.store.impl.db.CredentialsEntity</class>
200236
<exclude-unlisted-classes>true</exclude-unlisted-classes>
201237
<properties>
202-
<property name="hibernate.dialect" value="org.hibernate.dialect.MariaDBDialect" />
203238
<property name="hibernate.hbm2ddl.auto" value="update" />
204239
<property name="hibernate.show_sql" value="false" />
240+
<property name="hibernate.connection.provider_class" value="org.hibernate.hikaricp.internal.HikariCPConnectionProvider" />
241+
<property name="hibernate.hikari.connectionTimeout" value="30000" />
242+
<property name="hibernate.hikari.idleTimeout" value="600000" />
243+
<property name="hibernate.hikari.maxLifetime" value="1800000" />
244+
<property name="hibernate.hikari.maximumPoolSize" value="10" />
245+
<property name="hibernate.hikari.minimumIdle" value="5" />
246+
<property name="hibernate.hikari.leakDetectionThreshold" value="60000" />
205247
</properties>
206248
</persistence-unit>
207249
</persistence>

airavata-api/src/main/resources/airavata-server.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ monitor.email.enabled=true
7171
monitor.email.expiry.minutes=60
7272
monitor.email.folder.name=INBOX
7373
monitor.email.host=imap.gmail.com
74-
monitor.email.password=123456
74+
monitor.email.password=wcmehvulfzfnqmta
7575
monitor.email.interval.millis=10000
7676
monitor.email.store.protocol=imaps
7777
monitor.job.status.broker.consumer.group=MonitoringConsumer

airavata-api/src/main/resources/distribution/bin/airavata.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,5 @@
2121

2222
SERVICE_NAME="airavata-api"
2323
MAIN_CLASS="org.apache.airavata.Main"
24-
JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlog4j.configurationFile=file:${AIRAVATA_HOME}/conf/log4j2.xml -Dlog4j2.messageFactory=org.apache.logging.log4j.message.ParameterizedMessageFactory"
24+
JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlog4j.configurationFile=file:${AIRAVATA_HOME}/conf/log4j2.xml"
2525
run_service "$SERVICE_NAME" "$MAIN_CLASS" "$JAVA_OPTS" "$@"

0 commit comments

Comments
 (0)