Comments (7)
Hi @rushmorem you've actually found 2 bugs here! One in SurrealDB and one in TiKV (or probably the TiKV client).
In SurrealDB we are using pessimistic transactions when we should be using optimistic transactions 😖! This is a logic error (albeit one that shouldn't result in any failure).
In TiKV, there is an issue with pessimistic transactions resulting in locks not being removed from the key-value store, even though the transaction has finished successfully. This does not happen when the application is run for the first time, but only after the application is stopped and restarted. I have submitted an issue for this: tikv/client-rust#366
To solve this I'll be ensuring that we are using optimistic transactions, which does not have this same issue, and hopefully the underlying error can be solved in due course anyway!
from surrealdb.
Thanks for this @rushmorem 👍 - will look into this...
from surrealdb.
Hi @tobiemh. Awesome! Thank you so much!
from surrealdb.
How to try this update. I Have this problems too.
Thanks
from surrealdb.
@Jayuda Building from source with the kv-tikv
feature is a bit tricky right now. Do you have a flake-enabled nix
(https://nixos.org/download.html)? I could share my Nix flake.
from surrealdb.
Sorry i am not familiar with nix - but i will find out how to use it. Can you give me nix flake - so i will try build it. Thanks verry much @rushmorem
from surrealdb.
@Jayuda I'm working on integrating Nix flakes into this repo at #100. If you are on Linux and have a flake-enabled Nix package manager, it should already work for you. I'm still to add tests for it in the CI to check other platforms.
If you just want to compile and install the binary, you can do:-
nix profile install github:rushmorem/surrealdb/feature-97-nix-flake
which downloads the source from my WIP branch, compiles and installs the binary to your PATH
.
If you just want cargo
to work with this repo so you can play with it, clone this repo, switch to it and then just run:-
nix develop github:rushmorem/surrealdb/feature-97-nix-flake
This spawns a shell with all the dependencies of this project installed. This allows you to run cargo build
, cargo check
etc.
from surrealdb.
Related Issues (20)
- Bug: A transaction was dropped without being committed or cancelled HOT 1
- Bug: Rust Sql querry parser HOT 8
- Feature: windows arm64 build HOT 1
- Feature: Hypergraphs via hyperedges HOT 1
- Bug: Polygon out differs when using a parameter, does not work in geo::centroid() function HOT 1
- Bug: core dump when performing INSERT
- Bug: Internal database error: No FileWriter available when select split HOT 1
- Feature: Reuse Table Permissions
- Feature: row comparisons operators
- Bug: Importing large backup file fails
- Bug: Parse error when binding parameters using Rust SDK
- Bug: Can't set object value in Schemafull table HOT 1
- Bug: some number types are stored incorrectly
- Bug: Can't parse field name that starts with "if" in DEFINE FIELD statement
- Bug: error[E0277]: the trait bound `surrealdb::engine::local::RocksDb: surrealdb::Connection` is not satisfied
- Feature: Adding a custom validation error message when defining fields with assert.
- Bug: Critical Bug returning incorrect values from query HOT 2
- Feature: Add function that allows to sanitize HTML
- Bug: Panic while running an event HOT 1
- Bug: View returns empty if defined via CLI import
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from surrealdb.