* Refactor speedy to distinuish SExpr types before/after ANF compilation phase
CHANGELOG_BEGIN
CHANGELOG_END
* remove commment/marker left in error
* make SExpr0 private to speedy
* reinstate (non-pp) print of original expression in AnfTest faiure
* avoid use of s./t. prefixes for expressions in SBuiltin; add 3 TODO markers
* inline "runtime" apply methods of SDefinitionRef into sole caller: SBCallInterface
* avoid use of t. prefix in SExpr0
* change s./t. prefix to source./target.
* add comment to summarize differences between SExpr0 and SExpr
* Changes to make certain hikari cp connection pool properties configurable via jdbc conf string
CHANGELOG_BEGIN
[JSON-API] Make certain Hikari cp connection pool properties configurable via jdbc conf string, the properties are listed below
poolSize -- specifies the max pool size for the database connection pool
minIdle -- specifies the min idle connections for database connection pool
connectionTimeout -- long value, specifies the connection timeout for database connection pool
idleTimeout -- long value, specifies the idle timeout for the database connection pool
CHANGELOG_END
* some missed changes for DbTriggerDao
* remove defaults for poolSize on JdbcConfig
* add constants for test defaults
* Wire to read pipelines (initialization and update)
* Patch StringInterning through the appropriate StorageBackend-s
* Creating a StringInterning for tests (which interns everything it sees)
changelog_begin
changelog_end
* Republish error codes generator libraries
* Additionally, add kvutils to classpath for generating KVErrors docs
CHANGELOG_BEGIN
CHANGELOG_END
* Use a new annotation (DeprecatedDocs) instead of @deprecated
* Needed for adding descriptions to the error groups docs. Needed for allowing cross-compilation
to 2.12 and 2.13, not possible due to the reflections machinery of extracting
the message from @deprecated
* Created a top level WorkflowDescriptor
* Stream descriptor in yaml
* Do not pass global config to Benchmark
* Fixed parsing template ids
* Moved descriptor to the top level
* Complete workflow
* Print descriptor
* Simplifiying
* Simplifiying
* Simplifiying
* Defining submission+benchmark workflow in a yaml file.
CHANGELOG_BEGIN
- [Integration Kit] - ledger-api-bench-tool can run a workflow consisting of the command submission phase and stream benchmark phase.
CHANGELOG_END
* Log submission elapsed time
* Change submission progress logging interval to 10000
* Changed misleading error type
* unique_parties switch
* Allow to skip submission phase
After this PR is merged write side of string-interning is activated:
* String interning table is being populated as part of usual indexing
* Data migration will populate the table from already existent data
Effect of populating string interning is not visible yet.
List of changes
* Add schema and data migrations where applicable
* Patch up sandbox-classic and parallel indexer to populate string_interning persistence, and initialize write side string interning view
* Add ledger_end_stringinterning_id to track the need for update at the view (+ aligning code)
* remove lookupLedgerEndOffsetAndSequentialId
* fix/extend unit-tests
changelog_begin
changelog_end
Following up #10827 and #10921, we drop type parameter to
KeyWithMaintainers, and use the `Versioned` wrapper introduced in
CHANGELOG_BEGIN
CHANGELOG_END
This PR has been created by a script, which is not very smart
and does not have all the context. Please do double-check that
the version prefix is correct before merging.
@remyhaemmerle-da is in charge of this release.
Commit log:
```
92181161cc LF: Abstract VersionedValue and VersionedContractInstance (#11533)
b87acab897 foldLeft, foldRight, other Foldable specializations (#11592)
92dfcdeb24 [Self-service error codes] Use error validators in ApiPackageManagementService (#11575)
6372d41d13 limit contract insertion/deletion batching on backpressure (#11589)
3588284fad Fix screenshots in daml intro 2 (#11617)
ef3fc0ef4b Cache type synonym expansion in safeToReexport (#11612)
70b2fe3534 Provide byInterface fields for fetch, exercise. (#11607)
830779ff78 LF: drop useless class com.daml.lf.transaction (#11601)
7c92cabff7 Cache type synonym expansion in isDuplicate (#11611)
cfd521ff86 Fix GHC build errors on macOS (#11560)
a7559d047e LF: Rename GenTransaction to Transaction (#11599)
3b61a1b748 LF: allow exercise command by template for inherited choice. (#11584)
af1bee7b82 precondition lf conversion (#11538)
f722cf13cd Bump extractor init timeout to 60s (#11598)
1e0a221379 Set symlink_node_modules = False (#11606)
ac19c8cff5 Synchronize in multi-participant script tests (#11594)
dd1b0347ec Restart the submission interpretation in case of a race [DPP-737] (#11579)
8d2b1b9ffe [JSON-API] Port of http-perf-test to sandbox(aka next) (#11543)
56a6db8f73 codeowners: reflect change in onwership of meiersi-da (#11505)
d4336510af fix a few typos in Daml-LF spec (#11583)
5dee88b038 Refactoring store factories [DPP-709] (#11572)
41fb2890d6 Port LedgerApiServer rate limiter interface from canton (#11577)
04cc5d7a76 Mark JSON API integration tests as flaky (#11586)
3bed7a9b4f Drop unused defaultFeatureFlags (#11580)
cbc3c8c686 Add by_interface field in Create, Fetch, & Exercise transaction nodes. (#11576)
7d68e05f7f Remove virtual choices (#11482)
9b94fa9769 [ledger-api] - metadata for invalid deduplication period [KVL-1170] (#11534)
e7eb60f087 update compat versions for 1.18.0-snapshot.20211102.8257.0.7391a3cd (#11531)
a3d04cafaf Migrate matches-docs tests to sandbox on postgres (#11573)
21c97453bd [Self-service error codes] ValueSwitch parameterized method (#11567)
6a0b84e3d0 Run Script export tests against BR (#11574)
a3195fd62d fix link to blog (#11570)
08236012af Self-service errors: generate error deprecation docs [KVL-1187] (#11539)
8d48cf669d DPP-664 Create contracts in batches (#11515)
9ef2eaf803 Remove parameter table join from SQL queries [DPP-705] (#11562)
af7f7f3f01 Fix LF coedowners (#11563)
445031114f Exclude/fix compatibility tests (#11529)
699c28f59e rotate release duty after 1.18.0-snapshot.20211102.8257.0.7391a3cd (#11522)
4d4869f06e interfaces: Improve fixed choice lookup (#11551)
ba96bf784c Add DbDtoToStringsForInterning [DPP-708] (#11557)
692dac665d LF: deprecate remaining type alias in Transaction (#11554)
7bc0f82733 [kvutils] - Extract command deduplication steps from the TransactionCommitter [KVL-1174] (#11547)
0e95ccb354 Wire LedgerEndCache to relevant StorageBackend factories [DPP-704] (#11549)
73cb42e102 LF: deprecate ensureNoCid and assertNoCid in CidContainer (#11502)
30bfee9822 Upgrade canton for conformance tests (#11550)
b84a9142d1 Extractor: replace `sandbox-classic`-based fixtures with `sandbox`-based ones (#11489)
d86fe92950 ledger-api-bench-tool - flexible stream filters [DPP-667] (#11458)
214c7ab445 Self-service errors: generate groups documentation [KVL-1186] (#11526)
60dc2869e7 Avoid unnecessarily decoding DALFs during dependency installation (#11541)
afd79b6729 Improve logging for dependency installation (#11540)
fdde5353f4 fix hoogle by pinning nixpkgs (#11548)
5e93df6b52 Full conformance test with self-service error codes on ledger-on-memory (#11524)
efaf20b042 update NOTICES file (#11546)
c7bb94be65 Modify contract key attribute age for createAndExercise to avoid contract key violation on slow running tests (#11530)
541d07c3a9 Add string-interning data access [DPP-707] (#11484)
6c9416492d Switching to composition at StorageBackend [DPP-704] (#11520)
d006ad0e8b Add string-interning view primitives [DPP-702] (#11475)
a917520851 Save the submission time in the command deduplication value [KVL-1173] (#11509)
669186f118 Add priority-queue based worker Source [DPP-717] (#11500)
2091f59aac Remove cats from kvutils (#11537)
b83af37077 Fix recache log statement (#11536)
776790e386 Add choice collisions in scala name collision checker (#11528)
2efcb21f3e Extract the setting of the time bounds on the commit context [KVL-1173] (#11516)
9bb1d6443c [ledger-api] - Return FAILED_PRECONDITION gRPC status code for invalid deduplication duration [KVL-1170] (#11483)
c098d75621 Add a --log-level flag to damlc (#11514)
afee94858f Bump rules_nixpkgs (#11517)
d6fb67c71e release 1.18.0-snapshot.20211102.8257.0.7391a3cd (#11521)
ac49d69e13 Ensure that -Werror converts parser warnings into errors (#11511)
bda35ca234 ledger-offset: Add a conversion to ByteString. (#11491)
8a9f15b8de [DPP-686][Self-service error codes] Removing default error factories (#11403)
bb37eef156 Switch script & trigger tests to postgres-backed Sadbonx (#11525)
```
Changelog:
```
- [JSON API] While updating the contract table for a query, if the DB appears to be slow,
JSON API will slow down its own inserts and deletes at some point rather than construct
ever-larger INSERT and DELETE batch commands.
See `issue #11589 <https://github.com/digital-asset/daml/pull/11589>`__.
[Ledger API] Retry the interpretation of a command in case of a race
with other transactions. This fix drastically reduces the likelihood of the error
"Could not find a suitable ledger time after 0 retries".
[ledger-api] - Return max_deduplication_duration as part of the metadata sent with the gRPC status for commands rejected because of invalid deduplication periods
- [Integration Kit] - ledger-api-bench-tool - added flexible party and template filters for transactions, transaction trees and active contract streams
[ledger-api] - Return FAILED_PRECONDITION gRPC status code, instead of INVALID_ARGUMENT, for an invalid command deduplication duration
```
CHANGELOG_BEGIN
CHANGELOG_END
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
* FoldableContravariant, a mapping for Foldable instances
* use FoldableContravariant to specialize several ImmArraySeq, NonEmpty methods
* folding specializations for ImmArray
* a few docs for FoldableContravariant
* specializations for FrontStack
* no changelog
CHANGELOG_BEGIN
CHANGELOG_END
* Use error validators in ApiPackageManagementService
CHANGELOG_BEGIN
CHANGELOG_END
* Exclude PackageManagementServiceIT from compatibility tests after 1.17
CHANGELOG_BEGIN
CHANGELOG_END
* move contract insertion/deletion batching to separate function
* limit contract insertion/deletion batching on backpressure
* add changelog
CHANGELOG_BEGIN
- [JSON API] While updating the contract table for a query, if the DB appears to be slow,
JSON API will slow down its own inserts and deletes at some point rather than construct
ever-larger INSERT and DELETE batch commands.
See `issue #11589 <https://github.com/digital-asset/daml/pull/11589>`__.
CHANGELOG_END
Not really significant but seems better to be on the safe side and
keep this consistent with isDuplicate than try to do something
different here.
changelog_begin
changelog_end
This speeds up data-deps generation from ~30s to < 10s. It’s not quite
where we could be (9s vs 6-7s) but given that this is much simpler
than trying to make alpha equivalence expand lazy and we have more
options for speeding this up so this seems good enough.
changelog_begin
changelog_end
* LF: Rename GenTransaction to Transaction
Following up #10827 and #10921 that drop type parameters from GenNode,
we rename GenTransaction to Transaction.
CHANGELOG_BEGIN
CHANGELOG_END
* fix
* a bit more fixes
* interfaces: lf conversion of preconditions
This adds the LF conversion of preconditions from the desugared GHC code
to Daml LF for preconditions. This depends on the corresponding patch of
the GHC fork.
CHANGELOG_BEGIN
CHANGELOG_END
* pin linux stackage snapshot
* added a test
CHANGELOG_BEGIN
CHANGELOG_END
* pinned linux stackage snapshot
CHANGELOG_BEGIN
CHANGELOG_END
* additional InterfacePrecondition test
this checks that that conjunction of all preconditions of intererfaces
and templates is checked.
CHANGELOG_BEGIN
CHANGELOG_END
* pin stackage snapshot
* pin windows stackage snapshot
* update compile.yml (again)
* pin linux stack snapshot
* fix InterfacePrecondition test
* pin windows stackage
By default `yarn_install` will install `node_modules` in the repository.
The advantage is that editor tooling and the like can use this
`node_modules` tree without needing to duplicate it between Bazel and
tooling. The downside is that Bazel has less strict control over this
tree. In particular, on refetch it can happen that old files remain in
the tree and confuse the build going forward.
For example, we have occasionally observed errors of the form
```
warning Cannot find a suitable global folder. Tried these: "/usr/local, /does-not-exist/.yarn"
ERROR The following files have the same case insensitive path, which isn't supported by the VSIX format:
- extension/node_modules/form-data/Readme.md
- extension/node_modules/form-data/README.md
```
Setting this flag to `False` means that `node_modules` will instead be
installed under Bazel's output base and Bazel can make sure to clear the
tree before a refetch.
changelog_begin
changelog_end
Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
* Synchronize in multi-participant script tests
This hopefully fixes the flakiness where the party allocation is not
yet propagated to the other participant.
changelog_begin
changelog_end
* .
changelog_begin
changelog_end
Command interpretation happens in two stages:
1. Daml interpretation
2. Determine a suitable ledger effective time
The race can happen in the following situation:
In 1) a contract key K is resolved to contract C1.
Between 1) and 2), a transaction is stored on the participant that
archives C1, but creates C2 with the same contract key K.
In 2) the ledger api server tries to lookup the ledger effective time
for all input contracts to the transaction. If it doesn't find one of
the input contracts at all, it can conclude that the transaction
wouldn't be accepted by the ledger anyway.
The behavior before this patch was to simply abort command
interpretation and return a rather cryptic error to the user.
With this patch, the ledger api server restarts the command
interpretation.
If the "missing contract" was an explicit input to the
command (e.g. as the contract for the exercise or as an argument to an
exercise), then this command will be rejected because the contract is
now archived.
If the contract ID was determined via a contract key lookup, then
restarting the interpretation will result in either a negative lookup or
a different contract ID for the new contract under this contract key.
CHANGELOG_BEGIN
[Ledger API] Retry the interpretation of a command in case of a race
with other transactions. This fix drastically reduces the likelihood of the error
"Could not find a suitable ledger time after 0 retries".
CHANGELOG_END
* Changes to migrate http-perf-test back to sandbox with more parallelization for single user scenarios.
Increased parallelization is due to the architectural changes in sandbox where it uses
a tick every 100 millis to trigger stuff/data to be available on the read side
CHANGELOG_BEGIN
CHANGELOG_END
* Parallelization fixes for scenarios ExerciseCommand and SyncQueryNewAcs scenarios
* refactor sequential scenario run, make query part of SyncQueryVariableAcs run with single user
* Port LedgerApiServer/ApiSubmissionService rate limiter interface from canton
Also includes ability to specify `AsyncCommitMode` indexer config (to get around
`DbType` being platform-package private).
changelog_begin
changelog_end
* Review feedback
* Review feedback - rely on DbType becoming public in #11572
* Review feedback including unit test
* Add by_interface field in tx nodes.
This PR adds an optional `by_interface` field in the Create, Fetch,
and Exercise nodes, as part of #10915. It also updates TransactionCoder
to support these fields.
Setting these fields (in the LF interpreter) is left to a separate PR.
changelog_begin
changelog_end
* update security-evidence.md
* Add version checks in TransactionCoder
* Remove virtual choices
* Remove choices without a body in 'interface' definition
* Remove choices in 'template ... implements' section
part of #11372
changelog_begin
changelog_end
* Remove virtual choices cont.
Switch uses of virtual choices to fixed choice with method implementation
* update snapshot after pin on windows
* Disable failing interface tests with TODO #10810
CHANGELOG_BEGIN
[ledger-api] - Return max_deduplication_duration as part of the metadata sent with the gRPC status for commands rejected because of invalid deduplication periods
CHANGELOG_END
* Migrate matches-docs tests to sandbox on postgres
We’ve seen timeouts on party allocation which are likely caused by the
h2 issues that keep popping up. Switching to postgres should hopefully
solve that.
We need to wrap postgres to set LOCALE_ARCHIVE for this to work in
builds. We already pass it through in tests which is why it works fine there.
changelog_begin
changelog_end
* .
changelog_begin
changelog_end
* Update nix/bazel.nix
Co-authored-by: Andreas Herrmann <42969706+aherrmann-da@users.noreply.github.com>
* disable on Windows
changelog_begin
changelog_end
* .
changelog_begin
changelog_end
* .
changelog_begin
changelog_end
Co-authored-by: Andreas Herrmann <42969706+aherrmann-da@users.noreply.github.com>
I'm not entirely sure that this is the intended link (v. say
`https://daml.com/blog`), but the current one is dead so presumably this
is better.
CHANGELOG_BEGIN
CHANGELOG_END
* Render error deprecation in generated docs
CHANGELOG_BEGIN
CHANGELOG_END
* Build export-error-codes-json-app with Scala 2.13 only
* Generate docs only with Scala 2.13
* Generate daml-on-sql docs only with Scala 2.13
* Split the error codes JSON generator off from the error lib
* Build all docs only with Scala 2.13
* Create contracts in batches through a factory contract
changelog_begin
changelog_end
* Use batching on protobuf level
* Revert needless changes
* Address review comments