Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More β†’
Socket
Sign inDemoInstall
Socket

tigerbeetle-node

Package Overview
Dependencies
Maintainers
3
Versions
324
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tigerbeetle-node - npm Package Versions

23
…
33

0.16.20

Diff

Changelog

Source

TigerBeetle 0.16.20

Released: 2024-12-27

Safety And Performance

  • #2608

    Improve replication reliability for tiny messages.

Features

  • #2607

    Add info-level logging for basic progress events.

  • #2603

    Add logging and runtime configuration parameters for state sync.

Internals

  • #2604

    Fix fuzz_lsm_scan checkpoint schedule.

TigerTracks 🎧

sentientwaffle
published 0.16.19 β€’

Changelog

Source

TigerBeetle 0.16.19

Released: 2024-12-22

Safety And Performance

  • #2592

    Coalesce LSM tables in memory before writing them to disk. This significantly improves workloads with small batch sizes, that would otherwise churn in the top level of the LSM while incurring heavy write amplification.

Features

  • #2590

    TigerBeetle recently gained the ability to do runtime debug logging with --log-debug. Extend that to other subcommands - not just start.

    Additionally, the Python client now has logs integrated with Python's native logging module, which means no more printing to stderr!

Internals

  • #2591

    Fix broken links to TigerBeetle blog posts, thanks @PThorpe92!

TigerTracks 🎧

sentientwaffle
published 0.16.18 β€’

Changelog

Source

TigerBeetle 0.16.18

Released: 2024-12-19

Safety And Performance

  • #2584

    Our repair can create a feedback loop. Repair requests prepares and headers, but, upon receiving back, we re-trigger repair, which could lead to duplicate repair work.

    To avoid that, make sure that we are not sending more than two repair messages per replica per our repair timeout.

  • #2586

    Trace AOF write duration

  • #2582

    Timeouts with exponential backoff should reset to their original delay when the timeout is stopped.

  • #2577

    Assert against ABA problem during commit.

  • #2578

    Add retry for flock. flocks are cleaned up by the kernel when the file descriptor is closed, but since that file descriptor is used by io_uring, it actually outlives the process itself.

  • #2579

    Fix mlock flag value.

  • #2571

    Don't crash if a round of view changes happened while repairing the pipeline.

Features

  • #2423

    Tab completion in REPL

  • #2566

    Fix --account-count-hot flag.

  • #2576

    Fix multi-debit recipe.

TigerTracks 🎧

TigerBeetle (unreleased)

Released: 2024-12-16

Safety And Performance

  • #2537

    Exit cleanly if the database grows to the maximum size.

  • #2511

    Simulate virtual machine migration in the VOPR.

  • #2561

    Test that Java client behaves correctly when its thread is interrupted.

Features

  • #2540

    tigerbeetle format now automatically generates a random cluster id if it isn't passed on the command line. To avoid operational errors, it is important that each cluster gets a globally unique id.

  • #2558, #2552

    Improve error reporting when a client gets evicted due to a mismatched version.

Internals

  • #2542

    Switch CLI client to static allocation.

  • #2562, #2560

    Run benchmark under sudo to enable memory locking for accurate RSS stats.

  • #2556, #2555

    Remove many false negatives from unused imports tidy check.

TigerTracks 🎧

sentientwaffle
published 0.16.17 β€’

Changelog

Source

TigerBeetle 0.16.17

Released: 2024-12-09

This release includes a correctness fix for the preview API get_account_balances, get_account_transfers, query_accounts, and query_transfers. If your application uses these features it might be affected.

Safety And Performance

  • #2544

    Fix correctness bug which affected the preview get_account_balances, get_account_transfers, query_accounts, and query_transfers queries. Specifically, if several filters are used (that is, several fields in QueryFilter or AccountFilter are set), then some objects might be missing from the result set.

    The underlying data is safely stored in the database, so re-running these queries using the new version of TigerBeetle will give correct results.

  • #2550

    Fix panic in the node client which occurred on eviction.

  • #2534

    Fix incorrect ABI used on aarch64 for the client library. To prevent such issues from cropping up in the future, add aarch64 testing to CI.

  • #2520

    Add extra assertions to verify object cache consistency.

  • #2485

    Implement network fault injection in VΓΆrtex, our non-deterministic whole system simulator.

