public void invalidateSchemaVersionCache(SchemaVersionInfoCache.Key key) { schemaVersionInfoCache.invalidateSchema(key); }
private void invalidateSchemaInAllHAServer(SchemaVersionInfoCache.Key key) { schemaVersionInfoCache.invalidateSchema(key); String keyAsString; try { keyAsString = ObjectMapperUtils.serializeToString(key); } catch (Exception e) { throw new RuntimeException(String.format("Failed to serialized key : %s", key),e); } haServerNotificationManager.notifyCacheInvalidation(schemaVersionInfoCache.getCacheType(),keyAsString); }
@Override public void deleteSchemaVersion(SchemaVersionKey schemaVersionKey) throws SchemaNotFoundException, SchemaLifecycleException { schemaVersionInfoCache.invalidateSchema(new SchemaVersionInfoCache.Key(schemaVersionKey)); WebTarget target = currentSchemaRegistryTargets().schemasTarget.path(String.format("%s/versions/%s", schemaVersionKey .getSchemaName(), schemaVersionKey.getVersion())); Response response = Subject.doAs(subject, new PrivilegedAction<Response>() { @Override public Response run() { return target.request(MediaType.APPLICATION_JSON_TYPE).delete(Response.class); } }); handleDeleteSchemaResponse(response); }
private boolean transitionSchemaVersionState(Long schemaVersionId, String operationOrTargetState, byte[] transitionDetails) throws SchemaNotFoundException, SchemaLifecycleException { WebTarget webTarget = currentSchemaRegistryTargets().schemaVersionsTarget.path(schemaVersionId + "/state/" + operationOrTargetState); Response response = Subject.doAs(subject, new PrivilegedAction<Response>() { @Override public Response run() { return webTarget.request().post(Entity.text(transitionDetails)); } }); boolean result = handleSchemaLifeCycleResponse(response); // invalidate this entry from cache. schemaVersionInfoCache.invalidateSchema(SchemaVersionInfoCache.Key.of(new SchemaIdVersion(schemaVersionId))); return result; }