Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: purely in-memory (non-database) DataManager implementations for various entity types #3531

Closed

Commits on Aug 1, 2023

  1. feat: in-memory data managers for various entity types

    A new module providing high performance non-sql in memory data managers for various entity types.
    
    The implementation is based on Concurrent maps serving as the storage layer of the entities. This
    removes the chance of locking exceptions entirely and increases the performance of process execution
    significantly (2-5x faster compared to H2 or hsqldb even for simple processes), but the managers
    do not support (full) transactions. They implement a simple rollback / commit strategy where things
    like deadletter jobs work, and items are removed from memory on rollback, but many parts of true
    transactions, like rolling back updated objects, are not yet implemented.
    
    Any data manager that does not have a no-sql implementation will keep using the existing database
    based datamanagers. When running the non-sql in-memory datamanagers, it makes most sense to also
    run an in-memory database (eg. H2 or hsqldb) instead of a real database. The database is used for
    things like process deployments and definitions, byte arrays and other entities that either have
    limited performance improvements from memory data managers, or are complicated to implement due
    to references to table data on the database level.
    
    The in-memory data managers are for runtime processes only. It is intended that an executor using
    them has history set excplicitly to NONE - if history is enabled the benefits of the in-memory
    data managers vanish because each process still needs to do database operations to store history.
    Ilkka Kaakkola committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    01cee69 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2023

  1. Configuration menu
    Copy the full SHA
    27529eb View commit details
    Browse the repository at this point in the history
  2. fix: Remove async history support

    fix: add findJobsByWorkerId impl
    Ilkka Kaakkola committed Aug 30, 2023
    Configuration menu
    Copy the full SHA
    7360523 View commit details
    Browse the repository at this point in the history
  3. fix: synchronize entity locktime access

    Ilkka Kaakkola committed Aug 30, 2023
    Configuration menu
    Copy the full SHA
    bab2a15 View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2023

  1. Merge remote-tracking branch 'origin/master' into feature/memory-data…

    …-managers
    Ilkka Kaakkola committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    c55eef3 View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2023

  1. fix: update to flowable 7.1.0-SNAPSHOT

    Implement missing DataManager query options and implement new Flowable 7.1.0-SNAPSHOT specific features
    Ilkka Kaakkola committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    86fb111 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f71653a View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2024

  1. Configuration menu
    Copy the full SHA
    8803848 View commit details
    Browse the repository at this point in the history
  2. fix: add new methods from EventSubscriptionDataManager

    Ilkka Kaakkola committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    d29f97d View commit details
    Browse the repository at this point in the history