@budibase/backend-core 3.36.2 → 3.36.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@budibase/backend-core",
3
- "version": "3.36.2",
3
+ "version": "3.36.3",
4
4
  "description": "Budibase backend core libraries used in server and worker",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -110,5 +110,5 @@
110
110
  }
111
111
  }
112
112
  },
113
- "gitHead": "af5c4987e639f4c3f801e5baa9570277080cef14"
113
+ "gitHead": "6a1af9e82701e0341177e290c6bc695663e2d8e4"
114
114
  }
@@ -136,6 +136,8 @@ function doWithLock(opts, task) {
136
136
  const redlock = yield getClient(opts.type, opts.customOptions);
137
137
  let lock;
138
138
  let timeout;
139
+ let inflightExtend;
140
+ let stopped = false;
139
141
  try {
140
142
  const name = getLockName(opts);
141
143
  const ttl = opts.type === types_1.LockType.AUTO_EXTEND ? exports.AUTO_EXTEND_POLLING_MS : opts.ttl;
@@ -145,7 +147,14 @@ function doWithLock(opts, task) {
145
147
  // We keep extending the lock while the task is running
146
148
  const extendInIntervals = () => {
147
149
  timeout = setTimeout(() => __awaiter(this, void 0, void 0, function* () {
148
- lock = yield lock.extend(ttl, () => opts.onExtend && opts.onExtend());
150
+ if (stopped) {
151
+ return;
152
+ }
153
+ inflightExtend = (() => __awaiter(this, void 0, void 0, function* () {
154
+ lock = yield lock.extend(ttl, () => opts.onExtend && opts.onExtend());
155
+ }))();
156
+ yield inflightExtend;
157
+ inflightExtend = undefined;
149
158
  extendInIntervals();
150
159
  }), ttl / 2);
151
160
  };
@@ -173,7 +182,12 @@ function doWithLock(opts, task) {
173
182
  }
174
183
  }
175
184
  finally {
185
+ stopped = true;
176
186
  clearTimeout(timeout);
187
+ // If an extend is in-flight, wait for it to settle so that `lock` holds the
188
+ // latest token before we call unlock. Extend errors are swallowed here
189
+ // because the lock will expire on its own if unlock also fails.
190
+ yield (inflightExtend === null || inflightExtend === void 0 ? void 0 : inflightExtend.catch(() => { }));
177
191
  yield (lock === null || lock === void 0 ? void 0 : lock.unlock());
178
192
  }
179
193
  });
@@ -1 +1 @@
1
- {"version":3,"file":"redlockImpl.js","sourceRoot":"","sources":["../../../src/redis/redlockImpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redlockImpl.js","sourceRoot":"","sources":["../../../src/redis/redlockImpl.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@budibase/backend-core",
3
- "version": "3.36.2",
3
+ "version": "3.36.3",
4
4
  "description": "Budibase backend core libraries used in server and worker",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -110,5 +110,5 @@
110
110
  }
111
111
  }
112
112
  },
113
- "gitHead": "af5c4987e639f4c3f801e5baa9570277080cef14"
113
+ "gitHead": "6a1af9e82701e0341177e290c6bc695663e2d8e4"
114
114
  }