in client/src/main/java/org/apache/rocketmq/schema/registry/client/CachedSchemaRegistryClient.java [320:340]
public GetSchemaResponse getSchemaByRecordId(String subject, long recordId)
throws RestClientException, IOException {
SubjectAndId subjectAndId = new SubjectAndId(DEFAULT_CLUSTER, DEFAULT_TENANT, subject, recordId);
GetSchemaResponse result = schemaCacheBySubjectAndId.getIfPresent(subjectAndId);
if (result != null) {
return result;
}
String subjectFullName = String.format("%s/%s/%s", DEFAULT_CLUSTER, DEFAULT_TENANT, subject);
Set<Long> recordIds = subjectToId.get(subjectFullName);
if (recordIds == null) {
recordIds = new HashSet<>();
}
recordIds.add(recordId);
subjectToId.put(subjectFullName, recordIds);
result = restService.getSchemaByRecordId(subject, recordId);
schemaCacheBySubjectAndId.put(subjectAndId, result);
return result;
}