Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove virtual choices #11482

Merged
merged 4 commits into from
Nov 8, 2021
Merged

Remove virtual choices #11482

merged 4 commits into from
Nov 8, 2021

Conversation

akrmn
Copy link
Contributor

@akrmn akrmn commented Nov 1, 2021

  • Remove choices without a body in 'interface' definition
  • Remove choices in 'template ... implements' section

part of #11372

changelog_begin
changelog_end

Pull Request Checklist

  • Read and understand the contribution guidelines
  • Include appropriate tests
  • Set a descriptive title and thorough description
  • Add a reference to the issue this PR will solve, if appropriate
  • Include changelog additions in one or more commit message bodies between the CHANGELOG_BEGIN and CHANGELOG_END tags
  • Normal production system change, include purpose of change in description
  • If you mean to change the status of a component, please make sure you keep the Component Status page up to date.

NOTE: CI is not automatically run on non-members pull-requests for security
reasons. The reviewer will have to comment with /AzurePipelines run to
trigger the build.

@akrmn akrmn force-pushed the remove-virtual-choices branch 5 times, most recently from 0639cf2 to 3264132 Compare November 3, 2021 09:19
@akrmn akrmn marked this pull request as ready for review November 3, 2021 09:34
@akrmn akrmn requested a review from a user November 3, 2021 09:34
Copy link
Collaborator

@remyhaemmerle-da remyhaemmerle-da left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Scala/proto changes looks good.

@akrmn
Copy link
Contributor Author

akrmn commented Nov 3, 2021

thanks @remyhaemmerle-da!

@akrmn akrmn force-pushed the remove-virtual-choices branch from f48e149 to 48fed5c Compare November 3, 2021 09:52
build.ps1 Outdated Show resolved Hide resolved
@akrmn akrmn force-pushed the remove-virtual-choices branch from 1edf59a to 93dd4c7 Compare November 3, 2021 10:49
@garyverhaegen-da garyverhaegen-da self-requested a review November 3, 2021 11:02
@garyverhaegen-da garyverhaegen-da dismissed their stale review November 3, 2021 11:02

Offedning change removed. (Thanks!)

Copy link
Contributor

@cocreature cocreature left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, looks good!

@akrmn akrmn force-pushed the remove-virtual-choices branch 2 times, most recently from 1e23265 to b799c40 Compare November 3, 2021 11:59
akrmn added 2 commits November 3, 2021 13:32
* Remove choices without a body in 'interface' definition
* Remove choices in 'template ... implements' section

part of #11372

changelog_begin
changelog_end
Switch uses of virtual choices to fixed choice with method implementation
@akrmn akrmn force-pushed the remove-virtual-choices branch from b799c40 to 2340a19 Compare November 3, 2021 13:00
@akrmn akrmn force-pushed the remove-virtual-choices branch from 2340a19 to 148d7ae Compare November 3, 2021 13:07
@akrmn akrmn linked an issue Nov 3, 2021 that may be closed by this pull request
@akrmn
Copy link
Contributor Author

akrmn commented Nov 3, 2021

I think I'm missing something, bazel test //language-support/ts/codegen/tests:build-and-lint-test fails with

  ● interfaces

    TypeError: Cannot read property 'template' of undefined

      at Ledger.<anonymous> (../../../../language-support/ts/daml-ledger/index.ts:878:26)
      at step (../node_modules/@daml/ledger/index.js:76:23)
      at Object.next (../node_modules/@daml/ledger/index.js:57:53)
      at ../node_modules/@daml/ledger/index.js:51:71
      at Object.<anonymous>.__awaiter (../node_modules/@daml/ledger/index.js:47:12)
      at Ledger.Object.<anonymous>.Ledger.exercise (../node_modules/@daml/ledger/index.js:760:16)
      at src/__tests__/test.ts:348:55
      at step (src/__tests__/test.ts:46:23)
      at Object.next (src/__tests__/test.ts:27:53)

Similarly, bazel test //daml-script/test:test_test_suite_src_com_digitalasset_daml_lf_engine_script_test_FuncWallClockIT.scala fails with

 - Received request for ledger identity: GetLedgerIdentityRequest()
  - should succeed *** FAILED *** (544 milliseconds)
    com.daml.lf.engine.script.ScriptF$FailedCmd: Command submit failed: INVALID_ARGUMENT: Disputed: definition ChoiceDefRef(db848fc5342300b19eca7af68a02ace4f041603fbb20d16dbef30e5abe2d578c:TestInterfaces:Asset,Noop) not found even after caller provided new set of packages

