//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldReturnExpectedListOfFileNamesForEachType() throws Exception //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldReturnExpectedListOfFileNamesForEachType() { // given StoreFileMetadata[] expectedFiles = new StoreFileMetadata[] { new StoreFileMetadata(_databaseLayout.file("a"), 1), new StoreFileMetadata(_databaseLayout.file("b"), 2) }; ExpectedFiles = expectedFiles; //when File[] files = _prepareStoreCopyFiles.listReplayableFiles(); StoreResource[] atomicFilesSnapshot = _prepareStoreCopyFiles.AtomicFilesSnapshot; //then //JAVA TO C# CONVERTER TODO TASK: Method reference arbitrary object instance method syntax is not converted by Java to C# Converter: //JAVA TO C# CONVERTER TODO TASK: Method reference constructor syntax is not converted by Java to C# Converter: File[] expectedFilesConverted = java.util.expectedFiles.Select(StoreFileMetadata::file).ToArray(File[] ::new); //JAVA TO C# CONVERTER TODO TASK: Method reference constructor syntax is not converted by Java to C# Converter: StoreResource[] exeptedAtomicFilesConverted = java.util.expectedFiles.Select(f => new StoreResource(f.file(), GetRelativePath(f), f.recordSize(), _fileSystemAbstraction)).ToArray(StoreResource[] ::new); assertArrayEquals(expectedFilesConverted, files); assertEquals(exeptedAtomicFilesConverted.Length, atomicFilesSnapshot.Length); for (int i = 0; i < exeptedAtomicFilesConverted.Length; i++) { StoreResource expected = exeptedAtomicFilesConverted[i]; StoreResource storeResource = atomicFilesSnapshot[i]; assertEquals(expected.Path(), storeResource.Path()); assertEquals(expected.RecordSize(), storeResource.RecordSize()); } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldHanldeEmptyListOfFilesForeEachType() throws Exception //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldHanldeEmptyListOfFilesForeEachType() { ExpectedFiles = new StoreFileMetadata[0]; File[] files = _prepareStoreCopyFiles.listReplayableFiles(); StoreResource[] atomicFilesSnapshot = _prepareStoreCopyFiles.AtomicFilesSnapshot; assertEquals(0, Files.Length); assertEquals(0, atomicFilesSnapshot.Length); }
private void AddCountStoreFiles(IList <StoreFileMetadata> files) { IEnumerable <File> countStoreFiles = _neoStores.Counts.allFiles(); foreach (File countStoreFile in countStoreFiles) { StoreFileMetadata countStoreFileMetadata = new StoreFileMetadata(countStoreFile, Org.Neo4j.Kernel.impl.store.format.RecordFormat_Fields.NO_RECORD_SIZE); Files.Add(countStoreFileMetadata); } }
private string GetRelativePath(StoreFileMetadata f) { try { return(relativePath(_databaseLayout.databaseDirectory(), f.File())); } catch (IOException) { throw new Exception("Failed to create relative path"); } }
/// <summary> /// Trigger store flush (checkpoint) and write <seealso cref="NeoStoreDataSource.listStoreFiles(bool) store files"/> to the /// given <seealso cref="StoreWriter"/>. /// </summary> /// <param name="triggerName"> name of the component asks for store files. </param> /// <param name="writer"> store writer to write files to. </param> /// <param name="includeLogs"> <code>true</code> if transaction logs should be copied, <code>false</code> otherwise. </param> /// <returns> a <seealso cref="RequestContext"/> specifying at which point the store copy started. </returns> public virtual RequestContext FlushStoresAndStreamStoreFiles(string triggerName, StoreWriter writer, bool includeLogs) { try { string storeCopyIdentifier = Thread.CurrentThread.Name; ThrowingAction <IOException> checkPointAction = () => { _monitor.startTryCheckPoint(storeCopyIdentifier); _checkPointer.tryCheckPoint(new SimpleTriggerInfo(triggerName)); _monitor.finishTryCheckPoint(storeCopyIdentifier); }; // Copy the store files long lastAppliedTransaction; StoreCopyCheckPointMutex mutex = _dataSource.StoreCopyCheckPointMutex; try { using (Resource @lock = mutex.StoreCopy(checkPointAction), ResourceIterator <StoreFileMetadata> files = _dataSource.listStoreFiles(includeLogs)) { lastAppliedTransaction = _checkPointer.lastCheckPointedTransactionId(); _monitor.startStreamingStoreFiles(storeCopyIdentifier); ByteBuffer temporaryBuffer = ByteBuffer.allocateDirect(( int )ByteUnit.mebiBytes(1)); while (Files.MoveNext()) { StoreFileMetadata meta = Files.Current; File file = meta.File(); bool isLogFile = meta.LogFile; int recordSize = meta.RecordSize(); using (ReadableByteChannel fileChannel = _fileSystem.open(file, OpenMode.READ)) { long fileSize = _fileSystem.getFileSize(file); DoWrite(writer, temporaryBuffer, file, recordSize, fileChannel, fileSize, storeCopyIdentifier, isLogFile); } } } } finally { _monitor.finishStreamingStoreFiles(storeCopyIdentifier); } return(anonymous(lastAppliedTransaction)); } catch (IOException e) { throw new ServerFailureException(e); } }
public static int GenerateWeeksWorthOfData(this IImportedDataPointRepository dataPointRepository, IApplicationSettings applicationSettings) { var totalCount = 0; var typesOfSavedData = 1; var daysInWeek = 7; var hoursInDay = 24; var minutesInHour = 60; var readingsInMinute = 12; var oneWeekOfData = daysInWeek * hoursInDay; var readingsPerHour = minutesInHour * readingsInMinute; var sqliteFolderLocation = applicationSettings.SqliteStorageFolderLocation; for (var fileTypeIndex = 0; fileTypeIndex < typesOfSavedData; fileTypeIndex++) { for (var fileIndex = 0; fileIndex < oneWeekOfData; fileIndex++) { var databaseName = $"VibrationType{fileTypeIndex}{fileIndex}.db"; var fileTypeData = new List <ImportedDataPoint>(); for (var dataPointIndex = 0; dataPointIndex < readingsPerHour; dataPointIndex++) { fileTypeData.Add(new ImportedDataPoint { TimeStampInUtc = DateTime.Now.AddDays(-7).AddMinutes(5 * dataPointIndex), Bits = dataPointIndex }); totalCount++; } var metadata = new StoreFileMetadata { FileName = databaseName, RoomNumber = fileIndex.ToString(), RackIdentifier = fileIndex, RackCoordinates = new RackCoordinate { X = fileIndex, Y = fileIndex }, ConversionKey = fileIndex.ToString() }; var json = JsonConvert.SerializeObject(metadata); dataPointRepository.WriteRangeToDatabase(databaseName, fileTypeData); File.WriteAllText(Path.Combine(sqliteFolderLocation, databaseName.GetSqliteAssociatedMetadataFileName()), json); } } return(totalCount); }
private void PlaceMetaDataStoreLast(IList <StoreFileMetadata> files) { int index = 0; foreach (StoreFileMetadata file in files) { if (_databaseLayout.metadataStore().Equals(file.File())) { break; } index++; } if (index < Files.Count - 1) { StoreFileMetadata metaDataStoreFile = Files.RemoveAt(index); Files.Add(metaDataStoreFile); } }
public override ICollection <StoreFileMetadata> ListStorageFiles() { IList <StoreFileMetadata> files = new List <StoreFileMetadata>(); foreach (StoreType type in StoreType.values()) { if (type.Equals(StoreType.COUNTS)) { AddCountStoreFiles(files); } else { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final org.neo4j.kernel.impl.store.RecordStore<org.neo4j.kernel.impl.store.record.AbstractBaseRecord> recordStore = neoStores.getRecordStore(type); RecordStore <AbstractBaseRecord> recordStore = _neoStores.getRecordStore(type); StoreFileMetadata metadata = new StoreFileMetadata(recordStore.StorageFile, recordStore.RecordSize); Files.Add(metadata); } } return(files); }
public IList <AggregateDataPoint> ImportFolder(string folderLocation) { var systemSlash = OperatingSystemHelpers.SystemSlash; var files = Directory.GetFiles(folderLocation).Select(file => file.Replace(folderLocation + systemSlash, "")).ToList(); var dbFiles = files.Where(file => file.EndsWith(".db")).ToList(); foreach (var dbFile in dbFiles) { try { var metadataFileName = dbFile.GetSqliteAssociatedMetadataFileName(); var importedData = _importedDataPointRepository.ReadFromDatabase(folderLocation, dbFile); StoreFileMetadata associatedMetaData = null; if (files.Contains(metadataFileName)) { var metaDataFileLocation = Path.Combine(folderLocation, metadataFileName); using (var fileReader = new StreamReader(metaDataFileLocation)) { associatedMetaData = JsonConvert.DeserializeObject <StoreFileMetadata>(fileReader.ReadToEnd()); } } var aggregateDataPoints = importedData.Select(data => new AggregateDataPoint { TimeStamp = data.TimeStampInUtc, RawIntensity = data.Bits, RoomNumber = associatedMetaData?.RoomNumber ?? String.Empty, RackIdentifier = associatedMetaData?.RackIdentifier ?? 0, RackCoordinateX = associatedMetaData?.RackCoordinates?.X ?? 0, RackCoordinateY = associatedMetaData?.RackCoordinates?.Y ?? 0, ConversionKey = Convert.ToDouble(associatedMetaData?.ConversionKey ?? "0") }); AddDataPoints(aggregateDataPoints.ToList()); } catch (Exception e) { throw e; } } return(GetAllDataPoints()); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: protected void channelRead0(io.netty.channel.ChannelHandlerContext ctx, T request) throws Exception protected internal override void ChannelRead0(ChannelHandlerContext ctx, T request) { _log.debug("Handling request %s", request); StoreCopyFinishedResponse.Status responseStatus = StoreCopyFinishedResponse.Status.EUnknown; try { NeoStoreDataSource neoStoreDataSource = _dataSource.get(); if (!hasSameStoreId(request.expectedStoreId(), neoStoreDataSource)) { responseStatus = StoreCopyFinishedResponse.Status.EStoreIdMismatch; } else if (!isTransactionWithinReach(request.requiredTransactionId(), _checkPointerService)) { responseStatus = StoreCopyFinishedResponse.Status.ETooFarBehind; _checkPointerService.tryAsyncCheckpoint(e => _log.error("Failed to do a checkpoint that was invoked after a too far behind error on store copy request", e)); } else { File databaseDirectory = neoStoreDataSource.DatabaseLayout.databaseDirectory(); using (ResourceIterator <StoreFileMetadata> resourceIterator = Files(request, neoStoreDataSource)) { while (resourceIterator.MoveNext()) { StoreFileMetadata storeFileMetadata = resourceIterator.Current; StoreResource storeResource = new StoreResource(storeFileMetadata.File(), relativePath(databaseDirectory, storeFileMetadata.File()), storeFileMetadata.RecordSize(), _fs); _storeFileStreamingProtocol.stream(ctx, storeResource); } } responseStatus = StoreCopyFinishedResponse.Status.Success; } } finally { _storeFileStreamingProtocol.end(ctx, responseStatus); _protocol.expect(CatchupServerProtocol.State.MESSAGE_TYPE); } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldListMetaDataStoreLastWithTxLogs() throws Exception //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldListMetaDataStoreLastWithTxLogs() { StoreFileMetadata fileMetadata = Iterators.last(_neoStoreDataSource.listStoreFiles(true)); assertEquals(fileMetadata.File(), _neoStoreDataSource.DatabaseLayout.metadataStore()); }