Skip to content

Commit 880469b

Browse files
authored
Add more logs specifically for the scheduler and close (#40)
* [Add-more-logs] Trying to add more logs specifically for the scheduler and close * [Add-more-logs] Added logs on notifyDeath silent return * [Add-more-logs] Added more logs in docker service and removed one * [Add-more-logs] Spotless...
1 parent 8a7e373 commit 880469b

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

JShellAPI/src/main/java/org/togetherjava/jshellapi/service/DockerService.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,13 @@ public void onNext(Frame object) {
131131
}
132132

133133
public void killContainerByName(String name) {
134-
for (Container container : client.listContainersCmd().withNameFilter(Set.of(name)).exec()) {
134+
LOGGER.debug("Fetching container to kill {}.", name);
135+
List<Container> containers = client.listContainersCmd().withNameFilter(Set.of(name)).exec();
136+
LOGGER.debug("Number of containers to kill: {} for name {}.", containers.size(), name);
137+
if (containers.size() != 1) {
138+
LOGGER.error("There is more than 1 container for name {}.", name);
139+
}
140+
for (Container container : containers) {
135141
client.killContainerCmd(container.getId()).exec();
136142
}
137143
}

JShellAPI/src/main/java/org/togetherjava/jshellapi/service/JShellService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ public String id() {
206206

207207
@Override
208208
public void close() {
209+
LOGGER.debug("Close called for session {}.", id);
209210
try {
210211
dockerService.killContainerByName(containerName());
211212
try {

JShellAPI/src/main/java/org/togetherjava/jshellapi/service/JShellSessionService.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public class JShellSessionService {
2828
private void initScheduler() {
2929
scheduler = Executors.newSingleThreadScheduledExecutor();
3030
scheduler.scheduleAtFixedRate(() -> {
31+
LOGGER.info("Scheduler heartbeat: started.");
3132
jshellSessions.keySet()
3233
.stream()
3334
.filter(id -> jshellSessions.get(id).isClosed())
@@ -36,6 +37,7 @@ private void initScheduler() {
3637
.stream()
3738
.filter(id -> jshellSessions.get(id).shouldDie())
3839
.toList();
40+
LOGGER.info("Scheduler heartbeat: sessions ready to die: {}", toDie);
3941
for (String id : toDie) {
4042
try {
4143
deleteSession(id);
@@ -49,8 +51,10 @@ private void initScheduler() {
4951

5052
void notifyDeath(String id) {
5153
JShellService shellService = jshellSessions.remove(id);
52-
if (shellService == null)
54+
if (shellService == null) {
55+
LOGGER.debug("Notify death on already removed session {}.", id);
5356
return;
57+
}
5458
if (!shellService.isClosed()) {
5559
LOGGER.error("JShell Service isn't dead when it should for id {}.", id);
5660
}

0 commit comments

Comments
 (0)