Skip to content

fix: prevent silent data loss in batch processing loops#2

Open
Abzaek wants to merge 2 commits into
Woosmap:masterfrom
Abzaek:fix/batch-item-loss
Open

fix: prevent silent data loss in batch processing loops#2
Abzaek wants to merge 2 commits into
Woosmap:masterfrom
Abzaek:fix/batch-item-loss

Conversation

@Abzaek
Copy link
Copy Markdown

@Abzaek Abzaek commented May 16, 2026

Problem

In batch_import_locations.py, items at position batch_size + 1 were silently dropped (e.g. #101, #202, #303). The batch-flush branch ran before appending the current item, so when the batch hit capacity the item was flushed-around and never added.

Same bug in woosmap_to_woosmap.py — every 501st store was lost.

Also replaces two except BaseException with except Exception to allow KeyboardInterrupt/SystemExit to propagate.

Fix

Append item first, then check if the batch is full and flush.

Abzaek added 2 commits May 16, 2026 22:23
- batch_import_locations.py: append item BEFORE checking if batch
  is full. Previously, every Nth item was flushed-around and never
  appended — causing silent data loss (e.g. item #100, #200, ...).

- woosmap_to_woosmap.py: same fix for store batch processing
  (every 500th store was lost).

- woosmap_to_woosmap.py: replace except BaseException with except
  Exception to allow KeyboardInterrupt/SystemExit to propagate.
- batch_import_locations.py: append item BEFORE checking if batch
  is full. Previously, every (batch_size+1)th item was flushed
  without being appended — e.g. items #101, #202, #303 silently lost.

- woosmap_to_woosmap.py: same fix (every 501st store was lost).

- woosmap_to_woosmap.py: replace two except BaseException with
  except Exception to allow KeyboardInterrupt/SystemExit to propagate.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant