Comments (4)
RestUtils is also duplicated
from schema-registry.
@junrao @nehanarkhede
Neha and I discussed this a bit on Friday and came to the conclusion that there are actually two distinct functions of the Schema class
- one is as a wrapper for the data that is returned to users on a GET schema request
- the other is as a wrapper for data that is put into the kafka store
While the structure is currently identical, the class should not be shared for these two distinct purposes - so the preferred solution to this issue is to actually split into separate classes with less ambiguous names.
from schema-registry.
Adding some notes since I think discussion in other issues are assuming the fix for this issue is going to resolve a number of issues that have arisen as we've discussed how code is shared among the different modules. It increasingly sounds like this issue is now being treated as "Clean up the separation between the client and core modules".
- A lot of code sharing issues are also causing us to pull in Jersey dependencies into the client module. Pulling in Hibernate for validation is fine, but most other stuff like WebApplicationException don't make sense.
- RestUtils is duplicated, and also uses WebApplicationException to pass along errors. This needs to be replaced because, as added in a comment in #98, it's just a hack that happens to make it easy to pass along responses from forwarded requests, but in practice ends up losing information (since it's throwing WebApplicationException rather than something more specific like RestException). Since RestUtils is used in client, it'll need some other exception which can pass along all the necessary info., Then, for uses in core where the response should be forwarded we'll need to convert it back.
- Other exceptions in client should not be extending WebApplicationException.
- There are some duplicated exceptions between client and core. It appears the ones in core are no longer being used and should probably be cleaned up, unless it turns out we need RestException versions for core and non-RestException versions for client.
from schema-registry.
Committed to master.
from schema-registry.
Related Issues (20)
- java.lang.NoSuchMethodException when using reactive Kafka + Avro + Spring Cloud Stream with GraalVM
- RestClientException: Empty schema, when using Spring Kafka + Protobuf with GraalVM HOT 4
- Vulnerabilities in Schema Registry 7.5.3 dependencies HOT 1
- schema-registry-start server - ClassNotFoundException
- High severity vulnerabilities CVE-2024-26308 and CVE-2024-25710 detected in schema-registry HOT 4
- [Bug] KafkaJsonSchemaSerializer adds initial null bytes (00 00 00 00 0C 7B) HOT 1
- Multiple replica of schema registry- one pod failed with "error_code":50005,"message":"Unrecognized token 'upstream': was expecting (JSON String, Number (or 'NaN'/'INF'/'+INF'), Array, Object or token 'null', 'true' or 'false')
- KafkaAvroDeserializer does not use SPECIFIC_AVRO_VALUE_TYPE_CONFIG when using `configure`
- KafkaProtobufSerializer throughput issues with skip.known.types = true
- ReflectionAvroDeserializer - SerializationException when trying to find a reader schema via reflection HOT 1
- If latest.compatibility.strict=true, IOException should output compatibility errors HOT 1
- High severity vulnerabilities CVE-2024-1597 detected in schema-registry HOT 1
- Resolve CCL License headers in client libraries
- grpc has been updated to 4.26, GeneratedMessageV3 has changed to GeneratedMesssage HOT 1
- Schema registry client : No Authentication header appearing in http request HOT 1
- If the name contains a dot (.) in the name a newly created schema's name and namespaces are overridden. HOT 1
- SpringBoot reactor kafka NATIVE image fails with KafkaException: Could not find a public no-argument constructor for io.confluent.kafka.serializers.KafkaJsonSerializer
- CFK Schema Registry Basic Auth Vault Secret Auto-reload Failed
- Wrong metric value for `kafka_schema_registry_node_count_node_count`
- java.lang.NoClassDefFoundError: org/apache/commons/codec/Charsets HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from schema-registry.