Changelog
- c219d47 A few text improvements
- 7f33c30 Add DB interface, make idlexact workload using DB interface.
- 052d49c Add active mode for idlexact workload.
- b14bb1e Add config validations: add validations on the rest of workloads.
- 64778b9 Add config validations: idlexacts, rollbacks, waitxacts.
- 0f01814 Add contribution section.
- 4b4bf6a Add descriptive comments for workloads packages; refactor README.
- c391243 Add forkconns workload.
- ea15dc2 Add log-level options.
- c74853a Add log.Logger interface with zerolog implementation as a default logger.
- 9528d34 Add logging to deadlocks workload.
- 98d2c14 Add logging to failconns workload.
- 650607d Add logging to idlexacts workload.
- 0408b0a Add logging to rollbacks workload.
- 46c50b3 Add logging to temp files workload.
- 7cba998 Add logging to temp files workload.
- 245ebf7 Add logging to waitxacts workload.
- b71fc51 Add newlines to Printf messages.
- b56935e Add rand.Seed().
- 3e3e97a Adjust shutdown message.
- 5dac8ce Cosmetic changes.
- 42dc131 Cosmetic edits.
- 649e551 DB: add Exec and Query methods to Conn interface.
- 7124218 Don't wait for signals goroutine - it continues waiting after workload has been finished.
- 1217e38 Edit README: adjust workloads descriptions accordingly latest changes; add info about impact on already running workload.
- 2c32161 Extend using DB interface on deadlocks, failconns workloads.
- c2ad50d Extend using DB interface on the rest of workloads.
- 60e4c80 Fix broken PostgresTx.Query; rename arguments to args.
- 2a91682 Fix broken arguments handling.
- ab64b2d Fix cleanup logic. Don't use parent context in cleanup function, it prevents executing cleanup because already expired. Remove --cleanup flag and related function, it is unnecessary now.
- 212d517 Fix forgotten error handling.
- 9cbf802 Fix golangci-lint issues.
- 207bb6d Fix proper work of waitxact workload in fixtures mode - after locking the working table, do query to this table.
- b91f062 Fix startup parameters descriptions.
- 0fcf4ce Fix test.
- b483859 Fix tests.
- e34de1f Fix values in tests.
- 7dbe90b Idle xacts: in transaction instead of deleting a row, create temp table. This approach doesn't block concurrent updates/deletes and doesn't use full table scan as it does 'order by random()'.
- a6d7000 Idlexacts: fix validation.
- 5ceb431 Idlexacts: remove empty if block, add TODO.
- de3286f Improve deadlocks verbosity of INFO log-level - print message each time, when deadlock catched.
- 4f85773 Merge pull request #10 from NikolayS/patch-2
- 9b4c6c5 Merge pull request #11 from lesovsky/infra-release
- 4be4d6d Move comments to proper place.
- 0dd4226 Move wg.Done outside of starting workload functions.
- 4a2e9d3 Pass application_name when connecting to database.
- 3e0e9b1 Refactor rollbacks: - use golang.org/x/time/rate for rate limiting; - remove '--rollbacks.min-rate' and '--rollbacks.max-rate' cli flags.
- 51a315f Refactor tempfiles: - use golang.org/x/time/rate for rate limiting; - rename cli flag '--temp-files' to '--tempfiles'; - rename cli flag '--temp-files.rate' to '--tempfiles.rate'; - remove cli flag '--temp-files.scale-factor'; - remove need of fixture table - use pg_class instead; - refactor workload logic to main->worker->loop->work order; - add output of how many temp bytes have been written during the workload.
- 1573017 Remove 'active' flag. Attempt to intervene into already running workload it is a default and preferred behavior now.
- fd16b18 Remove TODO - if there are no tables, empty idle xacts are started (just BEGIN and nothing next).
- f58ef26 Remove accidentally added wg.Add().
- e38a5d5 Remove context.TODO from NewPostgresDB.
- 5132015 Remove unnecessary passing config using pointers.
- 82477cc Remove unnecessary prefixes from variable names.
- 1f35e60 Rollbacks: make workload as erroneous queries which execution lead to errors.
- 3dd9789 Rollbacks: run goroutine per job, not per xact.
- 4f0719a Terminate: add ability to specify client address, user, database and application name for exact targeting.
- c0607b4 Terminate: fix broken interval/rate pass from cli arguments to workload func.
- 65d64da Tidy go modules.
- 1542059 Update modules.
- ab50c6c Update tools versions used in GH actions.
- b6e5cd6 Use time.Duration type (instead of int) for --duration parameter.
- c2fdca9 Use time.Duration type (instead of int) for --idle-xacts.* parameters.
- 5f4b7bc Use time.Duration type (instead of int) for waitxacts.* parameters.
- 38d887c Use time.Duration type for terminate.interval option.
- a8e6f10 Use uint16 type (instead of int) for rollbacks.* parameters.
- c082a2a Use uint16 type (instead of int) for tempfiles.* parameters.
- 5c016a0 Use uint16 type (instead of int) for terminate.* parameters.
- ba2f142 Waitxacts: refactor workload to use LOCK based logic. Add fixture flag which tells to run workload using fixture table (don't affect already running workload).
- d491af5 chore: modernize dependencies and Go toolchain
- e406f38 ci: modernize CI/CD pipeline and release config
- 346e923 docs: add project-knowledge base and infra-release plan
- 04e9288 feat: migrate PostgreSQL driver from pgx v4 to v5
- a8b4cb2 test: migrate integration harness to testcontainers-go