redpanda icon indicating copy to clipboard operation
redpanda copied to clipboard

Schema Registry features meta-issue

Open BenPope opened this issue 4 years ago • 14 comments

Schema Registry is a work in progress, below is a list of features that we are aware of, and whether they have been implemented.

Endpoints

  • schemas:
    • [ ] GET /schemas
    • [x] GET /schemas/types
    • [x] GET /schemas/ids/{id}
    • [x] GET /schemas/ids/{id}/subjects #12989
    • [x] GET /schemas/ids/{id}/versions #2065
  • subjects:
    • [x] GET /subjects
    • [x] GET /subjects/{subject}/versions
    • [x] POST /subjects/{subject}/versions
    • [x] GET /subjects/{subject}/versions/{version}
    • [x] GET /subjects/{subject}/versions/latest
    • [x] DELETE /subjects/{subject}
    • [x] DELETE /subjects/{subject}/versions/{version}
    • [x] DELETE /subjects/{subject}/versions/latest
    • [x] POST /subjects/{subject} #2049
    • [x] GET /subjects/{subject}/versions/{version}/schema
    • [x] GET /subjects/{subject}/versions/{version}/referencedBy (v21.11.3) #3299
  • compatibility:
    • [x] POST /compatibility/subjects/{subject}/versions/[version}
    • [ ] POST /compatibility/subjects/{subject}/versions
    • [x] Support ?verbose=true
  • config:
    • [x] GET /config
    • [x] GET /config/{subject}
    • [x] PUT /config
    • [x] PUT /config/{subject}
  • mode:
    • modes:
      1. [x] READWRITE
      2. [x] READONLY #17952
      3. [ ] IMPORT
    • [x] GET /mode
    • [x] GET /mode/{subject} #17952
    • [x] PUT /mode #17952
    • [x] PUT /mode/{subject} #17952
    • [x] DELETE /mode/{subject} #17952
  • references (on import)
    • [x] AVRO (v22.1.1) #4146
    • [x] JSON
    • [x] PROTOBUF (v21.11.1)
  • exporters
    • [ ] GET /exporters
    • [ ] GET /contexts
    • [ ] POST /exporters
    • [ ] PUT /exporters/{name}
    • [ ] PUT /exporters/{name}/config
    • [ ] GET /exporters/{name}
    • [ ] GET /exporters/{name}/status
    • [ ] GET /exporters/{name}/config
    • [ ] PUT /exporters/{name}/pause
    • [ ] PUT /exporters/{name}/reset
    • [ ] PUT /exporters/{name}/resume
    • [ ] DELETE /exporters/{name}

Schema Types

  • [x] AVRO
  • [ ] JSON
  • [x] PROTOBUF (v21.11.1)

Endpoints on SwaggerHub

JIRA Link: CORE-692

BenPope avatar Jul 23 '21 12:07 BenPope

Exposing the "timestamp" of the publication of the schema in the endpoints would be a nice feature since this info is available in the Kafka topic

-> https://github.com/confluentinc/schema-registry/issues/1899

raphaelauv avatar Sep 08 '21 22:09 raphaelauv

Exposing the "timestamp" of the publication of the schema in the endpoints would be a nice feature since this info is available in the Kafka topic

-> confluentinc/schema-registry#1899

This is a nice idea. We should.

emaxerrno avatar Sep 09 '21 03:09 emaxerrno

When do you expect the 'referencedby' endpoint to be available and I'm guessing your protobuf implementation is already reliant on working with schema references?

dbwrangler avatar Dec 16 '21 13:12 dbwrangler

When do you expect the 'referencedby' endpoint to be available and I'm guessing your protobuf implementation is already reliant on working with schema references?

@dbwrangler References are hooked up internally for Protobuf (see the blog post), so that should all work. For Avro, the references will be stored internally, but imports aren't actually working yet.

It's not yet planned, but since you asked nicely, I'll knock out referencedBy for you one evening, hopefully it'll be in the next release.

BenPope avatar Dec 16 '21 14:12 BenPope

Does schema registry work with confluent serialization library which does registration /serialization/deserialization. Using KafkaAvroSerializer and schema registry url through AbstractKafkaSchemaSerDeConfig.SCHEMA_REGISTRY_URL_CONFIG?

JayGhiya avatar Jan 16 '22 13:01 JayGhiya

Does schema registry work with confluent serialization library which does registration /serialization/deserialization. Using KafkaAvroSerializer and schema registry url through AbstractKafkaSchemaSerDeConfig.SCHEMA_REGISTRY_URL_CONFIG?

Yes, that's the intention. Currently it doesn't support references for AVRO.

BenPope avatar Jan 16 '22 14:01 BenPope

Thought so tried did not work. What Is the eta on this? So right now we can make it work by doing a byte array serialise and deserialise. Correct ?

On 16-Jan-2022, at 7:34 PM, Ben Pope @.***> wrote:

Does schema registry work with confluent serialization library which does registration /serialization/deserialization. Using KafkaAvroSerializer and schema registry url through AbstractKafkaSchemaSerDeConfig.SCHEMA_REGISTRY_URL_CONFIG?

Yes, that's the intention. Currently it doesn't support references for AVRO.

— Reply to this email directly, view it on GitHub https://github.com/vectorizedio/redpanda/issues/1878#issuecomment-1013882140, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF5IO3KVMRLDEPX4XBGIUV3UWLF7HANCNFSM5A34R5PA. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you commented.

JayGhiya avatar Jan 16 '22 15:01 JayGhiya

When do you expect the 'referencedby' endpoint to be available and I'm guessing your protobuf implementation is already reliant on working with schema references?

@dbwrangler - v21.11.3 has been released with the endpoint.

BenPope avatar Jan 25 '22 18:01 BenPope

Guys so is there any eta on getting json schema support?

JayGhiya avatar Feb 08 '22 10:02 JayGhiya

+1, would <3 jsonschema support.

jakthom avatar May 02 '22 05:05 jakthom

Are there plans to have a UI for this for fully managed Redpanda?

dangoslen avatar May 19 '22 15:05 dangoslen

Are there plans to have a UI for this for fully managed Redpanda?

There are definitely plans, but I don't know what the timeline is. Another related feature is schema registry support within the rpk CLI. I'll post once I find more details on the plan and timeline for schema registry UI.

vuldin avatar May 19 '22 15:05 vuldin

@dangoslen -> https://redpanda.com/blog/redpanda-acquires-cloudhut-kowl-data-streaming-kafka-ui/

raphaelauv avatar May 19 '22 16:05 raphaelauv

Are there plans to introduce a feature like Confluent's broker-side schema validation ? This returns an error to a producer when they write a message to a topic with a schema if the message doesn't validate against the schema. It prevents non-compliant messages being written to topics:

https://docs.confluent.io/platform/current/schema-registry/schema-validation.html

robgtaylor avatar Jun 16 '22 11:06 robgtaylor

Closing this ticket as stale; please reopen if it is still relevant.

piyushredpanda avatar Aug 03 '25 07:08 piyushredpanda