Skip to content

EzEconomy 3.1.2

Latest

Choose a tag to compare

@github-actions github-actions released this 30 May 16:30
e2671f5

Added

  • Performance and reliability improvements to balance fast-path caching and background persistence.

Changed

  • Reduced DB contention and improved fast-path caching semantics for balances to provide more consistent immediate responses under load.
  • Withdraw fast-path: added per-key striped locking to prevent concurrent over-reservations.
  • Shutdown ordering: background persistence flush now runs before closing JDBC pools to guarantee pending deltas are persisted.

Economy Benchmark Summary

Plugin Version Storage Redis Status Run time (s) Deposit avg (ms) Withdraw avg (ms) Balance/Has avg (ms) RAM avg (MiB) RAM peak (MiB) ? vs EzEconomy baseline
essentialsx 2.21.1 file off ok 1.021 0.483072 0.276326 0.005248 465.76 466.50 N/A
ezeconomy 3.1.2 mysql off ok 0.090 0.008794 0.007697 0.004436 415.20 415.50 1.00x deposit
ezeconomy 3.1.2 mysql on ok 0.098 0.012991 0.008751 0.004505 405.67 406.02 1.48x deposit
ezeconomy 3.1.2 sqlite off ok 0.034 0.008090 0.003718 0.003299 420.58 420.78 1.00x deposit
ezeconomy 3.1.2 sqlite on ok 0.036 0.007114 0.004541 0.003127 447.34 447.37 0.88x deposit
xconomy 2.26.3 mysql off ok 0.547 0.164429 0.129993 0.191681 465.28 467.52 18.70x deposit
xconomy 2.26.3 sqlite off ok 0.290 0.109194 0.061594 0.080283 428.20 430.39 13.50x deposit

Bank Operation Benchmarks

Plugin Version Storage Redis Status Run time (s) BankDeposit avg (ms) BankWithdraw avg (ms) BankBalance/Has avg (ms) RAM avg (MiB) RAM peak (MiB)
essentialsx 2.21.1 file off skipped (Vault bank API not supported by this economy provider) N/A N/A N/A N/A N/A N/A
ezeconomy 3.1.2 mysql off ok 3.330 1.225967 1.153788 0.567417 449.95 458.75
ezeconomy 3.1.2 mysql on ok 3.090 1.122824 1.078041 0.516253 440.06 448.27
ezeconomy 3.1.2 sqlite off ok 2.126 0.960253 0.838308 0.061351 463.86 469.28
ezeconomy 3.1.2 sqlite on ok 1.864 0.827309 0.747836 0.064934 490.66 496.37
xconomy 2.26.3 mysql off skipped (Vault bank API not supported by this economy provider) N/A N/A N/A N/A N/A N/A
xconomy 2.26.3 sqlite off skipped (Vault bank API not supported by this economy provider) N/A N/A N/A N/A N/A N/A
  • Configuration: moved MySQL tuning keys into performance.mysql in the main config.yml. The plugin now prefers performance.mysql.* with fallbacks to mysql.* in config-mysql.yml; documentation and default configs were updated.

  • Added MySQL tuning options and safer defaults: background persistence batching/queueing settings and additional Hikari pool tuning keys (leak-detection-threshold-ms, validation-timeout-ms, initialization-fail-timeout-ms, auto-commit). JDBC params now include UTF-8 encoding by default.

  • Security: /eco command permissions tightened. New granular permission nodes added: ezeconomy.eco.give, ezeconomy.eco.take, ezeconomy.eco.set, ezeconomy.eco.gui (GUI opens require ezeconomy.eco.gui), and ezeconomy.eco remains the umbrella admin node. Console execution still allowed.

Fixed

  • Race conditions where multiple concurrent withdraws could exceed the persisted balance.
  • Background flush failures during shutdown caused by closed connections.