-
Notifications
You must be signed in to change notification settings - Fork 369
FileLockBasedLockChecker error attempting to release locks held by other processes #63
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
Thanks for this very detailed description. Would you be able to issue a pull request to fix this ?
… On 18 Jul 2020, at 18:10, Mark Santos ***@***.***> wrote:
To control which CPUs a specific-process can be pinned to in a multi-process affinity-enabled environment, the setting affinity.reserved can be specified to reserve specific CPUs per application.
When running multiple-applications with different reserved CPUs - the following error message can occur
ERROR FileLockBasedLockChecker - Cannot release lock for id XX as don't have it!
This seems to be due to ThreadAffinity checking the state of ALL lockfiles before checking which lockfiles are actually associated with the application's reserved CPUs:
final boolean canReserve(boolean specified) {
// (1) Processes lockfiles...
if (!LockCheck.isCpuFree(cpuId))
return false;
// (2) ....only checks reserved status here
if (!specified && !reservable) return false;
...
As lock files for ALL processes using the library are stored in java.io.tmpdir by default - applications incorrectly process lockfiles reserved for other applications during step (1) and the error message results.
Minor issue with high loglevel (ERROR)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
@marksantos that was a somewhat delayed close ;) |
m-anthony
pushed a commit
to m-anthony/Java-Thread-Affinity
that referenced
this issue
Nov 24, 2021
m-anthony
pushed a commit
to m-anthony/Java-Thread-Affinity
that referenced
this issue
Nov 24, 2021
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
To control which CPUs a specific-process can be pinned to in a multi-process affinity-enabled environment, the setting affinity.reserved can be specified to reserve specific CPUs per application.
When running multiple-applications with different reserved CPUs - the following error message can occur
This seems to be due to ThreadAffinity checking the state of ALL lockfiles before checking which lockfiles are actually associated with the application's reserved CPUs:
As lock files for ALL processes using the library are stored in java.io.tmpdir by default - applications incorrectly process lockfiles reserved for other applications during step (1) and the error message results.
Minor issue with high loglevel (ERROR)
Version: affinity-3.2.1
The text was updated successfully, but these errors were encountered: