public SchemaVersionLifecycleManager(StorageManager storageManager, Map<String, Object> props, DefaultSchemaRegistry.SchemaMetadataFetcher schemaMetadataFetcher, SchemaBranchCache schemaBranchCache, HAServerNotificationManager haServerNotificationManager) { this.storageManager = storageManager; this.schemaMetadataFetcher = schemaMetadataFetcher; this.schemaBranchCache = schemaBranchCache; this.haServerNotificationManager = haServerNotificationManager; SchemaVersionLifecycleStateMachine.Builder builder = SchemaVersionLifecycleStateMachine.newBuilder(); DefaultSchemaRegistry.Options options = new DefaultSchemaRegistry.Options(props); schemaVersionRetriever = createSchemaVersionRetriever(); schemaVersionInfoCache = new SchemaVersionInfoCache( schemaVersionRetriever, options.getMaxSchemaCacheSize(), options.getSchemaExpiryInSecs() * 1000L); customSchemaStateExecutor = createSchemaReviewExecutor(props, builder); schemaVersionLifecycleStateMachine = builder.build(); }