I'm not familiar with this part of the codebase, so perhaps someone else could help me? It seems like @Robin-da has worked on the typescript test recently, and @cocreature on the scala one.

@cocreature
Copy link
Contributor

The thing the two have in common is that they both try to exercise a choice via the ledger API. I suspect https://github.com/digital-asset/daml/pull/11013/files might not work for fixed choices and only for virtual choices at this point. @remyhaemmerle-da does that sound right?

@remyhaemmerle-da
Copy link
Collaborator

The thing the two have in common is that they both try to exercise a choice via the ledger API. I suspect https://github.com/digital-asset/daml/pull/11013/files might not work for fixed choices and only for virtual choices at this point. @remyhaemmerle-da does that sound right?

For now, fixed choices can be called only through interface id. The more I think about, the more I think we should keep it like that. We should discuss about that in the next "interface" meeting.

@cocreature
Copy link
Contributor

For now, fixed choices can be called only through interface id. The more I think about, the more I think we should keep it like that. We should discuss about that in the next "interface" meeting.

are you sure even that case works? Looking at the daml script testcase

let cidToken1 = toTokenContractId cidAsset1
we do call it through the interface id afaict and it still fails.

@remyhaemmerle-da
Copy link
Collaborator

are you sure even that case works? Looking at the daml script testcase

theoretically it should work. But I probably messed up somewhere. let's me take a look.

@cocreature
Copy link
Contributor

The error is

    com.daml.lf.engine.script.ScriptF$FailedCmd: Command submit failed: INVALID_ARGUMENT: Disputed: definition ChoiceDefRef(db848fc5342300b19eca7af68a02ace4f041603fbb20d16dbef30e5abe2d578c:TestInterfaces:Asset,Noop) not found even after caller provided new set of packages

So it looks like it is looking at the concrete template rather than the interface and it looks like we might be blowing up on a lookup on the compiled packages rather than in the preprocessor.

@akrmn
Copy link
Contributor Author

akrmn commented Nov 4, 2021

fixed choices can be called only through interface id

Looking at the daml script testcase

let cidToken1 = toTokenContractId cidAsset1
we do call it through the interface id afaict and it still fails.

Note that toContractId just coerces ContractId Implements -> ContractId Interface. I'm not sure if @remyhaemmerle-da's comment "only through interface id" meant that the interface id should be a different value.

@cocreature
Copy link
Contributor

Note that toContractId just coerces ContractId Implements -> ContractId Interface. I'm not sure if @remyhaemmerle-da's comment meant that they are different ids.

What @remyhaemmerle-da is referring to is what we pass when sending the command on the ledger API: We need to fill in the templateId field in the command which can either be the template id or the interface id. Daml Scirpt makes the choice based on the type so the coercion here does accomplish what we want.

@akrmn
Copy link
Contributor Author

akrmn commented Nov 4, 2021

Gotcha! I wasn't sure since e.g. in Typescript it seems we mostly (only?) use structural typing.

@cocreature
Copy link
Contributor

Gotcha! I wasn't sure since e.g. in Typescript it seems we mostly (only?) use structural typing.

haven’t quite checked that example yet, daml script is easier to debug (for me at least) so I was looking into getting that working first and hopefully that fixes both issues :)

@remyhaemmerle-da
Copy link
Collaborator

remyhaemmerle-da commented Nov 4, 2021

I figured out the problem with the script:
KV calls the engine twice, once for interpreting and once for validating the transaction.
The former succeeds, but the later does not, because we never consider it.

Should we discuss about that in today meeting.

@remyhaemmerle-da
Copy link
Collaborator

remyhaemmerle-da commented Nov 5, 2021

@moisesackerman-da for now I think you should disable those failing test, and adding a TODO like

// TODO https://github.com/digital-asset/daml/issues/10810
// Renable test 

and merge as soon the CI is green.

@cocreature
Copy link
Contributor

I agree with @remyhaemmerle-da, let’s merge this and disable the tests for now.

@akrmn akrmn force-pushed the remove-virtual-choices branch from d338add to e07186d Compare November 8, 2021 10:23
controller owner
do
pure ()
let splitImpl = \splitAmount -> do
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So this separation of implementation and choice body is something we always have to do now, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

exactly! As @cocreature pointed out in the issue this PR should fix, we can later add virtual choices again as syntactic sugar, but internally they would still be fixed choices with interface methods as the implementation.

@akrmn
Copy link
Contributor Author

akrmn commented Nov 8, 2021

