I'm trying LocustDB on a clean Ubuntu 22.04 VM on AWS:
#!/bin/bash
# https://rustup.rs/
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
sudo apt-get update
sudo apt-get install -y git
git clone https://github.com/cswinter/LocustDB.git
cd LocustDB
sudo apt-get install -y g++ capnproto libclang-14-dev
cargo build --features "enable_rocksdb" --features "enable_lz4" --release
wget --continue 'https://datasets.clickhouse.com/hits_compatible/hits.csv.gz'
gzip -d hits.csv.gz
target/release/repl --load hits.csv --db-path db
# Loaded data in 920s.
# Table `default` (99997496 rows, 15.0GiB)
# SELECT * FROM default LIMIT 1
# And it immediately panicked and hung:
#locustdb> SELECT * FROM default LIMIT 1
#thread '<unnamed>' panicked at 'index out of bounds: the len is 65536 but the index is 65536', src/stringpack.rs:91:15
#note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
#thread '<unnamed>' panicked at 'index out of bounds: the len is 65536 but the index is 65536', src/stringpack.rs:91:15
#thread '<unnamed>' panicked at 'index out of bounds: the len is 65536 but the index is 65536', src/stringpack.rs:91:15
#thread '<unnamed>' panicked at 'index out of bounds: the len is 65536 but the index is 65536', src/stringpack.rs:91:15
#thread '<unnamed>' panicked at 'index out of bounds: the len is 65536 but the index is 65536', src/stringpack.rs:91:15
#thread '<unnamed>' panicked at 'index out of bounds: the len is 65536 but the index is 65536', src/stringpack.rs:91:15
#thread '<unnamed>' panicked at 'index out of bounds: the len is 65536 but the index is 65536', src/stringpack.rs:91:15
#thread '<unnamed>' panicked at 'index out of bounds: the len is 65536 but the index is 65536', src/stringpack.rs:91:15
#thread '<unnamed>' panicked at 'index out of bounds: the len is 65536 but the index is 65536', src/stringpack.rs:91:15
#thread '<unnamed>' panicked at 'index out of bounds: the len is 65536 but the index is 65536', src/stringpack.rs:91:15
#thread '<unnamed>' panicked at 'index out of bounds: the len is 65536 but the index is 65536', src/stringpack.rs:91:15
#thread '<unnamed>' panicked at 'index out of bounds: the len is 65536 but the index is 65536', src/stringpack.rs:91:15
#thread '<unnamed>' panicked at 'index out of bounds: the len is 65536 but the index is 65536', src/stringpack.rs:91:15
#thread '<unnamed>' panicked at 'index out of bounds: the len is 65536 but the index is 65536', src/stringpack.rs:91:15
#thread '<unnamed>' panicked at 'index out of bounds: the len is 65536 but the index is 65536', src/stringpack.rs:91:15
#thread '<unnamed>' panicked at 'index out of bounds: the len is 65536 but the index is 65536', src/stringpack.rs:91:15
It's unclear how to preserve data upon restart.
It's unclear how to define table structure.
Nevertheless, a simple query after loading panics.
Also, it gives strange messages:
# Table `default` (99997496 rows, 15.0GiB) #
2013-07-15: 0.92KiB
-1216690514: 0.14MiB
0: 1.6GiB
4: 61KiB
17: 0.77KiB
9110818468285196899: 0.92MiB
-2461439046089301801: 0.20MiB
�O: 57KiB
2013-07-14 20:38:47: 0.69MiB
�
: 53KiB
�: 28KiB
-1001831330: 0.12MiB
-296158784638538920: 0.42MiB
5: 33KiB
-8417682003818480435: 0.56MiB
: 13GiB
3793327: 0.10MiB
NH: 0.60KiB
2013-07-15 10:47:34: 0.69MiB
839: 81KiB
-1: 67MiB
1971-01-01 14:16:06: 0.70MiB
1: 0.52KiB
# Table `_meta_tables` (2 rows, 42.0B) #
timestamp: 1.0B
name: 41B
That makes me suspect it is not memory-safe.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4