Skip to content

Commit b9f14b5

Browse files
committed
Revert "retry even 409 errors" because saving should only be done when a
mutex was acquired This reverts commit e5b1c95.
1 parent e5b1c95 commit b9f14b5

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

frontend/javascripts/viewer/model/sagas/saving/save_queue_draining.ts

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -113,19 +113,17 @@ export function* sendSaveRequestToServer(): Saga<number> {
113113
*/
114114

115115
const fullSaveQueue = yield* select((state) => state.save.queue);
116-
const storeSaveQueue = sliceAppropriateBatchCount(fullSaveQueue);
117-
const compactedSaveQueueWithoutVersions = compactSaveQueue(storeSaveQueue);
116+
const saveQueue = sliceAppropriateBatchCount(fullSaveQueue);
117+
let compactedSaveQueue = compactSaveQueue(saveQueue);
118+
const version = yield* select((state) => state.annotation.version);
118119
const annotationId = yield* select((state) => state.annotation.annotationId);
119120
const tracingStoreUrl = yield* select((state) => state.annotation.tracingStore.url);
121+
let versionIncrement;
122+
[compactedSaveQueue, versionIncrement] = addVersionNumbers(compactedSaveQueue, version);
120123
let retryCount = 0;
121124

122125
// This while-loop only exists for the purpose of a retry-mechanism
123126
while (true) {
124-
const version = yield* select((state) => state.annotation.version);
125-
const [compactedSaveQueue, versionIncrement] = addVersionNumbers(
126-
compactedSaveQueueWithoutVersions,
127-
version,
128-
);
129127
let exceptionDuringMarkBucketsAsNotDirty = false;
130128

131129
try {
@@ -155,7 +153,7 @@ export function* sendSaveRequestToServer(): Saga<number> {
155153

156154
yield* put(setVersionNumberAction(version + versionIncrement));
157155
yield* put(setLastSaveTimestampAction());
158-
yield* put(shiftSaveQueueAction(storeSaveQueue.length));
156+
yield* put(shiftSaveQueueAction(saveQueue.length));
159157

160158
try {
161159
yield* call(markBucketsAsNotDirty, compactedSaveQueue);
@@ -167,7 +165,7 @@ export function* sendSaveRequestToServer(): Saga<number> {
167165
}
168166

169167
yield* call(toggleErrorHighlighting, false);
170-
return storeSaveQueue.length;
168+
return saveQueue.length;
171169
} catch (error) {
172170
if (exceptionDuringMarkBucketsAsNotDirty) {
173171
throw error;
@@ -192,9 +190,8 @@ export function* sendSaveRequestToServer(): Saga<number> {
192190
retryCount,
193191
});
194192

195-
// todop: detect actual 409 errors again
196193
// @ts-ignore
197-
if (false && error.status === 409) {
194+
if (error.status === 409) {
198195
// HTTP Code 409 'conflict' for dirty state
199196
// @ts-ignore
200197
window.onbeforeunload = null;

0 commit comments

Comments
 (0)