not sure what made the mac tests fail, they run fine on my machine. Not sure about the windows failure either, //daml-script/test:test_6. I'll start another build 🤷

@akrmn
Copy link
Contributor Author

akrmn commented Nov 8, 2021

/azp run

@azure-pipelines
Copy link
Contributor

Azure Pipelines successfully started running 1 pipeline(s).

@cocreature
Copy link
Contributor

/azp run

note that /azp run reruns everything whereas rerun failed in the checks tab on GH only reruns failed jobs. Usually the latter is preferrable.

@akrmn
Copy link
Contributor Author

akrmn commented Nov 8, 2021

oh! thanks for the tip @cocreature, still getting used to github+azure coming from jira+jenkins

@akrmn akrmn merged commit 7d68e05 into main Nov 8, 2021
@akrmn akrmn deleted the remove-virtual-choices branch November 8, 2021 16:05
azure-pipelines bot pushed a commit that referenced this pull request Nov 10, 2021
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:
```
9218116 LF: Abstract VersionedValue and VersionedContractInstance (#11533)
b87acab foldLeft, foldRight, other Foldable specializations (#11592)
92dfcde [Self-service error codes] Use error validators in ApiPackageManagementService (#11575)
6372d41 limit contract insertion/deletion batching on backpressure (#11589)
3588284 Fix screenshots in daml intro 2 (#11617)
ef3fc0e Cache type synonym expansion in safeToReexport (#11612)
70b2fe3 Provide byInterface fields for fetch, exercise. (#11607)
830779f LF: drop useless class com.daml.lf.transaction (#11601)
7c92cab Cache type synonym expansion in isDuplicate (#11611)
cfd521f Fix GHC build errors on macOS (#11560)
a7559d0 LF: Rename GenTransaction to Transaction (#11599)
3b61a1b LF: allow exercise command by template for inherited choice. (#11584)
af1bee7 precondition lf conversion (#11538)
f722cf1 Bump extractor init timeout to 60s (#11598)
1e0a221 Set symlink_node_modules = False (#11606)
ac19c8c Synchronize in multi-participant script tests (#11594)
dd1b034 Restart the submission interpretation in case of a race [DPP-737] (#11579)
8d2b1b9 [JSON-API] Port of http-perf-test to sandbox(aka next) (#11543)
56a6db8 codeowners: reflect change in onwership of meiersi-da (#11505)
d433651 fix a few typos in Daml-LF spec (#11583)
5dee88b Refactoring store factories [DPP-709] (#11572)
41fb289 Port LedgerApiServer rate limiter interface from canton (#11577)
04cc5d7 Mark JSON API integration tests as flaky (#11586)
3bed7a9 Drop unused defaultFeatureFlags (#11580)
cbc3c8c Add by_interface field in Create, Fetch, & Exercise transaction nodes. (#11576)
7d68e05 Remove virtual choices (#11482)
9b94fa9 [ledger-api] - metadata for invalid deduplication period [KVL-1170] (#11534)
e7eb60f update compat versions for 1.18.0-snapshot.20211102.8257.0.7391a3cd (#11531)
a3d04ca Migrate matches-docs tests to sandbox on postgres (#11573)
21c9745 [Self-service error codes] ValueSwitch parameterized method (#11567)
6a0b84e Run Script export tests against BR (#11574)
a3195fd fix link to blog (#11570)
0823601 Self-service errors: generate error deprecation docs [KVL-1187] (#11539)
8d48cf6 DPP-664 Create contracts in batches (#11515)
9ef2eaf Remove parameter table join from SQL queries [DPP-705] (#11562)
af7f7f3 Fix LF coedowners (#11563)
4450311 Exclude/fix compatibility tests (#11529)
699c28f rotate release duty after 1.18.0-snapshot.20211102.8257.0.7391a3cd (#11522)
4d4869f interfaces: Improve fixed choice lookup (#11551)
ba96bf7 Add DbDtoToStringsForInterning [DPP-708] (#11557)
692dac6 LF: deprecate remaining type alias in Transaction (#11554)
7bc0f82 [kvutils] - Extract command deduplication steps from the TransactionCommitter [KVL-1174] (#11547)
0e95ccb Wire LedgerEndCache to relevant StorageBackend factories [DPP-704] (#11549)
73cb42e LF: deprecate ensureNoCid and assertNoCid in CidContainer (#11502)
30bfee9 Upgrade canton for conformance tests (#11550)
b84a914 Extractor: replace `sandbox-classic`-based fixtures with `sandbox`-based ones (#11489)
d86fe92 ledger-api-bench-tool - flexible stream filters [DPP-667] (#11458)
214c7ab Self-service errors: generate groups documentation [KVL-1186] (#11526)
60dc286 Avoid unnecessarily decoding DALFs during dependency installation (#11541)
afd79b6 Improve logging for dependency installation (#11540)
fdde535 fix hoogle by pinning nixpkgs (#11548)
5e93df6 Full conformance test with self-service error codes on ledger-on-memory (#11524)
efaf20b update NOTICES file (#11546)
c7bb94b Modify contract key attribute age for createAndExercise to avoid contract key violation on slow running tests (#11530)
541d07c Add string-interning data access [DPP-707] (#11484)
6c94164 Switching to composition at StorageBackend [DPP-704] (#11520)
d006ad0 Add string-interning view primitives [DPP-702] (#11475)
a917520 Save the submission time in the command deduplication value [KVL-1173] (#11509)
669186f Add priority-queue based worker Source [DPP-717] (#11500)
2091f59 Remove cats from kvutils (#11537)
b83af37 Fix recache log statement (#11536)
776790e Add choice collisions in scala name collision checker (#11528)
2efcb21 Extract the setting of the time bounds on the commit context [KVL-1173] (#11516)
9bb1d64 [ledger-api] - Return FAILED_PRECONDITION gRPC status code for invalid deduplication duration [KVL-1170] (#11483)
c098d75 Add a --log-level flag to damlc (#11514)
afee948 Bump rules_nixpkgs (#11517)
d6fb67c release 1.18.0-snapshot.20211102.8257.0.7391a3cd (#11521)
ac49d69 Ensure that -Werror converts parser warnings into errors (#11511)
bda35ca ledger-offset: Add a conversion to ByteString. (#11491)
8a9f15b [DPP-686][Self-service error codes] Removing default error factories (#11403)
bb37eef 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
remyhaemmerle-da pushed a commit that referenced this pull request Nov 10, 2021
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:
```
9218116 LF: Abstract VersionedValue and VersionedContractInstance (#11533)
b87acab foldLeft, foldRight, other Foldable specializations (#11592)
92dfcde [Self-service error codes] Use error validators in ApiPackageManagementService (#11575)
6372d41 limit contract insertion/deletion batching on backpressure (#11589)
3588284 Fix screenshots in daml intro 2 (#11617)
ef3fc0e Cache type synonym expansion in safeToReexport (#11612)
70b2fe3 Provide byInterface fields for fetch, exercise. (#11607)
830779f LF: drop useless class com.daml.lf.transaction (#11601)
7c92cab Cache type synonym expansion in isDuplicate (#11611)
cfd521f Fix GHC build errors on macOS (#11560)
a7559d0 LF: Rename GenTransaction to Transaction (#11599)
3b61a1b LF: allow exercise command by template for inherited choice. (#11584)
af1bee7 precondition lf conversion (#11538)
f722cf1 Bump extractor init timeout to 60s (#11598)
1e0a221 Set symlink_node_modules = False (#11606)
ac19c8c Synchronize in multi-participant script tests (#11594)
dd1b034 Restart the submission interpretation in case of a race [DPP-737] (#11579)
8d2b1b9 [JSON-API] Port of http-perf-test to sandbox(aka next) (#11543)
56a6db8 codeowners: reflect change in onwership of meiersi-da (#11505)
d433651 fix a few typos in Daml-LF spec (#11583)
5dee88b Refactoring store factories [DPP-709] (#11572)
41fb289 Port LedgerApiServer rate limiter interface from canton (#11577)
04cc5d7 Mark JSON API integration tests as flaky (#11586)
3bed7a9 Drop unused defaultFeatureFlags (#11580)
cbc3c8c Add by_interface field in Create, Fetch, & Exercise transaction nodes. (#11576)
7d68e05 Remove virtual choices (#11482)
9b94fa9 [ledger-api] - metadata for invalid deduplication period [KVL-1170] (#11534)
e7eb60f update compat versions for 1.18.0-snapshot.20211102.8257.0.7391a3cd (#11531)
a3d04ca Migrate matches-docs tests to sandbox on postgres (#11573)
21c9745 [Self-service error codes] ValueSwitch parameterized method (#11567)
6a0b84e Run Script export tests against BR (#11574)
a3195fd fix link to blog (#11570)
0823601 Self-service errors: generate error deprecation docs [KVL-1187] (#11539)
8d48cf6 DPP-664 Create contracts in batches (#11515)
9ef2eaf Remove parameter table join from SQL queries [DPP-705] (#11562)
af7f7f3 Fix LF coedowners (#11563)
4450311 Exclude/fix compatibility tests (#11529)
699c28f rotate release duty after 1.18.0-snapshot.20211102.8257.0.7391a3cd (#11522)
4d4869f interfaces: Improve fixed choice lookup (#11551)
ba96bf7 Add DbDtoToStringsForInterning [DPP-708] (#11557)
692dac6 LF: deprecate remaining type alias in Transaction (#11554)
7bc0f82 [kvutils] - Extract command deduplication steps from the TransactionCommitter [KVL-1174] (#11547)
0e95ccb Wire LedgerEndCache to relevant StorageBackend factories [DPP-704] (#11549)
73cb42e LF: deprecate ensureNoCid and assertNoCid in CidContainer (#11502)
30bfee9 Upgrade canton for conformance tests (#11550)
b84a914 Extractor: replace `sandbox-classic`-based fixtures with `sandbox`-based ones (#11489)
d86fe92 ledger-api-bench-tool - flexible stream filters [DPP-667] (#11458)
214c7ab Self-service errors: generate groups documentation [KVL-1186] (#11526)
60dc286 Avoid unnecessarily decoding DALFs during dependency installation (#11541)
afd79b6 Improve logging for dependency installation (#11540)
fdde535 fix hoogle by pinning nixpkgs (#11548)
5e93df6 Full conformance test with self-service error codes on ledger-on-memory (#11524)
efaf20b update NOTICES file (#11546)
c7bb94b Modify contract key attribute age for createAndExercise to avoid contract key violation on slow running tests (#11530)
541d07c Add string-interning data access [DPP-707] (#11484)
6c94164 Switching to composition at StorageBackend [DPP-704] (#11520)
d006ad0 Add string-interning view primitives [DPP-702] (#11475)
a917520 Save the submission time in the command deduplication value [KVL-1173] (#11509)
669186f Add priority-queue based worker Source [DPP-717] (#11500)
2091f59 Remove cats from kvutils (#11537)
b83af37 Fix recache log statement (#11536)
776790e Add choice collisions in scala name collision checker (#11528)
2efcb21 Extract the setting of the time bounds on the commit context [KVL-1173] (#11516)
9bb1d64 [ledger-api] - Return FAILED_PRECONDITION gRPC status code for invalid deduplication duration [KVL-1170] (#11483)
c098d75 Add a --log-level flag to damlc (#11514)
afee948 Bump rules_nixpkgs (#11517)
d6fb67c release 1.18.0-snapshot.20211102.8257.0.7391a3cd (#11521)
ac49d69 Ensure that -Werror converts parser warnings into errors (#11511)
bda35ca ledger-offset: Add a conversion to ByteString. (#11491)
8a9f15b [DPP-686][Self-service error codes] Removing default error factories (#11403)
bb37eef 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>
stefanobaghino-da added a commit that referenced this pull request Nov 11, 2021
changelog_begin
changelog_end

CHANGELOG ENTRIES

```
[TS-Bindings] Ws multiplexing for stream queries is disabled by default as we investigate issues
of intermittent websocket closures.

* There is now an Early Access Helm chart to start all of the Connect components on a Kubernetes cluster.

[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
- [Integration Kit] - ledger-api-bench-tool can run a workflow consisting of the command submission phase and stream benchmark phase.
- [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
```

COMMITS

```
d938a44 ws multiplexing is disabled by default as we investigate issues with intermittent web socket closures (#11657)
0f0a865 Make string interning available at ingestion [DPP-711] (#11645)
7296ba4 Move closureConvert and validate compiler phases into separate files. (#11656)
87f282c interfaces: Preserve/provide by_interface data for create actions. (#11639)
a9de728 Update rules_scala (#11616)
f468969 document helm chart (#11648)
55d4a03 Release 1.11.3 snapshot (#11652)
2dd5289 different types for different speedy phases (#11605)
44d604d Release new 1.18 snapshot (#11642)
e69a871 [JSON-API] Configurable Hikari connection pool props  (#11621)
cb7099b release 1.11.3 snapshot (#11628)
fd61d0b String interning read integration [DPP-706] (#11638)
c5a1f0b Republish error codes generator lib (#11633)
a6f745f Add two phase retrieval merge function [DPP-718] (#11571)
743ee46 ledger-api-bench-tool - command submission and stream reading complete workflow [DPP-668] (#11544)
f8f8807 Activate interning write side [DPP-710] (#11614)
93c07f4 Extend synonym expansion caching in data-dependencies (#11629)
cf445b2 Skip platform independence tests on release PRs (#11631)
b8f384e LF: Drop typeparameter from KeyWithMaintainers (#11625)
d0c313d Share dependencyInfo in data-dependencies (#11620)
4eed1d9 release 1.18.0-snapshot.20211109.8328.0.92181161 (#11623)
9218116 LF: Abstract VersionedValue and VersionedContractInstance (#11533)
b87acab foldLeft, foldRight, other Foldable specializations (#11592)
92dfcde [Self-service error codes] Use error validators in ApiPackageManagementService (#11575)
6372d41 limit contract insertion/deletion batching on backpressure (#11589)
3588284 Fix screenshots in daml intro 2 (#11617)
ef3fc0e Cache type synonym expansion in safeToReexport (#11612)
70b2fe3 Provide byInterface fields for fetch, exercise. (#11607)
830779f LF: drop useless class com.daml.lf.transaction (#11601)
7c92cab Cache type synonym expansion in isDuplicate (#11611)
cfd521f Fix GHC build errors on macOS (#11560)
a7559d0 LF: Rename GenTransaction to Transaction (#11599)
3b61a1b LF: allow exercise command by template for inherited choice. (#11584)
af1bee7 precondition lf conversion (#11538)
f722cf1 Bump extractor init timeout to 60s (#11598)
1e0a221 Set symlink_node_modules = False (#11606)
ac19c8c Synchronize in multi-participant script tests (#11594)
dd1b034 Restart the submission interpretation in case of a race [DPP-737] (#11579)
8d2b1b9 [JSON-API] Port of http-perf-test to sandbox(aka next) (#11543)
56a6db8 codeowners: reflect change in onwership of meiersi-da (#11505)
d433651 fix a few typos in Daml-LF spec (#11583)
5dee88b Refactoring store factories [DPP-709] (#11572)
41fb289 Port LedgerApiServer rate limiter interface from canton (#11577)
04cc5d7 Mark JSON API integration tests as flaky (#11586)
3bed7a9 Drop unused defaultFeatureFlags (#11580)
cbc3c8c Add by_interface field in Create, Fetch, & Exercise transaction nodes. (#11576)
7d68e05 Remove virtual choices (#11482)
9b94fa9 [ledger-api] - metadata for invalid deduplication period [KVL-1170] (#11534)
e7eb60f update compat versions for 1.18.0-snapshot.20211102.8257.0.7391a3cd (#11531)
a3d04ca Migrate matches-docs tests to sandbox on postgres (#11573)
21c9745 [Self-service error codes] ValueSwitch parameterized method (#11567)
6a0b84e Run Script export tests against BR (#11574)
a3195fd fix link to blog (#11570)
0823601 Self-service errors: generate error deprecation docs [KVL-1187] (#11539)
8d48cf6 DPP-664 Create contracts in batches (#11515)
9ef2eaf Remove parameter table join from SQL queries [DPP-705] (#11562)
af7f7f3 Fix LF coedowners (#11563)
4450311 Exclude/fix compatibility tests (#11529)
699c28f rotate release duty after 1.18.0-snapshot.20211102.8257.0.7391a3cd (#11522)
4d4869f interfaces: Improve fixed choice lookup (#11551)
ba96bf7 Add DbDtoToStringsForInterning [DPP-708] (#11557)
692dac6 LF: deprecate remaining type alias in Transaction (#11554)
7bc0f82 [kvutils] - Extract command deduplication steps from the TransactionCommitter [KVL-1174] (#11547)
0e95ccb Wire LedgerEndCache to relevant StorageBackend factories [DPP-704] (#11549)
73cb42e LF: deprecate ensureNoCid and assertNoCid in CidContainer (#11502)
30bfee9 Upgrade canton for conformance tests (#11550)
b84a914 Extractor: replace `sandbox-classic`-based fixtures with `sandbox`-based ones (#11489)
d86fe92 ledger-api-bench-tool - flexible stream filters [DPP-667] (#11458)
214c7ab Self-service errors: generate groups documentation [KVL-1186] (#11526)
60dc286 Avoid unnecessarily decoding DALFs during dependency installation (#11541)
afd79b6 Improve logging for dependency installation (#11540)
fdde535 fix hoogle by pinning nixpkgs (#11548)
5e93df6 Full conformance test with self-service error codes on ledger-on-memory (#11524)
efaf20b update NOTICES file (#11546)
c7bb94b Modify contract key attribute age for createAndExercise to avoid contract key violation on slow running tests (#11530)
541d07c Add string-interning data access [DPP-707] (#11484)
6c94164 Switching to composition at StorageBackend [DPP-704] (#11520)
d006ad0 Add string-interning view primitives [DPP-702] (#11475)
a917520 Save the submission time in the command deduplication value [KVL-1173] (#11509)
669186f Add priority-queue based worker Source [DPP-717] (#11500)
2091f59 Remove cats from kvutils (#11537)
b83af37 Fix recache log statement (#11536)
776790e Add choice collisions in scala name collision checker (#11528)
2efcb21 Extract the setting of the time bounds on the commit context [KVL-1173] (#11516)
9bb1d64 [ledger-api] - Return FAILED_PRECONDITION gRPC status code for invalid deduplication duration [KVL-1170] (#11483)
c098d75 Add a --log-level flag to damlc (#11514)
afee948 Bump rules_nixpkgs (#11517)
d6fb67c release 1.18.0-snapshot.20211102.8257.0.7391a3cd (#11521)
ac49d69 Ensure that -Werror converts parser warnings into errors (#11511)
bda35ca ledger-offset: Add a conversion to ByteString. (#11491)
8a9f15b [DPP-686][Self-service error codes] Removing default error factories (#11403)
bb37eef Switch script & trigger tests to postgres-backed Sadbonx (#11525)
```

Since `v1.18.0-snapshot.20211102.8257.0.7391a3cd`
mergify bot pushed a commit that referenced this pull request Nov 12, 2021
changelog_begin
changelog_end

CHANGELOG ENTRIES

```
[TS-Bindings] Ws multiplexing for stream queries is disabled by default as we investigate issues
of intermittent websocket closures.

* There is now an Early Access Helm chart to start all of the Connect components on a Kubernetes cluster.

[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
- [Integration Kit] - ledger-api-bench-tool can run a workflow consisting of the command submission phase and stream benchmark phase.
- [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
```

COMMITS

```
d938a44 ws multiplexing is disabled by default as we investigate issues with intermittent web socket closures (#11657)
0f0a865 Make string interning available at ingestion [DPP-711] (#11645)
7296ba4 Move closureConvert and validate compiler phases into separate files. (#11656)
87f282c interfaces: Preserve/provide by_interface data for create actions. (#11639)
a9de728 Update rules_scala (#11616)
f468969 document helm chart (#11648)
55d4a03 Release 1.11.3 snapshot (#11652)
2dd5289 different types for different speedy phases (#11605)
44d604d Release new 1.18 snapshot (#11642)
e69a871 [JSON-API] Configurable Hikari connection pool props  (#11621)
cb7099b release 1.11.3 snapshot (#11628)
fd61d0b String interning read integration [DPP-706] (#11638)
c5a1f0b Republish error codes generator lib (#11633)
a6f745f Add two phase retrieval merge function [DPP-718] (#11571)
743ee46 ledger-api-bench-tool - command submission and stream reading complete workflow [DPP-668] (#11544)
f8f8807 Activate interning write side [DPP-710] (#11614)
93c07f4 Extend synonym expansion caching in data-dependencies (#11629)
cf445b2 Skip platform independence tests on release PRs (#11631)
b8f384e LF: Drop typeparameter from KeyWithMaintainers (#11625)
d0c313d Share dependencyInfo in data-dependencies (#11620)
4eed1d9 release 1.18.0-snapshot.20211109.8328.0.92181161 (#11623)
9218116 LF: Abstract VersionedValue and VersionedContractInstance (#11533)
b87acab foldLeft, foldRight, other Foldable specializations (#11592)
92dfcde [Self-service error codes] Use error validators in ApiPackageManagementService (#11575)
6372d41 limit contract insertion/deletion batching on backpressure (#11589)
3588284 Fix screenshots in daml intro 2 (#11617)
ef3fc0e Cache type synonym expansion in safeToReexport (#11612)
70b2fe3 Provide byInterface fields for fetch, exercise. (#11607)
830779f LF: drop useless class com.daml.lf.transaction (#11601)
7c92cab Cache type synonym expansion in isDuplicate (#11611)
cfd521f Fix GHC build errors on macOS (#11560)
a7559d0 LF: Rename GenTransaction to Transaction (#11599)
3b61a1b LF: allow exercise command by template for inherited choice. (#11584)
af1bee7 precondition lf conversion (#11538)
f722cf1 Bump extractor init timeout to 60s (#11598)
1e0a221 Set symlink_node_modules = False (#11606)
ac19c8c Synchronize in multi-participant script tests (#11594)
dd1b034 Restart the submission interpretation in case of a race [DPP-737] (#11579)
8d2b1b9 [JSON-API] Port of http-perf-test to sandbox(aka next) (#11543)
56a6db8 codeowners: reflect change in onwership of meiersi-da (#11505)
d433651 fix a few typos in Daml-LF spec (#11583)
5dee88b Refactoring store factories [DPP-709] (#11572)
41fb289 Port LedgerApiServer rate limiter interface from canton (#11577)
04cc5d7 Mark JSON API integration tests as flaky (#11586)
3bed7a9 Drop unused defaultFeatureFlags (#11580)
cbc3c8c Add by_interface field in Create, Fetch, & Exercise transaction nodes. (#11576)
7d68e05 Remove virtual choices (#11482)
9b94fa9 [ledger-api] - metadata for invalid deduplication period [KVL-1170] (#11534)
e7eb60f update compat versions for 1.18.0-snapshot.20211102.8257.0.7391a3cd (#11531)
a3d04ca Migrate matches-docs tests to sandbox on postgres (#11573)
21c9745 [Self-service error codes] ValueSwitch parameterized method (#11567)
6a0b84e Run Script export tests against BR (#11574)
a3195fd fix link to blog (#11570)
0823601 Self-service errors: generate error deprecation docs [KVL-1187] (#11539)
8d48cf6 DPP-664 Create contracts in batches (#11515)
9ef2eaf Remove parameter table join from SQL queries [DPP-705] (#11562)
af7f7f3 Fix LF coedowners (#11563)
4450311 Exclude/fix compatibility tests (#11529)
699c28f rotate release duty after 1.18.0-snapshot.20211102.8257.0.7391a3cd (#11522)
4d4869f interfaces: Improve fixed choice lookup (#11551)
ba96bf7 Add DbDtoToStringsForInterning [DPP-708] (#11557)
692dac6 LF: deprecate remaining type alias in Transaction (#11554)
7bc0f82 [kvutils] - Extract command deduplication steps from the TransactionCommitter [KVL-1174] (#11547)
0e95ccb Wire LedgerEndCache to relevant StorageBackend factories [DPP-704] (#11549)
73cb42e LF: deprecate ensureNoCid and assertNoCid in CidContainer (#11502)
30bfee9 Upgrade canton for conformance tests (#11550)
b84a914 Extractor: replace `sandbox-classic`-based fixtures with `sandbox`-based ones (#11489)
d86fe92 ledger-api-bench-tool - flexible stream filters [DPP-667] (#11458)
214c7ab Self-service errors: generate groups documentation [KVL-1186] (#11526)
60dc286 Avoid unnecessarily decoding DALFs during dependency installation (#11541)
afd79b6 Improve logging for dependency installation (#11540)
fdde535 fix hoogle by pinning nixpkgs (#11548)
5e93df6 Full conformance test with self-service error codes on ledger-on-memory (#11524)
efaf20b update NOTICES file (#11546)
c7bb94b Modify contract key attribute age for createAndExercise to avoid contract key violation on slow running tests (#11530)
541d07c Add string-interning data access [DPP-707] (#11484)
6c94164 Switching to composition at StorageBackend [DPP-704] (#11520)
d006ad0 Add string-interning view primitives [DPP-702] (#11475)
a917520 Save the submission time in the command deduplication value [KVL-1173] (#11509)
669186f Add priority-queue based worker Source [DPP-717] (#11500)
2091f59 Remove cats from kvutils (#11537)
b83af37 Fix recache log statement (#11536)
776790e Add choice collisions in scala name collision checker (#11528)
2efcb21 Extract the setting of the time bounds on the commit context [KVL-1173] (#11516)
9bb1d64 [ledger-api] - Return FAILED_PRECONDITION gRPC status code for invalid deduplication duration [KVL-1170] (#11483)
c098d75 Add a --log-level flag to damlc (#11514)
afee948 Bump rules_nixpkgs (#11517)
d6fb67c release 1.18.0-snapshot.20211102.8257.0.7391a3cd (#11521)
ac49d69 Ensure that -Werror converts parser warnings into errors (#11511)
bda35ca ledger-offset: Add a conversion to ByteString. (#11491)
8a9f15b [DPP-686][Self-service error codes] Removing default error factories (#11403)
bb37eef Switch script & trigger tests to postgres-backed Sadbonx (#11525)
```

Since `v1.18.0-snapshot.20211102.8257.0.7391a3cd`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Drop non-fixed choices from interfaces
5 participants