// IMPORTANT: all the instances need to be fetched from the connector *before* we add them to the corresponding managers.
// Otherwise, a broken connector would leave the managers in an inconsistent state with respect to each other
metadataManager.addConnectorMetadata(connectorId, catalogName, connectorMetadata);
metadataManager.addInformationSchemaMetadata(makeInformationSchemaConnectorId(connectorId), catalogName, new InformationSchemaMetadata(catalogName));
splitManager.addConnectorSplitManager(makeInformationSchemaConnectorId(connectorId), new InformationSchemaSplitManager(nodeManager));
pageSourceManager.addConnectorPageSourceProvider(makeInformationSchemaConnectorId(connectorId), new InformationSchemaPageSourceProvider(metadataManager, splitManager));
splitManager.addConnectorSplitManager(connectorId, connectorSplitManager);
handleResolver.addHandleResolver(connectorId, connectorHandleResolver);