question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

New version - v3.5 beta

See original GitHub issue

Hi guys, after some weeks of hard work I got a beta version of LiteDB v3.5. I’m not releasing on nuget yet because I will do more tests on changes. This new version has some break changes (all source are in dev branch).

The main goal of this version is fix concurrency problems that LiteDB has in v2.x and v3.x. In order to do this I had to change some features.

Changes

  • Remove transactions (break-api)
  • Remove physical journal file (store journal pages after file ends)
  • Remove auto-id register function for custom type (break-api)
  • Remove index definitions on mapper (fluent/attribute) (mark as obsolete)
  • Remove auto create index on query execution. If the index is not found do full scan search (use EnsureIndex on initialize database is better solution)
  • NET45 compiles as NET35
  • Update to VS2017

Features

  • Add auto-id in engine level with pre-defined common types
  • Add collection sequence (ulong) to use in engine level auto-id
  • Implement FilterDocument option in all query implementations (full scan document)
  • In Query.And use only one index side with full scan on other
  • Print query execution plan in Query.ToString() Seek([Age] > 10) and Scan([Name] startsWith "John")
  • Convert Query.And to Query.Between when possible
  • Add support to Query.Between open/close interval
  • QueryLinq for non resolved linq expression on visitor col.Find(x => x.Id < 10 && x.Name.Length > 10) will works using Id index and linq expression execution of Name.Length > 10

Also, I added a new LiteDB.Perf to test concurrency problems.

If you want contribute, fork my dev branch and change LiteDB.Perf to try get concurrency this error: Unable to cast object of type ‘LiteDB.EmptyPage’ to type ‘LiteDB.HeaderPage’. Tell me here in this issue that I will investigate.

Let’s turn LiteDB into a rock solid database 😄 🎉

Here, some issues that refer this concurrency problem: #641 #650 #619 #639 #592

Thanks!

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Comments:26 (11 by maintainers)

github_iconTop GitHub Comments

1reaction
mbdavidcommented, Aug 7, 2017

Ok, created a CRUD webapi example and run over stress tool. All operations (Find, Insert, Update, Delete) and until now no problems. Tested over multi process and multi thread.

https://github.com/mbdavid/LiteDB.WebApi

Multi thread are 5 times faster than multi process (avoid open/close file + cache)

0reactions
lbnascimentocommented, Feb 5, 2020

Hi! With the objective of organizing our issues, we are closing old unsolved issues. Please check the latest version of LiteDB and open a new issue if your problem/question/suggestion still applies. Thanks!

Read more comments on GitHub >

github_iconTop Results From Across the Web

looks like 3.5 is out of beta... : r/RemarkableTablet
I complained a week ago my brand new tablet was stuck at release 3.2, and all of a sudden, yesterday it updated to...
Read more >
Blender 3.5 Beta Is Finally Here! - YouTube
... Blender 3.5 is now in beta and we have some impressive new ... 07:03 Cycles Features & update 08:14 Grease Pencil Features...
Read more >
The First Beta Release for NetBox v3.5 is Available
This release introduces the ability to render device configurations from Jinja2 templates natively within NetBox, via both the UI and REST API.
Read more >
Apple Beta
Apple Beta Software Program. Help make the next releases of iOS, iPadOS, macOS, tvOS, watchOS and HomePod software our best yet. As a...
Read more >
Android Beta Program
Android Beta for Pixel offers you a simple way to try pre-release versions of Android, and test drive our new features. The feedback...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found