stevend-hf
05/22/2026, 2:53 AMAnswer Overflow
05/22/2026, 2:53 AMspotter-code
05/22/2026, 2:53 AMskip_diff_check computes “no change” (byte-level vs parsed vs semantic), or a list of normalized fields that affect that comparison.
What I can confirm from official docs:
- The REST v2 changelog page exists and includes 10.6.0.cl entries, but the retrieved sections did not include the detailed skip_diff_check behavior you’re asking about.
- I also could not retrieve a usable REST reference node for tmlImport with exact request/response semantics from the tool in this session.
Given that, I can’t safely assert the internal comparator logic.
### Practical guidance based on your symptoms
Your observed pattern (unchanged source, repeated UPDATE) is consistent with one of these:
1. The server comparator is not using raw byte equality.
2. The comparator includes fields that drift between exports/imports.
3. skip_diff_check is currently ineffective for your object types/workflow/version path.
4. The TML you upload is not stable at the structural level even if your release artifact looks stable at a higher level.
### What to do next (high signal)
1. Run a strict A/B on the same cluster and same payload
- Import exact same payload twice with skip_diff_check=true.
- Repeat with skip_diff_check=false.
- Capture full request + response JSON (including per-object statuses/actions).
2. Canonicalize your TML before upload
- Stable key ordering, stable list ordering where order is not meaningful, normalized whitespace/newlines, consistent numeric formatting.
- Hash each object payload and persist hash across deploys.
3. Round-trip check
- Import once, then export immediately, canonicalize both, and diff.spotter-code
05/22/2026, 2:53 AMUPDATE / UNKNOWN).
- Ask support/engineering specifically whether skip_diff_check is expected to produce a distinct “SKIP/no-op” action and for which object classes.
If you want, I can help you build a minimal deterministic repro harness (single file, JS) that logs per-object hash + API response so you can hand TS support an airtight case quickly.stevend-hf
05/25/2026, 7:19 AMthoughtspot_tml library round-trip — loaded and dumped each of Connection / Table / Model / Liveboard fixtures twice, in-process and in separate subprocesses (with PYTHONHASHSEED randomised). All four types byte-identical across all runs.
2. Our full mutation pipeline — loaded each fixture, applied our deploy-time mutations (connection name stripping, GUID nulling, custom field injection, dimension formula patching), dumped to bytes, repeated. All five fixtures byte-identical across runs.
Conclusion: our client produces deterministic output. If we send a TML on Monday and the same TML on Tuesday, the bytes are the same. (Diagnostic scripts available on request.)Swarnika
05/26/2026, 11:14 AM