public CassandraSchemeActualizer(ICassandraCluster cassandraCluster, ICassandraMetadataProvider cassandraMetadataProvider, ICassandraInitializerSettings cassandraInitializerSettings) { this.cassandraCluster = cassandraCluster; this.cassandraMetadataProvider = cassandraMetadataProvider; this.cassandraInitializerSettings = cassandraInitializerSettings; cassandraSchemaActualizer = new CassandraSchemaActualizer(cassandraCluster, eventListener: null, Logger.Instance); }
public TaskMetaStorage(ICassandraCluster cassandraCluster, ISerializer serializer, IRtqSettings rtqSettings, ILog logger) { this.serializer = serializer; var settings = new TimeBasedBlobStorageSettings(rtqSettings.QueueKeyspace, largeBlobsCfName, regularBlobsCfName); timeBasedBlobStorage = new TimeBasedBlobStorage(settings, cassandraCluster, logger.ForContext(nameof(TaskMetaStorage))); }
public ScopedPersistentStorage( ColumnFamilyFullName columnFamilyFullName, ICassandraCluster cassandraCluster, ISerializer serializer) : base(columnFamilyFullName, cassandraCluster, serializer, new ScopedCassandraObjectIdConverter <T>()) { }
public SchemeActualizer(ICassandraCluster cassandraCluster, ICassandraActualizerEventListener eventListener, ILog logger) { this.cassandraCluster = cassandraCluster; this.logger = logger; this.eventListener = eventListener ?? EmptyCassandraActualizerEventListener.Instance; columnFamilyComparer = new ColumnFamilyEqualityByPropertiesComparer(); }
public RemoteTaskQueue(ILog logger, ISerializer serializer, IGlobalTime globalTime, ICassandraCluster cassandraCluster, IRtqSettings rtqSettings, IRtqTaskDataRegistry taskDataRegistry, IRtqProfiler rtqProfiler) { QueueKeyspace = rtqSettings.QueueKeyspace; TaskTtl = rtqSettings.TaskTtl; Logger = logger.ForContext("CassandraDistributedTaskQueue"); Serializer = serializer; GlobalTime = globalTime; TaskDataRegistry = taskDataRegistry; enableContinuationOptimization = rtqSettings.EnableContinuationOptimization; minTicksHolder = new RtqMinTicksHolder(cassandraCluster, rtqSettings); TaskMinimalStartTicksIndex = new TaskMinimalStartTicksIndex(cassandraCluster, serializer, rtqSettings, new OldestLiveRecordTicksHolder(minTicksHolder), Logger); var taskMetaStorage = new TaskMetaStorage(cassandraCluster, serializer, rtqSettings, Logger); EventLogRepository = new EventLogRepository(serializer, cassandraCluster, rtqSettings, minTicksHolder); childTaskIndex = new ChildTaskIndex(cassandraCluster, rtqSettings, serializer, taskMetaStorage); HandleTasksMetaStorage = new HandleTasksMetaStorage(taskMetaStorage, TaskMinimalStartTicksIndex, EventLogRepository, GlobalTime, childTaskIndex, taskDataRegistry, Logger); TaskDataStorage = new TaskDataStorage(cassandraCluster, rtqSettings, Logger); TaskExceptionInfoStorage = new TaskExceptionInfoStorage(cassandraCluster, serializer, rtqSettings, Logger); HandleTaskCollection = new HandleTaskCollection(HandleTasksMetaStorage, TaskDataStorage, TaskExceptionInfoStorage, rtqProfiler); lazyRemoteLockCreator = new Lazy <IRemoteLockCreator>(() => { var remoteLockImplementationSettings = CassandraRemoteLockImplementationSettings.Default(rtqSettings.QueueKeyspace, RtqColumnFamilyRegistry.LocksColumnFamilyName); var remoteLockImplementation = new CassandraRemoteLockImplementation(cassandraCluster, serializer, remoteLockImplementationSettings); var remoteLockerMetrics = new RemoteLockerMetrics($"{rtqSettings.QueueKeyspace}_{RtqColumnFamilyRegistry.LocksColumnFamilyName}"); return(new RemoteLocker(remoteLockImplementation, remoteLockerMetrics, Logger)); }); Profiler = rtqProfiler; }
public ChildTaskIndex(ICassandraCluster cassandraCluster, IRtqSettings rtqSettings, ISerializer serializer, ITaskMetaStorage taskMetaStorage) { this.cassandraCluster = cassandraCluster; this.rtqSettings = rtqSettings; this.serializer = serializer; this.taskMetaStorage = taskMetaStorage; }
public CassandraRemoteLockImplementation(ICassandraCluster cassandraCluster, ISerializer serializer, CassandraRemoteLockImplementationSettings settings) { LockTtl = settings.LockTtl; KeepLockAliveInterval = settings.KeepLockAliveInterval; changeLockRowThreshold = settings.ChangeLockRowThreshold; timestampProvider = settings.TimestampProvider; baseOperationsPerformer = new CassandraBaseLockOperationsPerformer(cassandraCluster, serializer, settings); }
public PersistentBlobStorage(ColumnFamilyFullName columnFamilyFullName, ICassandraCluster cassandraCluster, ISerializer serializer, ICassandraObjectIdConverter <T, TId> cassandraObjectIdConverter) { this.cassandraCluster = cassandraCluster; this.serializer = serializer; this.cassandraObjectIdConverter = cassandraObjectIdConverter; keyspaceName = columnFamilyFullName.KeyspaceName; columnFamilyName = columnFamilyFullName.ColumnFamilyName; }
public EventLogRepository(ISerializer serializer, ICassandraCluster cassandraCluster, IRtqSettings rtqSettings, IMinTicksHolder minTicksHolder) { this.serializer = serializer; this.minTicksHolder = minTicksHolder; cfConnection = cassandraCluster.RetrieveColumnFamilyConnection(rtqSettings.QueueKeyspace, ColumnFamilyName); }
public EventStorage( ColumnFamilyFullName columnFamilyFullName, IEventLogPointerCreator eventLogPointerCreator, ICassandraCluster cassandraCluster, ISerializer serializer) { this.eventLogPointerCreator = eventLogPointerCreator; this.serializer = serializer; columnFamilyConnection = cassandraCluster.RetrieveColumnFamilyConnection(columnFamilyFullName.KeyspaceName, columnFamilyFullName.ColumnFamilyName); }
public CassandraBaseLockOperationsPerformer(ICassandraCluster cassandraCluster, ISerializer serializer, CassandraRemoteLockImplementationSettings settings) { this.cassandraCluster = cassandraCluster; this.serializer = serializer; timestampProvider = settings.TimestampProvider; keyspaceName = settings.KeyspaceName; columnFamilyName = settings.ColumnFamilyName; lockTtl = settings.LockTtl; lockMetadataTtl = settings.LockMetadataTtl; }
public SinglePartitionTimeBasedBlobStorage([NotNull] string keyspaceName, [NotNull] string columnFamilyName, ICassandraCluster cassandraCluster, ILog logger) { this.keyspaceName = keyspaceName; this.columnFamilyName = columnFamilyName; this.cassandraCluster = cassandraCluster; this.logger = logger.ForContext(nameof(SinglePartitionTimeBasedBlobStorage)); }
public EventRepositoryFactory( ISerializer serializer, ICassandraCluster cassandraCluster, IEventTypeIdentifierProvider eventTypeIdentifierProvider, ILog logger) { this.serializer = serializer; this.cassandraCluster = cassandraCluster; this.eventTypeIdentifierProvider = eventTypeIdentifierProvider; this.logger = logger.ForContext("CassandraPrimitives.EventLog"); }
public TaskMinimalStartTicksIndex(ICassandraCluster cassandraCluster, ISerializer serializer, IRtqSettings rtqSettings, IOldestLiveRecordTicksHolder oldestLiveRecordTicksHolder, ILog logger) { this.cassandraCluster = cassandraCluster; this.serializer = serializer; this.oldestLiveRecordTicksHolder = oldestLiveRecordTicksHolder; this.logger = logger.ForContext(nameof(TaskMinimalStartTicksIndex)); keyspaceName = rtqSettings.QueueKeyspace; }
public EventLoggerAdditionalInfoRepository( ICassandraCluster cassandraCluster, ISerializer serializer, IRemoteLockCreator remoteLockCreator, ColumnFamilyFullName additionalInfoColumnFamily, ColumnFamilyFullName eventLogColumnFamily) { this.eventLogColumnFamily = eventLogColumnFamily; this.serializer = serializer; this.remoteLockCreator = remoteLockCreator; columnFamilyConnection = cassandraCluster.RetrieveColumnFamilyConnection(additionalInfoColumnFamily.KeyspaceName, additionalInfoColumnFamily.ColumnFamilyName); }
public TestCounterRepository(ILog log, ICassandraCluster cassandraCluster, ISerializer serializer, IGlobalTime globalTime, IRtqSettings rtqSettings) { this.serializer = serializer; this.globalTime = globalTime; var keyspaceName = rtqSettings.QueueKeyspace; cfConnection = cassandraCluster.RetrieveColumnFamilyConnection(keyspaceName, ColumnFamilyName); var remoteLockImplementationSettings = CassandraRemoteLockImplementationSettings.Default(keyspaceName, RtqColumnFamilyRegistry.LocksColumnFamilyName); var remoteLockImplementation = new CassandraRemoteLockImplementation(cassandraCluster, serializer, remoteLockImplementationSettings); remoteLockCreator = new RemoteLocker(remoteLockImplementation, new RemoteLockerMetrics(keyspaceName), log); }
public EventLogger( ICassandraCluster cassandraCluster, ISerializer serializer, ColumnFamilyFullName eventLogColumnFamily, IEventLogPointerCreator eventLogPointerCreator, Func <IQueueRaker> createQueueRaker, IEventLoggerAdditionalInfoRepository eventLoggerAdditionalInfoRepository, IEventLogProfiler profiler, ILog logger) { this.serializer = serializer; this.eventLogPointerCreator = eventLogPointerCreator; this.createQueueRaker = createQueueRaker; this.eventLoggerAdditionalInfoRepository = eventLoggerAdditionalInfoRepository; this.profiler = profiler; this.logger = logger; columnFamilyConnection = cassandraCluster.RetrieveColumnFamilyConnection(eventLogColumnFamily.KeyspaceName, eventLogColumnFamily.ColumnFamilyName); }
public void Setup() { var serviceCollection = new ServiceCollection(); var configuration = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: false) .Build(); serviceCollection.Configure <CassandraOptions>(configuration.GetSection("Cassandra")); serviceCollection.AddSingleton <ICassandraCluster, CassandraCluster>(); serviceCollection.AddSingleton <ICassandraSession, CassandraSession>(); serviceCollection.AddSingleton <IMedicalRegistrationRepository, MedicalRegistrationRepository>(); serviceCollection.AddSingleton <IMeetingRepository, MeetingRepository>(); serviceCollection.AddSingleton <IStatusChangeRepository, StatusChangeRepository>(); serviceCollection.AddSingleton <IUserRepository, UserRepository>(); ServiceProvider = serviceCollection.BuildServiceProvider(); CassandraSession = ServiceProvider.GetService <ICassandraSession>(); cassandraCluster = ServiceProvider.GetService <ICassandraCluster>(); }
public CassandraSession(ICassandraCluster cassandraCluster) { Session = cassandraCluster.Cluster.Connect(); }
public RtqMinTicksHolder(ICassandraCluster cassandraCluster, IRtqSettings rtqSettings) { var minTicksCfConnection = cassandraCluster.RetrieveColumnFamilyConnection(rtqSettings.QueueKeyspace, ColumnFamilyName); minTicksHolder = new MinTicksHolder(minTicksCfConnection); }
public TaskExceptionInfoStorage(ICassandraCluster cassandraCluster, ISerializer serializer, IRtqSettings rtqSettings, ILog logger) { this.serializer = serializer; timeBasedBlobStorage = new SinglePartitionTimeBasedBlobStorage(rtqSettings.QueueKeyspace, timeBasedCfName, cassandraCluster, logger.ForContext(nameof(TaskExceptionInfoStorage))); }
public GlobalTimeProxy(ICassandraCluster cassandraCluster, IRtqSettings rtqSettings) { var maxTicksCfConnection = cassandraCluster.RetrieveColumnFamilyConnection(rtqSettings.QueueKeyspace, ColumnFamilyName); globalTime = new GlobalTime(maxTicksCfConnection); }
public CassandraSchemaActualizer(ICassandraCluster cassandraCluster, ICassandraActualizerEventListener eventListener, ILog logger) { this.cassandraCluster = cassandraCluster; this.logger = logger.ForContext("CassandraThriftClient"); this.eventListener = eventListener ?? EmptyCassandraActualizerEventListener.Instance; }
public FailedCassandraCluster(ICassandraCluster cassandraCluster, double failProbability) { this.cassandraCluster = cassandraCluster; this.failProbability = failProbability; }
public CatalogueCassandraClusterWithLongWrites(ICassandraCluster cluster, TimeSpan columnFamilyConnectionTimeout) { this.cluster = cluster; this.columnFamilyConnectionTimeout = columnFamilyConnectionTimeout; }
public TimeBasedBlobStorage(TimeBasedBlobStorageSettings settings, ICassandraCluster cassandraCluster, ILog logger) { this.settings = settings; this.cassandraCluster = cassandraCluster; this.logger = logger.ForContext(nameof(TimeBasedBlobStorage)); }
public TestTaskLogger(ICassandraCluster cassandraCluster, IRtqSettings rtqSettings) { cfConnection = cassandraCluster.RetrieveColumnFamilyConnection(rtqSettings.QueueKeyspace, ColumnFamilyName); }