AbsaOSS / AbsaOSS/ABRiS

Abris not working when used with confluent schema registry over basic auth (found on dataproc)

未关闭
#364 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Scala
星标
242
派生
84
平均合并
10 小时 12 分钟
30 天内合并 PR
2

描述

This is an issue with confluent-schema-registry-client though but getting extended to Abris. The issue is, when schema registry is being used with basic auth over a confluent instance, it is showing 401 while fetching schema from confluent (incase of dataproc cluster over a private VPN). One can not just pass credentials like following:

```
AbrisConfig.fromConfluentAvro.downloadReaderSchemaByLatestVersion
.andTopicNameStrategy(getTopic)
.usingSchemaRegistry(
Map(
AbrisConfig.SCHEMA_REGISTRY_URL -> Configuration.schemaRegistryUrl,
SchemaRegistryClientConfig.BASIC_AUTH_CREDENTIALS_SOURCE -> "USER_INFO",
SchemaRegistryClientConfig.USER_INFO_CONFIG -> s"${Configuration.schemaRegistryUsername}:${Configuration.schemaRegistryPassword}"
)
)
```
instead confluent can give you schema if used with a rest service created and passed through. e.g.

```
val restService = new RestService(urls)
val provider = new UserInfoCredentialProvider()
provider.configure(configs.asJava)
restService.setBasicAuthCredentialProvider(provider)
new CachedSchemaRegistryClient(restService, maxSchemaObject)
```

The current implementation of this is not allowing to use restService based constructor with `CachedSchemaRegistryClient`, so I have tried changing Abris code and made a separate jar with above change. Raising a PR to add this feature.

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。