Features

  • #2539

    Log level can now be specified at runtime.

  • #2538

    Log messages now include UTC timestamp (formatted as per RFC 3339).

Internals

  • #2543

    Relax compiler requirements for building TigerBeetle. While we only support building using one specific version of Zig, the one downloaded via ./zig/download.sh, you can try using other versions.

  • #2533

    Document how to handle errors during release. TigerBeetle's release process is complicated, as we need to release, in lockstep, both the tigerbeetle binary and all the related client libraries. The release process is intentionally designed to be "highly-available", such that a failure of any aspect of a release can be safely detected, isolated, and repaired. But, so far, this wasn't clearly spelled out in the documentation!

TigerTracks 🎧

sentientwaffle
published 0.16.16 β€’

Changelog

Source

TigerBeetle 0.16.16

Released: 2024-12-02

The highlight of today's release is the new official Python client, implemented in #2527, and #2487. Please kick the tires!

Safety And Performance

  • #2517

    Require that all replicas in a cluster have the latest TigerBeetle binary as a precondition for an upgrade.

  • #2506

    Fix several bugs when handling misdirected writes. That is, situations when the disk reports a write as successful, despite the write ending up in the wrong place on the disk!

  • #2478

    Make sure that TigerBeetle memory is not swappable, otherwise a storage fault can occur in a currently swapped-out page, circumventing TigerBeetle guarantees.

  • #2522

    REPL correctly emits errors when several objects are used as an argument of an operation that only works for a single object, like get_account_transfers.

  • #2502

    Add randomized integration tests for the Java client.

Features

Internals

  • #2526

    Ignore OOM failures during fuzzing. Fuzzers normally don't use that much memory, but, depending on random parameters selected by swarm testing, there are big outliers. If all concurrent fuzzers hit a seed that requires a lot of memory, a fuzzing machine runs out of physical RAM. Handle such errors and don't treat them as fuzzing failures.

  • #2510

    Track the number of untriaged issues on DevHub.

TigerTracks 🎧

sentientwaffle
published 0.16.15 β€’

sentientwaffle
published 0.16.14 β€’

Changelog

Source

TigerBeetle 0.16.14

Released: 2024-11-25

Safety And Performance

  • #2501

    Call DetachCurrentThread when the Java client is closed. The underlying Zig TigerBeetle client runs in a separate thread internally, and a handler to this thread was being leaked.

    This is not noticeable in normal operation, but could impact long running processes that create and close clients frequently.

  • #2492

    Document that it's not possible to currently look up or query more than a full batch of accounts atomically without using the history flag and querying balances.

  • #2434

    Add the ability to check timestamp order - and verify they are monotonically increasing - for accounts and transfers inside Vortex.

Internals

  • #2455

    Recently the VOPR has gotten too good, and it's very tempting to switch to an empirical mode of coding: write some code and let the VOPR figure out whether it is correct or not.

    This is suboptimal - silence of the VOPR doesn't guarantee total absence of bugs and safety comes in layers and cross checks. Just formal or informal reasoning is not enough, we need both.

    Document this in TigerStyle.

  • #2472

    Previously, the Zig part of languages clients logged directly to stderr using Zig's std.log, but since directly outputting to stderr is considered rude for a library, logging was disabled.

    This PR adds in scaffolding for sending these logs to the client language to be handled there, tying in with native log libraries (eg, Log4j). No languages use it yet, however.

    Additionally, log warn and err directly to stderr, if there's no handler.

TigerTracks 🎧

sentientwaffle
published 0.16.13 β€’

Changelog

Source

TigerBeetle 0.16.13

Released: 2024-11-18

Safety And Performance

  • #2461

    Fix a broken assert when a recently-state-synced replica that has not completed journal repair receives an old commit message.

  • #2474

    Retry EAGAIN on (disk) reads. This is essential for running TigerBeetle on XFS, since XFS returns EAGAIN unexpectedly.

  • #2476

    Fix a message bus crash when a client reconnects to a replica without the replica receiving a disconnect for the first connection.

  • #2475

    Save 256KiB of RAM by not having a prefetch cache for historical balances. (Historical balances are never prefetched, so this cache was unused.)

  • #2482

    Update hardware requirements in the documentation to include the recommended network bandwidth, advice for very large data files, and farther emphasis on the importance of ECC RAM.

  • #2484

    Don't panic the client when the client's session is evicted. Instead, report an error any time a new batch is submitted to the evicted client. (How the error is reported depends on the client language – e.g. Java throws an exception, whereas Node.js rejects the Promise).

    Note that if running clients are evicted, that typically indicates that there are too many clients running – check out the suggested system architecture.

