openvidu-server: remove unused containers Map in ComposedRecordingService

pull/678/head
pabloFuente 2021-12-01 17:08:13 +01:00
parent 024230a87c
commit 2aecdfad1f
2 changed files with 4 additions and 10 deletions

View File

@ -58,7 +58,6 @@ public class ComposedQuickStartRecordingService extends ComposedRecordingService
session.getSessionId()); session.getSessionId());
} }
containers.remove(containerId);
sessionsContainers.remove(session.getSessionId()); sessionsContainers.remove(session.getSessionId());
} }
@ -219,7 +218,8 @@ public class ComposedQuickStartRecordingService extends ComposedRecordingService
String containerId = null; String containerId = null;
try { try {
final String container = openviduConfig.getOpenviduRecordingImageRepo() + ":" + openviduConfig.getOpenViduRecordingVersion(); final String container = openviduConfig.getOpenviduRecordingImageRepo() + ":"
+ openviduConfig.getOpenViduRecordingVersion();
final String containerName = "recording_" + session.getSessionId(); final String containerName = "recording_" + session.getSessionId();
Volume volume1 = new Volume("/recordings"); Volume volume1 = new Volume("/recordings");
List<Volume> volumes = new ArrayList<>(); List<Volume> volumes = new ArrayList<>();
@ -230,12 +230,10 @@ public class ComposedQuickStartRecordingService extends ComposedRecordingService
containerId = dockerManager.runContainer(properties.mediaNode(), container, containerName, null, volumes, containerId = dockerManager.runContainer(properties.mediaNode(), container, containerName, null, volumes,
binds, "host", envs, null, properties.shmSize(), false, null, binds, "host", envs, null, properties.shmSize(), false, null,
openviduConfig.isOpenviduRecordingGPUEnabled()); openviduConfig.isOpenviduRecordingGPUEnabled());
containers.put(containerId, containerName);
this.sessionsContainers.put(session.getSessionId(), containerId); this.sessionsContainers.put(session.getSessionId(), containerId);
} catch (Exception e) { } catch (Exception e) {
if (containerId != null) { if (containerId != null) {
dockerManager.removeContainer(properties.mediaNode(), containerId, true); dockerManager.removeContainer(properties.mediaNode(), containerId, true);
containers.remove(containerId);
sessionsContainers.remove(session.getSessionId()); sessionsContainers.remove(session.getSessionId());
} }
log.error("Error while launching container for COMPOSED_QUICK_START: ({})", e.getMessage()); log.error("Error while launching container for COMPOSED_QUICK_START: ({})", e.getMessage());

View File

@ -66,7 +66,6 @@ public class ComposedRecordingService extends RecordingService {
private static final Logger log = LoggerFactory.getLogger(ComposedRecordingService.class); private static final Logger log = LoggerFactory.getLogger(ComposedRecordingService.class);
protected Map<String, String> containers = new ConcurrentHashMap<>();
protected Map<String, String> sessionsContainers = new ConcurrentHashMap<>(); protected Map<String, String> sessionsContainers = new ConcurrentHashMap<>();
private Map<String, CompositeWrapper> composites = new ConcurrentHashMap<>(); private Map<String, CompositeWrapper> composites = new ConcurrentHashMap<>();
@ -164,7 +163,8 @@ public class ComposedRecordingService extends RecordingService {
String containerId; String containerId;
try { try {
final String container = openviduConfig.getOpenviduRecordingImageRepo() + ":" + openviduConfig.getOpenViduRecordingVersion(); final String container = openviduConfig.getOpenviduRecordingImageRepo() + ":"
+ openviduConfig.getOpenViduRecordingVersion();
final String containerName = "recording_" + recording.getId(); final String containerName = "recording_" + recording.getId();
Volume volume1 = new Volume("/recordings"); Volume volume1 = new Volume("/recordings");
List<Volume> volumes = new ArrayList<>(); List<Volume> volumes = new ArrayList<>();
@ -175,7 +175,6 @@ public class ComposedRecordingService extends RecordingService {
containerId = dockerManager.runContainer(properties.mediaNode(), container, containerName, null, volumes, containerId = dockerManager.runContainer(properties.mediaNode(), container, containerName, null, volumes,
binds, "host", envs, null, properties.shmSize(), false, null, binds, "host", envs, null, properties.shmSize(), false, null,
openviduConfig.isOpenviduRecordingGPUEnabled()); openviduConfig.isOpenviduRecordingGPUEnabled());
containers.put(containerId, containerName);
} catch (Exception e) { } catch (Exception e) {
this.cleanRecordingMaps(recording); this.cleanRecordingMaps(recording);
throw this.failStartRecording(session, recording, throw this.failStartRecording(session, recording,
@ -272,7 +271,6 @@ public class ComposedRecordingService extends RecordingService {
session.getSessionId()); session.getSessionId());
dockerManager.removeContainer(recordingAux.getRecordingProperties().mediaNode(), dockerManager.removeContainer(recordingAux.getRecordingProperties().mediaNode(),
containerIdAux, true); containerIdAux, true);
containers.remove(containerId);
containerClosed = true; containerClosed = true;
log.warn("Container {} for closed session {} succesfully stopped and removed", log.warn("Container {} for closed session {} succesfully stopped and removed",
containerIdAux, session.getSessionId()); containerIdAux, session.getSessionId());
@ -405,7 +403,6 @@ public class ComposedRecordingService extends RecordingService {
// Remove container // Remove container
dockerManager.removeContainer(recording.getRecordingProperties().mediaNode(), containerId, false); dockerManager.removeContainer(recording.getRecordingProperties().mediaNode(), containerId, false);
containers.remove(containerId);
} }
protected void updateRecordingAttributes(Recording recording) { protected void updateRecordingAttributes(Recording recording) {
@ -445,7 +442,6 @@ public class ComposedRecordingService extends RecordingService {
recording.setStatus(io.openvidu.java.client.Recording.Status.failed); recording.setStatus(io.openvidu.java.client.Recording.Status.failed);
if (removeContainer) { if (removeContainer) {
dockerManager.removeContainer(recording.getRecordingProperties().mediaNode(), containerId, true); dockerManager.removeContainer(recording.getRecordingProperties().mediaNode(), containerId, true);
containers.remove(containerId);
} }
sealRecordingMetadataFileAsReady(recording, recording.getSize(), recording.getDuration(), sealRecordingMetadataFileAsReady(recording, recording.getSize(), recording.getDuration(),
getMetadataFilePath(recording)); getMetadataFilePath(recording));