Explicitly release MOSEK licenses when optimize()
raises a mosek.Error
#2593
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes # .
Summary/Motivation:
MOSEK is not good about releasing licenses if t raises an exception (
mosek.Error
) from withinoptimize()
. This PR works around that by explicitly releasing all licenses in the event thatoptimize()
raises an exception.This was discovered through the
test_writers.py
QCP and MIQCP tests (which test a series of expected failures for MOSEK in rapid succession, resulting in as many as 9 licenses being consumed).Changes proposed in this PR:
Legal Acknowledgement
By contributing to this software project, I have read the contribution guide and agree to the following terms and conditions for my contribution: