mirror of https://github.com/OpenVidu/openvidu.git
openvidu-server: remove unused containers Map in ComposedRecordingService
parent
024230a87c
commit
2aecdfad1f
|
@ -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());
|
||||||
|
|
|
@ -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));
|
||||||
|
|
Loading…
Reference in New Issue