Moved start up logic of the various node components out of their c’tors and into “start” methods, which are called from Node.start(). The components themselves are created in the Node’s c’tor with minimal initialisation logic.
Certain things are not immediately available at construction time, which are instead given to the components at start time in an orderly fashion:
* Certs from the node’s key store and trust store
* The network parameters, and thus access to things like maxMessageSize and the contracts whitelist
* A running database - several components were doing database stuff their c’tors
* The node’s NodeInfo, and thus access to things like identities and addresses
The messaging service couldn’t be created in the Node’s c’tor due to initialisation issues with MockNode. This should be fixed in a later commit.
The loading of all node infos in the start method was unnecessary, both for the changePublisher and _loadDBSuccess, and the setting of _registrationFuture was incorrect.
* MSSQL support
* changes per reviewer's comments; doc
* clean up
* CONTRIBUTORS.md
* minor change in comment
* another minor change in comment
* minor formatting
* Comments formatting per recommend style; contributors in alphabet order
* more comment formatting per coding style
* Change MSSQL to SQLServer in codes and comments
* Change MSSQL to SQLServer in doc
* Use generateSequence to build repeats of ?,?,...?
This reverts commit 935c4d2. To make the test compile two internal fields in node where made public. It seems that the "internal" modifier does not see integration tests as part of the same module.
* ENT-2261: Skeleton of parameterized test.
* ENT-2261: Programmatically compose rules and install them.
* ENT-2261: Separate counter decrement from termination.
* ENT-2261: Extend coverage to "executePersistCheckpoint".
* ENT-2261: Extend coverage to "ClientMessageImpl.acknowledge()"
* ENT-2261: Extend coverage to "RPCServer.context()"
* ENT-2261: Extend coverage to "ActionExecutorImpl.executeReleaseSoftLocks()" (unfinished)
* ENT-2261: Re-structure test data slightly.
"executeReleaseSoftLocks" seems to be failing.
* ENT-2261: Correct expectations in terms of number of transactions that ought to be produced.
Also use "eventually" construct to cater for node restart which may take some time.
* ENT-2261: Incorporate feedback from @exFalso and use polling approach.
* ENT-2261: Additional debug output.
* ENT-2261: Further expand coverage to RPCServer.context()
Also tighten-up assertion checks.
* ENT-2261: Further expand coverage to ActionExecutorImpl.executeCreateTransaction()
* ENT-2261: Further expand coverage to ActionExecutorImpl.executeRemoveCheckpoint()
* ENT-2261: Further expand coverage to ActionExecutorImpl.executePersistDeduplicationIds() and ActionExecutorImpl.executeCommitTransaction()
* ENT-2261: Revert non-material change.
They're prone to cause flaky tests due to the "allocated" ports already being taken by the system when eventually needed. Replaced usages with PortAllocation.Incremental.
Affected unit tests made into integration tests to avoid any issues in the future when unit tests are made to run in parallel.
Database table NODE_ATTACHMENTS_CONTRACT_CLASS_NAME in v3.0 was changed to NODE_ATTCHMENTS_CONTRACTS in v3.1 and then finally NODE_ATTACHMENTS_CONTRACTS on current master. Users may omit the upgrade note and run into errors. After the change the node will not start if the new table name is not found and any other older ones is found.