Fixed Issues in Schema Registry
Review the list of Schema Registry issues that are resolved in Cloudera Runtime 7.2.11.
- CDPD-26382: Schema Registry Client does not clear resources for daemon thread for Kerberos Login
- Closing SchemaRegistryClient did not stop the threads managing KerberosLogin, so an application could end up with multiple open threads. This has been fixed and calling close() will also stop the Kerberos thread.
- CDPD-25995: Fingerprint hashes are not consistent for Avro schemas
- Previously, if there is a default null value in the schema text, the schema's fingerprint will be different with every restart of Schema Registry. With this fix, the default null values in the schema text will remain the same null values independent of restarting the Schema Registry service.
- CDPD-25905: _orderByFields and name parameters on the API should not be mandatory
- In the previous release, the "name" field was mandatory in the /search/schemas API endpoint. The intent was to make the API better, because searching without a "name" parameter returns an incorrect result. However, this was interpreted as a breaking change in the API and had to be reverted to maintain backward compatibility. Now it is again possible to send requests without providing a "name" parameter, and again this will return an incorrect result.
- CDPD-25614: Clearing the cache throws a NPE
- Fixed issue where invoking
schemaRegistryClient.deleteSchema()
caused a NullPointerException. - CDPD-21913: Rename properties in Schema Registry yaml file, remove the dots
-
Schema Registry uses the Dropwizard framework which allows overriding configuration properties from the command line. Due to implementation specifics, until now some of the properties could not be overridden. This issue is now resolved.
Schema Registry's StorageManager's init method's properties parameter has type
StorageProviderConfiguration
.In Schema Registry's configuration file,
StorageProviderConfiguration
properties can be:- Dbtype
- queryTimeoutInSecs
Properties that can be
dataSourceClassName
,dataSourceUrl
,dataSourceUser
,dataSourcePassword
and
can be:connectionProperties
- oracleNetSslVersion
- oracleNetSslServerDnMatch
- trustStore
- trustStoreType
- keyStore
- keyStoreType
- CDPD-21617: Migrate lettuce to lettuce-io in cache module
- The following classes have been removed from the cache module:
- CacheServiceRegistry
- CacheServiceLocalRegistry
- RedisCacheServiceBuilder
- RedisCacheService
- DataStoreBackedCacheService
- CacheServiceJsonFactory
- CacheServiceId
- CacheService
- CacheWriterSync
- CacheWriterAsync
- CacheWriter
- CacheLoaderSyncFactory
- CacheLoaderSync
- CacheLoaderFactory
- CacheLoaderCallback
- CacheLoaderAsyncFactory
- CacheLoaderAsync
- CacheLoader
- RedisConnectionPoolFactory
- RedisConnectionFactory
- AbstractRedisConnectionFactory
- RedisStringsCache
- RedisHashesCache
- RedisAbstractCache
- GuavaCache
- PhoenixDataStore
- DataStoreWriter
- DataStoreReader
- AbstractDataStore
- ViewConfig
- TypeConfig
- DataStoreConfig
- ConnectionConfig
- CachesConfig
- CacheEntry
- CacheConfig
- StaticFactory
- Factory
- DataStoreBackedCache
- CacheException
- LoadableCache
- AbstractCache
- CDPD-17358: Add logging to Ranger filtering operations in Schema Registry
- Logging added to show which schemas have been filtered out.
- OPSAPS-59993: Disable admin port in Schema Registry
- The following admin ports are no longer enabled in Schema
Registry:
- Port 7791 on a secure cluster.
- Port 7789 on a unsecured cluster.
- OPSAPS-59972: Disable the TRACE method on all HTTP ports
- In Streams Messaging Manager and Schema Registry, the allowed HTTP methods are changed to GET, POST, PUT, DELETE, HEAD, OPTIONS.
- OPSAPS-60458: Knox principal is not over-ridable in SMM and Schema Registry
- Custom Knox principal can be set for Schema Registry and SMM by
setting the
knox_principal_name property
in Schema Registry Server Advanced Configuration Snippet (Safety Valve) for registry.yaml or Streams Messaging Manager Rest Admin Server Advanced Configuration Snippet (Safety Valve) for streams-messaging-manager.yaml.