public async Task Commit() { if (_committing || _committed) { return; } _committing = true; this.Log($"merges: {_merges}"); foreach (var column in _dirty) { using (var vectorStream = SessionFactory.CreateAppendStream( Path.Combine(SessionFactory.Dir, $"{CollectionId}.{column.Key}.vec"))) { using (var writer = new ColumnSerializer( CollectionId, column.Key, SessionFactory, new RemotePostingsWriter(_config, CollectionName))) { await writer.CreateColumnSegment(column.Value, vectorStream); } } } _committed = true; _committing = false; this.Log(string.Format("***FLUSHED***")); }
private async Task SerializeColumn(long keyId, VectorNode column) { using (var columnWriter = new ColumnSerializer( CollectionId, keyId, SessionFactory, ixFileExtension: "ixo", pageFileExtension: "ixop")) { await columnWriter.SerializeColumnSegment(column); } }