Commit b615268
committed
fix(avro): include default values in schema fingerprint for correct dedup
Schemas differing only in field defaults (e.g., with vs without "default":"a")
were producing identical fingerprints, causing the dedup check to short-circuit
compatibility validation. This meant registering a schema with a removed default
would silently succeed under BACKWARD_TRANSITIVE/FULL_TRANSITIVE instead of
returning 409. Verified against Confluent v8.1.1.
Also fixes Avro transitive BDD tests:
- Remove @pending-impl from BACKWARD_TRANSITIVE and FULL_TRANSITIVE tests
- Fix FORWARD_TRANSITIVE expectation: adding field without default is compatible
(old readers ignore unknown fields)
1285 BDD scenarios passing, 0 failures.1 parent 34749eb commit b615268
File tree
2 files changed
+9
-6
lines changed- internal/schema/avro
- tests/bdd/features
2 files changed
+9
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
230 | 230 | | |
231 | 231 | | |
232 | 232 | | |
233 | | - | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
234 | 236 | | |
235 | 237 | | |
236 | 238 | | |
237 | 239 | | |
238 | 240 | | |
239 | 241 | | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
240 | 246 | | |
241 | 247 | | |
242 | 248 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
440 | 440 | | |
441 | 441 | | |
442 | 442 | | |
443 | | - | |
444 | 443 | | |
445 | 444 | | |
446 | 445 | | |
| |||
475 | 474 | | |
476 | 475 | | |
477 | 476 | | |
478 | | - | |
479 | | - | |
| 477 | + | |
480 | 478 | | |
481 | 479 | | |
482 | 480 | | |
| |||
491 | 489 | | |
492 | 490 | | |
493 | 491 | | |
494 | | - | |
| 492 | + | |
495 | 493 | | |
496 | 494 | | |
497 | 495 | | |
| |||
510 | 508 | | |
511 | 509 | | |
512 | 510 | | |
513 | | - | |
514 | 511 | | |
515 | 512 | | |
516 | 513 | | |
| |||
0 commit comments