https://slingdata.io logo
**`delete_missing: soft` does not
# sling-help
i
delete_missing: soft
does not clear
_sling_deleted_at
when a row comes back (v1.6.4, StarRocks)
Sling 1.6.4 (official build, Pro) copies from Postgres to StarRocks (shared-data mode). Each stream has
mode: incremental
, an explicit
primary_key
, an
update_key
, and
target_options.delete_missing: soft
. Steps: 1. Run the replication. All rows load. 2. Delete the row
id = 4
in Postgres, and run again. Sling sets
_sling_deleted_at
on that row. This is correct. 3. Insert the row
id = 4
again, with a new
updated_at
, and run again. Expected: the upsert writes the row, and
_sling_deleted_at
is
NULL
. Actual: the upsert writes the row, but
_sling_deleted_at
keeps the old value. So the row stays marked as deleted. Is this intended? Or can the upsert clear the mark? I can send the replication YAML and the log.
f
@István Karaszi thanks for raising, this is actually not intended. This will be fixed. As a workaround for now, you can use :
Copy code
yaml
target_options:
  delete_missing: soft
  merge_strategy: delete_insert
i
Thank you!