v0.1.0-beta4
·
768 commits
to develop
since this release
RELEASE DATE: 2020-06-23
We’re constantly working on improving the user experience with each release, so here’s what changed since our last update:
Public API Changes
On the Public API side of things, which is meant for developers querying the data on chain through the dfuse hosted services or through a local version of the dfuseeos product, we introduced 1 BREAKING change for 2 fields;
Changed
- BREAKING: For more clarity when using these fields, the
eoswstransaction lifecycle fieldscreation_irreversible&cancelation_irreversiblewere renamed respectively todtrx_creation_irreversibleanddtrx_cancelation_irreversible.
System Administration Changes
On the side of System Administration, which is meant for developers running a local version of the dfuseeos product, we introduced many changes, some of them BREAKING;
Added
- App:
mindreader-stdin— This app relays blocks and produces one-block-files (or merged-blocks-files) based onstdin, without trying to managenodeos. This is an alternative way of seeding your dfuse system if you have existing tooling for managing nodeos operations. It uses only a subset of themindreaderflags and does not stop on TERM signal until it receives an EOF signal fromstdin. - App:
booter— We’re especially excited about this new app! This app allows a boot sequence to be applied to a new chain (see the README for more information). It also brings new flags with it:--booter-bootseq— File path to the desired boot sequence (default: "./bootseq.yaml").--booter-data-dir— Booter's working directory (default: "{dfuse-data-dir}/booter").--booter-nodeos-api— Target API address to communicate with underlyingnodeos(default: “http://localhost:8888/”).--booter-private-key— Genesis private key having control over aneosioaccount to be able to create all related system accounts & contracts.--booter-vault-file— Wallet file that contains encrypted key material.
- Command: dmesh — This command was added to the
dfuseeos toolswith 2 new flags:--dsn&--service-version. This command allows you to inspectdmeshsearch peers. It currently only supports etcd (the server in which all the information is stored, see this graphic). - Command: kv — This command was added to the
dfuseeos toolswith 8 new subcommands:get,scan,prefix,account,blk,blkirr,trx,trxtrace. This command allows you to retrieve data fromtrxdbat a lower lever (e.g. only rows of data). - Command: db — This command was added to the
dfuseeos toolswith 2 new subcommands:blk,trx. This command allows you to retrieve data fromtrxdbat a higher level (e.g. assembling multiple rows into a data structure). - Command:
check trxdb-blocks— This command was added to thedfuseeos toolsand ensures linearity of irreversible blocks in storage, which is useful to know if you've missed some block ranges when doing parallel insertions into yourtrxdbstorage. This relates totrxdb-loader's job being done right. - Flag:
--mindreader-fail-on-non-contiguous-block— This flag lets you enable themindreaderContinuityChecker (default:false). Seemindreaderunder the CHANGED section below. - Flag:
--log-level-switcher-listen-addr— This flag lets you change the port to which you send your HTTP request to switch the log levels of a given component in real-time (default: ":1065") (see LOGGING.md). - Flag:
--common-ratelimiter-plugin— This flag lets you enable a rate limiter plugin (default: "null://"). - Flag:
--pprof-listen-addr— This flag enables you to change the port listening topprof(default: ":6060"). - Flag:
--search-common-dfuse-events-unrestricted— This flag lets you lift all restrictions on Indexing Limits for searching dfuse Events (max field count, max key length, max value length). - Flag:
--mindreader-discard-after-stop-num— This flag lets you discard all blocks after stop-num if it is set totrue(default:false). See themindreaderbullet below. mindreadernow writes remaining one-block files after stop-block if--mindreader-merge-and-store-directlyis set, unless--mindreader-discard-after-stop-numis set totrue. This improves the experience of a user following PARTIAL_SYNC.md steps, producing merged files up to a certain block, then switching to one-block files with a separate merge instance. This improves the parallel reprocessing experience.- The auto-backups feature will now only trigger if
os.Hostname()returns the non-empty value of one of these new flags:--node-manager-auto-backup-hostname-match--node-manager-auto-snapshot-hostname-match--mindreader-auto-backup-hostname-match--mindreader-auto-snapshot-hostname-match
- The
trxdb“deduper” now reduces storage by removing identical action data and calls the "reduper" to add this data back. EOS Mainnet saves 20%(!) off of storage because of this.
Changed
- BREAKING:
eosdbwas renamed totrxdb(the storage location where blocks & transactions are saved). Verify and adjust your command arguments and 'dfuse.yaml' file for references toeosdb. Specifically,eosdb’shealthzendpoint field is nowtrxdb’shealthzendpoint field, so you might need to adjust your monitoring. - BREAKING: The search flag
--search-common-dfuse-hooks-action-namewas renamed to--search-common-dfuse-events-action-name. - BREAKING: The
abicodecapp default value for its--abicodec-cache-base-urland--abicodec-export-cache-urlflags was changed to{dfuse-data-dir}/storage/abicache(fixing a typo inabicahe). To remain compatible, simply do a manual rename on disk before starting the updated version such asmv {dfuse-data-dir}/storage/abicahe {dfuse-data-dir}/storage/abicache. - BREAKING: The
fluxdbflag--fluxdb-enable-dev-modewas removed. Use--fluxdb-enable-live-pipeline=falseto get the same behavior as before. mindreaderContinuityChecker is not enabled by default anymore.- The value of
node-managerandmindreader’s respective--shutdown-delayflags is now also applied to commands likesnapshotorbackup, so they become "not-ready" on /healthz endpoint, allowing a load-balancer to take it out of the pool before they actually stop working. - The
dfuseeos tools check blockscommand was renamed todfuseeos tools check merged-blocks. - The
searchroarCache is now based on a normalized version of the query string (e.g.a:foo b:baris now equivalent tob:bar a:foo, etc.). Note that this will make previously-cached entries useless. - The
--node-manager-number-of-snapshots-to-keepand--mindreader-number-of-snapshots-to-keepflags now default to0, which means an unlimited number of snapshots will be kept, instead of their previous default of5which only kept the latest 5 backups. - Various startup speed improvements for the
blockmeta,bstream, andsearch-indexerapps.
Removed
- The
--search-indexer-num-blocks-before-startflag was removed fromsearch-indexer. Because of that,search-indexernow automatically resolves its start block.
Fixed
trxdbnow correctly implements "BatchGet" on most operations, giving a great(!) performance increase over previous versions.- Global flags and specifically the
--search-common-dmesh-dsnflag are now correctly parsed from the config file. search-indexerno longer overflows on negative startblocks on new chains, it fails fast instead.search-archiverelative-start-block truncation now works.search-forkresolverno longer throws a nil pointer (app was previously broken).mindreadernow has a more resilient shutdown handling (expects EOF onnodeosstdout).- The
mindreaderandnode-managerlogs fromnodeosthat go through zap now have their level parsed correctly instead of all being seen as DEBUG.