typelevel / typelevel/vulcan

Why does Vulcan require exact schema equality in schema lookup

Open
#776 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Scala
Stars
104
Forks
38
Avg merge
4d 13h
Merged PRs (30d)
12

Description

In our Kafka client we use Vulcan, and we have automatic schema registration disabled for some topics because we're not the owners.
We noticed that when Vulcan tries to look up the schema from the schema registry, when it's going to send a message, it requires exact schema equality with the schema that follows from our case classes; even e.g. the ordering of fields within a message should be the same, or the occurrence of doc elements.
Why does Vulcan use exact equality in the schema lookup and not semantic compatibility?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing Vulcan's schema-registry lookup and compare the registered schema with the schema derived from the case classes, focusing on field ordering and doc elements. Confirm whether exact equality is intentional, then document the rationale or define the scope of a semantic-compatibility change; the issue names no files or tests to run.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
distributed-systems
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.