80b5b85e81
personal work
2024-07-17 05:34:43 -04:00
b69015a72d
Nix flake, shell
2024-07-17 05:25:23 -04:00
Sean Cribbs
0d651700ac
Update to work on OTP 26
...
* erlang:stacktrace() has been deprecated a long time
* Update deps to OTP 26-compatible versions
* Add rebar3 lockfile
2024-07-17 05:08:34 -04:00
Kresten Krab Thorup
68333fa51a
Merge pull request #37 from a13x/master
...
Fixing the building of hanoidb for R18
2016-03-26 02:03:12 +01:00
Aleksandar Radulovic
32b40f25f9
Fix building of the lib
...
Fix sext and edown dependency
Fix array() type defs
Change-Id: Ibc2986b690fb81ef9d757fa7b8ba20a994bc8fa2
2016-03-23 15:25:57 +01:00
Kresten Krab Thorup
4e82d5f81a
Add license for vbisect
2014-11-28 16:25:48 +01:00
Kresten Krab Thorup
875459dcd2
Improve tests/dialyzing.
2014-11-28 16:22:20 +01:00
Kresten Krab Thorup
198da5ef5f
Use new on-disk page format
...
This updates moves from kvlist to on-disk bisect
format (https://github.com/krestenkrab/vbisect )
which means that tree pages are not deserialised
when read form disk. This improves performance
of GETs by ~20% and improves top-level latencies
significantly.
CRC32 checks are now on the page level.
2014-11-28 16:21:59 +01:00
Kresten Krab Thorup
f4feca27e5
Use ebloom by default
...
This commit changes the default bloom filter to
be basho’s bloom, which is significantly more
stable w.r.t. performance. The code can still
read the old bloom filters; new files are written
with the new filters.
The default is controlled in src/hanoidb.hrl
using the USE_EBLOOM macro.
2014-11-28 16:15:20 +01:00
Kresten Krab Thorup
a1bbadfb34
Update travis to include 17
2014-11-26 14:00:22 +01:00
Kresten Krab Thorup
810d183770
Fix crash in recovery code
2014-11-26 13:59:36 +01:00
Kresten Krab Thorup
1715c29364
Remove some lock contention when fsync’ing
2014-11-26 13:57:47 +01:00
Kresten Krab Thorup
0fa8ab4a02
Fix up the ensure_started code
2014-11-26 13:21:53 +01:00
Kresten Krab Thorup
752f9f5b62
Fix min/max level for recovery
...
Previous commit f0d24894c5
introduced a bug in recovery code.
2014-11-26 12:51:01 +01:00
Kresten Krab Thorup
71c4243701
Don’t open exclusive when re-opening a merge file
2014-11-26 12:44:50 +01:00
Kresten Krab Thorup
3b6b0ce197
Support sys messages in hanoidb_merger processes
2014-11-26 11:52:53 +01:00
Kresten Krab Thorup
f0d24894c5
Make the top_level
parameter configurable.
2014-11-21 00:41:40 +01:00
Kresten Krab Thorup
4ba712512d
Add travis build status button
2014-11-20 23:11:51 +01:00
Kresten Krab Thorup
70936cd51f
Make tests run again
...
We had a bad regression with #31 due to the
tests not being run automatically.
2014-11-20 23:08:14 +01:00
Kresten Krab Thorup
74c9bf6154
Swap arguments. Fixes issue #31
2014-11-20 22:42:14 +01:00
Kresten Krab Thorup
ea88b32d4e
Merge pull request #30 from brigadier/patch-2
...
add plain_fsm app in the 'applications' section of .app.src
2014-11-20 12:49:53 +01:00
Evgeny M.
7595560572
add plain_fsm app in the 'applications' section of .app.src
...
plain_fsm must be started prior to hanoidb
2014-11-20 14:01:13 +03:00
Kresten Krab Thorup
bac8a8620f
Leave the tests out as per @essen’s comments
...
resolves issue #29
2014-11-19 00:07:33 +01:00
Kresten Krab Thorup
d0620f241f
Make default “all” target really do all.
...
This fixes issue #29
2014-11-18 22:04:28 +01:00
Kresten Krab Thorup
2b95bfcf49
Merge branch 'master' of github.com:krestenkrab/hanoidb
2014-11-17 11:03:23 +01:00
Kresten Krab Thorup
5acd8cbc7a
Add travis build file
2014-11-17 10:57:25 +01:00
Kresten Krab Thorup
3b776a7bf1
Merge pull request #28 from brigadier/patch-1
...
Update Makefile
2014-11-14 19:34:22 +01:00
Evgeny M.
59c6d47bf7
Update Makefile
...
update makefile to make it compatible with erlang.mk
2014-11-14 20:47:38 +03:00
Kresten Krab Thorup
697683240d
Make ebloom / scalable bloom a compile-time option
...
bloom (from basho) uses a NIF implementation which
may be faster and use less memory; test before use.
The “old” bloom, a.k.a. “scalable bloom”
is pure erlang, which also has nice properties.
Note! Switching to ebloom changes the file format
so the default is still to use ‘scalable bloom’.
2014-10-21 15:03:53 +01:00
Kresten Krab Thorup
813863c9c3
Merge pull request #27 from eryx67/master
...
fix memory leak
2014-08-11 12:36:58 +02:00
eryx67
b97de217ed
fix memory leak
2014-08-11 16:17:17 +06:00
Kresten Krab Thorup
e58d2577a0
Update dependency for snappy 1.0 -> 1.1
2014-04-03 00:00:33 +02:00
Kresten Krab Thorup
6bde50dd73
Trying to build the build representation fails.
...
More specifically
encode(decode(encode(...)))
fails for dense (small) bloom filter sizes.
2014-04-02 23:57:23 +02:00
Kresten Krab Thorup
ce3a7049f2
Fix plain bug
2014-04-02 22:39:43 +02:00
Kresten Krab Thorup
e37623a84c
Fix argument order for plain_fsm:handle_system_msg
...
plain_fsm documentation was wrong https://github.com/uwiger/plain_fsm/pull/4 , so now it should be able to send sys messages
to hanoi.
2014-02-14 08:25:26 -05:00
Kresten Krab Thorup
e3689c3d87
Merge pull request #18 from eriksoe/bloom-sparse-representation
...
Bloom filter: make "don't set if already set" logic more fine-grained.
2012-09-27 04:53:44 -07:00
Erik Søe Sørensen
e1fddd6633
Bloom filter: make "don't set if already set" logic more fine-grained.
...
This results in a minor "bloom add" performance gain of ~10%.
2012-09-27 13:17:32 +02:00
Kresten Krab Thorup
35de7a3300
Enable lz4 compression
2012-09-26 16:05:51 +02:00
Kresten Krab Thorup
923dbe3852
Fix typing for bit array representation
...
For now we keep the bit array representation code
around in case someone has bloom filters
persisted that use this representation. Going
forward we should remove this from the code.
2012-09-26 15:27:56 +02:00
Kresten Krab Thorup
c439b510f9
Merge branch 'master' of github.com:krestenkrab/hanoidb
2012-09-26 15:12:19 +02:00
Kresten Krab Thorup
0449e442f7
Remove most dialyzer warnings
...
This is a large change set, which adds type specs
needed for dialyzer to be happy. We likely
need even more type specs as we move forward.
2012-09-26 15:11:55 +02:00
Kresten Krab Thorup
5ee9ff4a42
Merge pull request #17 from eriksoe/bloom-sparse-representation
...
Bloom sparse representation
2012-09-25 10:59:37 -07:00
Erik Søe Sørensen
ed65b5a468
Bloom filter: replace array with faster custom representation.
2012-09-25 17:12:10 +02:00
Erik Søe Sørensen
1c6e0df15c
Bloom filter: Handle hibernate situation in dense_bitmap.
2012-09-25 15:17:24 +02:00
Erik Søe Sørensen
12148a7af9
Bloom filter: Add faster, ETS-based build representation for dense bitmaps.
2012-09-25 15:05:43 +02:00
Erik Søe Sørensen
d727be2fa7
Bloom filter: remove double-testing introduced in dispatch.
2012-09-25 14:51:45 +02:00
Erik Søe Sørensen
a475b5f5be
Bloom filter: Introduce dispatch for handling multiple representations.
2012-09-25 14:28:31 +02:00
Erik Søe Sørensen
5e69a0ca04
Bloom filter: Prepare for having other representations.
2012-09-25 14:15:59 +02:00
Kresten Krab Thorup
4592bc000b
Merge pull request #14 from eriksoe/bloom-performance-fix
...
Bloom filter: Have only one level when using large sparse array.
2012-09-25 04:52:31 -07:00
Erik Søe Sørensen
f978f5652c
Bloom filter: Have only one level when using large sparse array.
2012-09-25 12:59:28 +02:00