openvidu-server: use same Media Node id strategy for decrementing active recordings

pull/574/head
pabloFuente 2020-12-03 17:20:28 +01:00
parent eedf393f6a
commit 0f9f0b4565
5 changed files with 11 additions and 9 deletions

View File

@ -67,7 +67,8 @@ public class FixedOneKmsManager extends KmsManager {
}
@Override
public void decrementActiveRecordings(String mediaNodeId, String recordingId) {
public void decrementActiveRecordings(RecordingProperties recordingProperties, String recordingId,
Session session) {
try {
this.getKmss().iterator().next().decrementActiveRecordings(recordingId);
} catch (NoSuchElementException e) {

View File

@ -357,7 +357,8 @@ public abstract class KmsManager {
public abstract void incrementActiveRecordings(RecordingProperties recordingProperties, String recordingId,
Session session);
public abstract void decrementActiveRecordings(String mediaNodeId, String recordingId);
public abstract void decrementActiveRecordings(RecordingProperties recordingProperties, String recordingId,
Session session);
@PostConstruct
protected abstract void postConstructInitKurentoClients();

View File

@ -286,8 +286,7 @@ public class ComposedRecordingService extends RecordingService {
cleanRecordingMaps(recordingAux);
// Decrement active recordings
kmsManager.decrementActiveRecordings(recordingAux.getRecordingProperties().mediaNode(),
recordingId);
kmsManager.decrementActiveRecordings(recordingAux.getRecordingProperties(), recordingId, session);
if (i == timeout) {
log.error("Container did not launched in {} seconds", timeout / 2);
@ -363,8 +362,8 @@ public class ComposedRecordingService extends RecordingService {
// Decrement active recordings once it is downloaded. This method will also drop
// the Media Node if no more sessions or recordings and status is
// waiting-idle-to-terminate
kmsManager.decrementActiveRecordings(finalRecordingArray[0].getRecordingProperties().mediaNode(),
finalRecordingArray[0].getId());
kmsManager.decrementActiveRecordings(finalRecordingArray[0].getRecordingProperties(),
finalRecordingArray[0].getId(), session);
// Upload if necessary
this.uploadRecording(finalRecordingArray[0], reason);
@ -593,7 +592,7 @@ public class ComposedRecordingService extends RecordingService {
// Decrement active recordings once it is downloaded. This method will also drop
// the Media Node if no more sessions or recordings and status is
// waiting-idle-to-terminate
kmsManager.decrementActiveRecordings(recording.getRecordingProperties().mediaNode(), recording.getId());
kmsManager.decrementActiveRecordings(recording.getRecordingProperties(), recording.getId(), session);
// Upload if necessary
this.uploadRecording(recording, reason);

View File

@ -334,7 +334,7 @@ public class RecordingManager {
}
} catch (Exception e) {
// DECREMENT ACTIVE RECORDINGS OF MEDIA NODE AND TRY REMOVE MEDIA NODE HERE
kmsManager.decrementActiveRecordings(properties.mediaNode(), recordingId);
kmsManager.decrementActiveRecordings(properties, recordingId, session);
throw e;
}
}

View File

@ -183,7 +183,8 @@ public class SingleStreamRecordingService extends RecordingService {
// Decrement active recordings once it is downloaded. This method will also drop
// the Media Node if no more sessions or recordings and status is
// waiting-idle-to-terminate
kmsManager.decrementActiveRecordings(session.getMediaNodeId(), finalRecordingArray[0].getId());
kmsManager.decrementActiveRecordings(finalRecordingArray[0].getRecordingProperties(),
finalRecordingArray[0].getId(), session);
// Upload if necessary
this.uploadRecording(finalRecordingArray[0], reason);