Describe the bug
Calling BriefcaseDb.locks.releaseAllLocks() should release all locks associated with a briefcase but it only releases the first 100 locks and leaves the remaining locks in place.
To Reproduce
Steps to reproduce the behavior:
Create a new iModel, add 200 elements and push to hub.
Expected behavior
Calling BriefcaseDb.locks.releaseAllLocks() should release all locks associated with a briefcase.
Screenshots
N/A
Desktop (please complete the applicable information):
OS: Windows 11
Browser Chrome
Version [e.g. 22]
iTwin.js Version: The referenced package that contains the releaseAllLocks() code is "@itwin/imodels-access-backend": "3.1.0"
Additional context
The code that releases locks is in "imodels-clients\itwin-platform-access\imodels-access-backend\src\BackendIModelsAccess.ts". The "releaseAllLocks" method is shown below.
The only locks released are the ones associated with the "locks[0]" array element. Search for "const lock: Lock = locks[0];" in the code listed below.
Describe the bug Calling BriefcaseDb.locks.releaseAllLocks() should release all locks associated with a briefcase but it only releases the first 100 locks and leaves the remaining locks in place.
To Reproduce Steps to reproduce the behavior:
All locks are not released.
Expected behavior Calling BriefcaseDb.locks.releaseAllLocks() should release all locks associated with a briefcase.
Screenshots N/A
Desktop (please complete the applicable information):
Additional context The code that releases locks is in "imodels-clients\itwin-platform-access\imodels-access-backend\src\BackendIModelsAccess.ts". The "releaseAllLocks" method is shown below. The only locks released are the ones associated with the "locks[0]" array element. Search for "const lock: Lock = locks[0];" in the code listed below.
` public async releaseAllLocks(arg: BriefcaseDbArg): Promise {
const getLockListParams: GetLockListParams = {
...this.getIModelScopedOperationParams(arg),
urlParams: {
briefcaseId: arg.briefcaseId
}
};
}`