v1.4.0-RC1
Pre-release
Pre-release
Changelog
[v1.4.0-RC1] - 2022-10-04
Bug Fixes
- Makefile: add fips build flag to test/fips
- Makefile: remove interactive flag from dist/fips command
- ci: fix regex pattern for fips binaries
- cmd/immuadmin: set correct data-type for replication-sync-followers flag
- embedded/store: fix size calculation of precommitted txs
- embedded/store: Fix checking for closed store when syncing TXs
- embedded/store: avoid attempts to commit in wrong order
- embedded/store: expose durable precommitted state
- embedded/store: include allowPrecommitted into tx reader construction
- embedded/store: ensure tx is released upon error
- embedded/store: aht up to precommited tx
- github: Update github actions after migration of Dockerfile's
- pkg/database: return master commit state if failing to read follower precommitted one
- pkg/database: Fix mutex lock in ExportTx
- pkg/database: set follower states holder when changing replication status
- pkg/server: add logs when replicator does not start
Changes
- add dependabot config
- Add empty line between license header and package
- Dockerfile.fips: add fips build changes
- cmd/immuadmin: add new replication flags
- cmd/immuadmin: revert default replication-master-port
- cmd/immuadmin: use default immudb port as default value for replication-master-port flag
- cmd/immuclient: flag replication-sync-enabled to enable sync replication
- cmd/immudb: deprecate replication-enabled towards replication-is-replica
- docker: Move main Dockerfile's to build folder
- docker: Simplify the main Dockerfile
- embedded/store: resolve pre-committed using clogbuf
- embedded/store: wip reduce allocations in exportTx
- embedded/store: mutexless export-tx
- embedded/store: enhanced tx discarding logic
- embedded/store: wip load precommitted txs
- embedded/store: method to dynamically switch to external allowance
- embedded/store: wip wait for precommitted txs
- embedded/store: explicit allowPrecommitted and restricted access to precommitted txs
- embedded/store: minor code simplification
- embedded/store: possibility to read tx header of precommitted txs
- embedded/store: support for concurrent replicated precommits
- embedded/store: tx parsing with sanity checks
- embedded/store: handle commit case when there is nothing new to commit
- embedded/store: tolerate partial data or inconsistencies when loading pre-committed txs
- embedded/store: explanatory comments added
- embedded/store: waits for durable precommitted txs
- embedded/store: minor renaming and comment additions
- embedded/store: add integrity checks when reading precommitted txs
- pkg/api: currentState endpoint includes precommitted info
- pkg/api: explicit sync replication setting
- pkg/api/schema: reformat schema.proto file
- pkg/database: minor typo in comment
- pkg/database: sync exportTx
- pkg/database: improve error comparison
- pkg/database: follower commit progress without additional waits
- pkg/database: handle special case related to sql initialization
- pkg/database: disable automatic sql init on older databases
- pkg/integration: add synchronous replication integration tests
- pkg/replication: allowPreCommitted only with sync replication enabled
- pkg/replication: speed up follower reconnection
- pkg/replication: use session-based authentication
- pkg/replication: handling a particular case in an optimized manner
- pkg/replication: backward compatible replication
- pkg/replication: check committedTxID from master
- pkg/replication: wip optimize concurrency in replicators
- pkg/replication: handle case when follower precommit state is up-to-date but commit state is lies behind
- pkg/replication: sync replication using follower state
- pkg/replication: configurable prefetchTxBufferSize and replicationCommitConcurrency
- pkg/replication: improve error comparison
- pkg/replication: graceful closing
- pkg/replication: further progress in sync replication
- pkg/replication: replicator with backward compatibility mode
- pkg/replicator: wip precommitted tx discarding when follower diverged from master
- pkg/server: explicit sync replication
- pkg/server: handle admin user creation with sync replication enabled
- pkg/server: support for systemdb with session-based auth
- pkg/server: display all replication settings
- pkg/server: include sync replication settings in options
- pkg/server: use replication settings
Features
- cmd/immuadmin: flag to set the number of sync followers
- cmd/immudb: flag to set the number of sync followers for systemdb and defaultdb
- embedded/store: functionality to discard precommitted txs
- embedded/store: core support for sync replication
- pkg/api: api extensions to support sync replication
- pkg/database: wip sync replication logic
- pkg/replication: mode to allow tx discarding on followers
- pkg/replication: wip replicator with support for sync replication
- pkg/server: sync replication logic
- pkg/server: Add ability to inject custom database management object
Downloads
Docker image
https://hub.docker.com/r/codenotary/immudb
immudb Binaries
File | SHA256 |
---|---|
immudb-v1.4.0-RC1-darwin-amd64 | e2133e437897911b48ba4b7ec40c5a7a31b10522ce36f4f971d1964576642a59 |
immudb-v1.4.0-RC1-darwin-arm64 | a036f56e5465f5337edb56b45cff5c5ad23a65bb2d46efea536eeda43f9bc856 |
immudb-v1.4.0-RC1-freebsd-amd64 | 6eabed369b715bc6f1b5c0b3656a5b72878d664214d65ca2071e2240fbcbc235 |
immudb-v1.4.0-RC1-linux-amd64 | ac2543dc3952abc96199f40aa805ecfac335f7a76788a02e641bed111b35280c |
immudb-v1.4.0-RC1-linux-amd64-fips | a7842f83df2637118696c8c248977a465413696fa704631d2f1ab355250d307b |
immudb-v1.4.0-RC1-linux-amd64-static | bc03f2235255311fd52c1a69c99864f7db31a792a6a312c74df9991ac8f05a91 |
immudb-v1.4.0-RC1-linux-arm64 | e548ef5a4976e1925a08c6401688641af1c7da67dce2c401908e921a0d06169a |
immudb-v1.4.0-RC1-linux-s390x | 04c9b9820e79f52b757fd8ff462e9d65f785bb781a92bfd04c44c7cb2b94f07f |
immudb-v1.4.0-RC1-windows-amd64.exe | fecba3d6894bdb341de5b0e3c826ddd7cb390026b2e903935c3266d6f4beaa50 |
immuclient Binaries
File | SHA256 |
---|---|
immuclient-v1.4.0-RC1-darwin-amd64 | ae8977e1b07b923649b0cca1a20680e0501a04605daaf5c64dd9dc2b50478932 |
immuclient-v1.4.0-RC1-darwin-arm64 | ca39fd74a0818719908a7f3c46e8bb19ffc93678c953ae573d1d03b40b1a4965 |
immuclient-v1.4.0-RC1-freebsd-amd64 | c71787595d2da1ead1d6710d31a7859d2b5ef08efe7a9158c3933a1f3d1c4a60 |
immuclient-v1.4.0-RC1-linux-amd64 | 295f2457a3e271bdee1db1dc0b8349355661eeddece932c7bd22b44c132c4b88 |
immuclient-v1.4.0-RC1-linux-amd64-fips | f48de7b92695437bd3f7dc7e7ab8589b0dd4e96e4f0877c7e87770349c2d57bf |
immuclient-v1.4.0-RC1-linux-amd64-static | f3c6f4c08244e8e84bbefcb5f3e053a8612fa63c820015493bca87489773f765 |
immuclient-v1.4.0-RC1-linux-arm64 | 695f9c7f9ec5a147265b4489ae2e2282b144338a383d779037c58a8efed380fe |
immuclient-v1.4.0-RC1-linux-s390x | 4d7f0ff5eade6c0e29adf1467007481c14ed53ab8b606191244f5266683d1483 |
immuclient-v1.4.0-RC1-windows-amd64.exe | 851494f9e7b64356dce80220d41dbdd54954183b46430e77fd03779b60cd49e0 |
immuadmin Binaries
File | SHA256 |
---|---|
immuadmin-v1.4.0-RC1-darwin-amd64 | 4352e28868ac037b4e78478862a20460c88976b6d35562cea1c7e9df19d3810f |
immuadmin-v1.4.0-RC1-darwin-arm64 | 245b9644d1c74b24c612c651b644f87c182946b21877b73631513f8b8d250ac3 |
immuadmin-v1.4.0-RC1-freebsd-amd64 | 85c15624f3399570c9254e3e575fbcbdf62c3fb22e29dc236ffeda319260e56e |
immuadmin-v1.4.0-RC1-linux-amd64 | a9c86025484c2cfaced9cb28f1e0c494f8549682978e01db1707025dd6c7a87d |
immuadmin-v1.4.0-RC1-linux-amd64-fips | 6b78fdbce400f15c110e8b070446a3c08fed040dbdb954c8619059137f3e68a1 |
immuadmin-v1.4.0-RC1-linux-amd64-static | 4e5de7d425e5a987c8f89b1287d7f0bff57bcb5d9e10b0638bc694c22e2dcb24 |
immuadmin-v1.4.0-RC1-linux-arm64 | 1f0fd41eec157597d8db4919a8ca8ef3e2ac74622682674c1250328ea4334f75 |
immuadmin-v1.4.0-RC1-linux-s390x | d59cdee98e6370f369d956155d2c06a597c1a23926b31a6ad8a1ab5b5855792c |
immuadmin-v1.4.0-RC1-windows-amd64.exe | 120d28d61e21ba801ce2ff8347412c3f5a20ef130ea244d1c41cf65277ce2caf |