Features

  • #2464

    Add REPL interactivity. Also change the REPL from dynamic to static allocation. Thanks @wpaulino!

Internals

  • #2481

    Expose the VSR timestamp to the client. (This is an experimental feature which will be removed soon – don't use this!)

TigerTracks 🎧

sentientwaffle
published 0.16.12 β€’

Changelog

Source

TigerBeetle 0.16.12

Released: 2024-11-11

Safety And Performance

  • #2435

    Fix an attempt to access uninitialized fields of tb_packet_t when tb_client_deinit aborts pending requests. Also add Java unit tests to reproduce the problem and validate the fix.

  • #2437

    Fix a liveness issue where the cluster gets stuck despite sufficient durability, caused by buggy logic for cycling through faulty blocks during repair. Now, we divide the request buffer between the read_global_queue and faulty_blocks, ensuring that we always request blocks from both.

Features

  • #2462

    Update DevHub styling.

  • #2424

    Vortex can now not only crash replicas (by killing and restarting the process) but also stop and resume them.

Internals

  • #2458

    Fix the Dotnet walkthrough example that misused length instead of the final index when slicing an array. Thanks @tenatus for reporting it!

  • #2453

    Fix a CI failure caused by concurrent processes trying to create the fs_supports_direct_io probe file in the same path.

  • #2441

    Replace curl shell invocation with Zig's http client. 😎

  • #2454

    Properly handle "host unreachable" (EHOSTUNREACH) on Linux, instead of returning unexpected error.

  • #2443, #2451, #2459, #2460, #2465

    Various code refactorings to improve naming conventions, readability, and organization.

TigerTracks 🎧

TigerBeetle (unreleased)

Released: 2024-11-04

Safety And Performance

  • #2356

    Add "Vortex" – a full-system integration test. Notably, unlike the VOPR this test suite covers the language clients.

  • #2430

    Cancel in-flight async (Linux) IO before freeing memory. This was not an issue on the replica side, as replicas only stop when their process stops. However, clients may be closed without the process also ending. If IO is still in flight when this occurs, we must ensure that all IO is cancelled before the client's buffers are freed, to guard against a use-after-free.

    This PR also fixes an unrelated assertion failure that triggered when closing a client that had already closed its socket.

  • #2432

    On startup and after checkpoint, assert that number of blocks acquired by the free set is consistent with the number of blocks we see acquired via the manifest and checkpoint trailers.

  • #2436

    Reject connections from unknown replicas.

  • #2438

    Fix multiversion builds on MacOS.

  • #2442

    On an unrecognized error code from the OS, print that error before we panic. (This was already the policy in Debug builds, but now it includes ReleaseSafe as well.)

  • #2444

    Fix a panic involving an in-flight write to an old reply after state sync.

Internals

  • #2440

    Expose reply timestamp from vsr.Client. (Note that this is not yet surfaced by language clients).

TigerTracks 🎧

sentientwaffle
published 0.16.11 β€’

Changelog

Source

TigerBeetle 0.16.11

Released: 2024-10-28

Safety And Performance

  • #2428

    Make Grid.reserve() abort rather than returning null. When Grid.reserve() aborts, that indicates that the data file size limit would be exceeded by the reservation. We were already panicking in this case by unwrapping the result, but now it has a useful error message.

  • #2416

    Improve availability and performance by sending start_view message earlier in the new-primary recovery – as soon as the journal headers are repaired.

  • #2360

    Refactor compaction to clarify the scheduling logic, schedule more aggressively, and make it easier to run multiple compactions concurrently. This also improved the benchmark performance.

Features

  • #2425

    Support multiversion (non-automatic) upgrades when the replica is started with --development or --experimental.

Internals

  • #2427

    Allow a release's Git tag and config.process.release to differ. This simplifies the release process for hotfixes, when the Git tag is bumped but the config.process.release is unchanged.

TigerTracks 🎧

23
…
33
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚑️ by Socket Inc