Release notes for 332

Dain Sundstrom

[x] all checked
03-18 11:29:26    540e14c7f1 Rubix integration
03-25 12:00:53    08cc9b08a8 Rename Hive caching configuration properties
03-25 12:00:53    bbdc22be7d Only bind Rubix config when caching is enabled
03-26 07:37:33    94057fad64 Add default implementation for Type object methods to slice methods
03-26 07:37:33    fca1b86976 Simplify aggregation compiler
04-05 22:32:57    3195d8a3bb Use platform classloader in Java 8 and 11 for plugins
04-05 22:32:57    af9f58a96c Fix warnings in PluginClassLoader

David Phillips

[ ] all checked
03-17 09:09:50    27092e326c Allow public access to ParquetPageSourceFactory#createParquetPageSource
03-18 01:26:32    cbf0d04b76 Add support for Alluxio Hive metastore
03-20 12:40:30    b33f9000d4 Remove unnecessary exclusion
03-20 13:05:58    73c59fdbb5 Cleanup table of contents for select documentation
03-20 20:56:56    13c0c4b6b0 Fix formatting in hive-hadoop2 POM
03-21 11:00:47    801a67e64a Add anchor links for section headers
03-24 16:34:03    71ebbdcad9 Fix logger argument order for event listener
03-24 22:34:51    21b3efe933 Use Slice methods to access byte array
03-24 23:32:42    a7cbe8008b Bump aircompressor version to 0.16
03-24 23:46:18    28d7d20983 Add EmptyCredentialProvider
03-24 23:46:18    6a4a18892f Minor cleanup of KeyStoreUtils
03-24 23:46:18    aa9506c446 Split up BaseJdbcAuthenticationConfig
03-24 23:46:18    e6cddf029f Use explicit modules in CredentialProviderModule
03-24 23:47:45    41651aa23a Add clientInfo parameter to JDBC driver
03-24 23:47:45    67249458fc Add traceToken parameter to JDBC driver
03-24 23:48:00    65d719ecc2 Remove unused dependencyManagement entries
03-25 11:20:43    94472a5c21 Remove usage of String.format in HTTP client hot path
03-27 23:49:55    56990b55ce Fix SQL formatting for nested alias or sample
03-30 02:54:52    0970e62907 Allow custom projection and relation in QueryBuilder
03-30 15:38:43    275db6a8e0 Update Alluxio documentation in Hive connector docs
03-30 15:53:48    cb98a8ac67 Cleanup validation errors in HiveWriterFactory
03-31 15:35:48    1be444dc6d Update GitHub Actions checkout to v2
03-31 17:27:27    0c13d169dc Move engine-only tests
03-31 17:27:27    478d6f7357 Test concurrent scans in AbstractTestIntegrationSmokeTest
03-31 17:27:27    8bfc7f5f7e Remove unused method
04-01 11:15:18    9e6a3f7b77 Remove unused bindings from IcebergModule
04-01 11:18:00    021dda102c Optimize Slice Functions to avoid Slice.getBytes()
04-01 11:18:00    53c5dfcba1 Avoid Slice.getBytes() in parquet reader
04-01 11:18:00    f2bf370305 Remove copy from InMemoryRecordSet
04-01 11:18:00    f64f1b6a1a Use JSON generator Base64 conversion in BlockJsonSerde
04-01 14:38:02    69709fcf6a Remove config elasticsearch.aws.use-instance-credentials
04-01 14:38:02    6bf2649f48 Add S3 security mapping
04-01 14:38:02<PHONE_NUMBER> Remove config hive.s3.use-instance-credentials
04-01 14:38:02    ad7631cccf Remove config hive.metastore.glue.use-instance-credentials
04-01 14:38:02    ee91f737e9 Allow setting identity for TestingConnectorSession
04-02 13:04:17    6800e80aaa Capitalize title for Group Provider
04-02 16:24:28    0652e04e69 Add iceberg to product tests suite
04-02 16:24:28    80c1013de0 Temporarily exclude iceberg from Kerberos product tests
04-03 11:30:17    8e3cbbc613 Free disk space before running product tests
04-03 14:10:21    1d9cc7d64d Free disk space in checks workflow
04-04 16:33:18<PHONE_NUMBER> Handle empty and arbitrary slices in Parquet reader
04-05 12:57:20    c984f64ed9 Support exclusions in InterfaceTestUtils
04-05 12:57:21    5e466fb5e6 Ensure StatisticsAwareJdbcClient implements all methods
04-05 12:57:21    7e7bbc7f6a Move JdbcClientStats to upper level
04-05 12:57:21    bcea275371 Ensure CachingJdbcClient delegates all unhandled methods
04-05 14:06:19    317eb98f84 Add session token support to PrestoS3FileSystem
04-05 14:06:19    ab595fae7d Remove unnecessary test in TestPrestoS3FileSystem
04-05 23:34:59    588e502c2a Allow Hive on S3 to assume AWS role with External ID

Grzegorz Kokosiński

[x] all checked
03-17 00:50:01    7dd3d18952 Use catalog name in S3 statistics name
03-17 01:42:44    0039dd8b29 Add execute function access control
03-17 01:42:44    05cd9d13d4 Use static import
03-17 01:42:44    42b234ecc0 Rename testViewAccessControl to emphasis focus on columns
03-17 01:42:44    44a36898ce Improve robustness of InitializeSystemAccessControl
03-17 01:42:44    6855c46068 Move createExpression to ExpressionTestUtils
03-17 01:42:44    a0f113cc11 Wrap expression test utilities with transaction
03-17 01:42:44    f618b3aa5c Match error message with access control check method
03-17 03:23:42    cb9673a679 Make assertion to be connector agnostic
03-17 03:25:02    0b09aef1d2 Allow to pass additional modules to DistributedQueryRunner
03-17 03:25:02    33853c60cb Fallback to delegate for masks and filters
03-17 03:25:02    6c51143263 Allow to set custom system access control for tests
03-17 03:25:02    a4d3c21c08 Use Optional for nullable variables
03-17 03:25:02    c5012cca2d Introduce builder for TestingPrestoServer
03-17 03:25:02    d06e9dd094 Fix formatting
03-17 03:25:02    e70e47d5df Remove unused parserOptions parameter
03-17 05:59:16<PHONE_NUMBER> Quiet fast install mvn
03-17 06:00:50    c15d00e720 Refactor memory connector
03-17 07:33:59    c37226b92f Add default access-control.properties file
03-17 09:40:57    646ed33c21 Extract hdp3 tests to separate suite
03-18 06:38:21    1f9088dc57 Make access denied messages consistent for SHOW STATS
03-18 06:38:21    8167b73f2f Check SELECT permissions for SHOW STATS FOR
03-18 06:38:21    c2e37a4db6 Allow subsets of columns in SHOW STATS FOR (SELECT)
03-19 01:42:29    72a7511a53 Support multiple event listener plugins
03-19 02:17:14    ce59c62ce2 Use testcontainers for kudu unit tests
03-19 04:59:58    13fa220356 Prefer variable over its value
03-19 14:04:18    52e19be2a2 Extract common configuration for Kerberos KMS
03-20 00:48:58    c9cd1df878 Remove unused profiles in kudu's maven
03-20 11:23:29    3c7ceec231 Add TEMPTO_CONFIG_FILES support to the test container
03-22 14:44:17    aafe4797c3 Return table metadata for translated Hive views
03-22 14:44:17    ee4cf9369b Use existing method
03-23 02:09:58    d3b5711fa8 Remove unused TEMPTO_EXTRA_CONFIG_FILE
03-23 02:15:32    9b0bf150a6 Ensure kafka splits do not overlap
03-23 12:13:46    bbf40d6db1 Upgrade tempto to 174
03-23 14:27:19    48909a79a4 Cleanup in ShowStatsRewrite
03-23 14:27:19    9e77535bed Disallow SHOW STATS for tables with filters and masking
03-23 14:27:19    ac1a20aad4 Factor out getting query for SHOW STATS
03-25 04:03:51    dc7ee78799 Use unique table names in tests
03-26 01:32:13    9316dabab6 Update maven to 3.6.3
03-26 01:55:52    385d826b15 Support schema evolution in partition schema for Parquet
03-26 01:55:52    5790ed02c0 Extract getTableToPartitionMapping method
03-26 01:55:52    a93b3b849a Support partition schema evolution for ORC
03-26 01:55:52    d30260f88d Introduce TableToPartitionMapping
03-26 05:20:08    c62673c113 Add support for CREATE SCHEMA name AUTHORIZATION
03-26 07:31:15    7096b7e8e4 Fix 'build.plugins.plugin.version missing' warning for provisio plugin
03-26 07:31:15    873a025d84 Remove unused throws Exception clauses
03-26 07:31:15    9ee1b27186 Update comments and messages to include JDK 11 support
03-26 07:31:15    f1e6348dbb Fix names of packages in install/remove commands
03-27 02:43:27    3346df3b81 Extract EventsAwaitingQueries
03-27 02:43:27    e38de1b0ae Allow Connector to provide EventListener
03-27 07:27:26    64a0a6be98 Use unique table names in tests
03-27 07:27:26    a038349449 Fix failure message
03-27 07:27:26    dd3b63d7cb Fix formatting
03-27 08:33:25    d7f2694214 Use caching metastore in tests
03-30 12:08:08    d19365e9d0 Allow JDBC connectors to provide system tables
03-30 12:13:37    789a3056ea Extract createTableSql
03-30 12:13:37    a6dc7fd931 Fix formatting
04-01 06:53:47    f922c85873 Add access control check while listing views
04-03 05:45:51    1a08b547ac Remove unused method
04-03 05:45:51    614eb50b74 Remove unused tableHandles field
04-03 05:45:51    f12c107d14 Add updateType to query event
04-05 10:59:26    7138dcecfd Use unique table name in test
04-06 02:28:19    a2b30a92c2 Use unique table names in distributed tests

Karol Sobczak

[ ] all checked
03-18 06:10:56    b343cc96d6 Use updatable page source when effectivePredicate is None due to dynamic filters
03-18 06:12:23    c683e77e53 Refactor toCompactTupleDomain to reuse Domain#simplify
03-24 04:24:26    eeccf995dd Bump aws-sdk version
03-25 03:13:59    3d65a87e00 Update benchto version to 0.9
03-26 03:01:30    98e243372b Fix message
03-26 03:01:30    ef358a28db Stop at first LDAP match when distinguished name is not required
03-26 08:08:27    047d75056b Make push-aggregation-through-join name consistent with it's function
03-26 08:08:27    0d8b11e8ce Add optimizer.push-partial-aggregation-through-join feature config
03-26 08:08:27    b68f54444b Fix method name
03-27 03:23:45    ca1a69a40f Add dynamicFilterSplitsProcessed to OperatorStats
04-01 08:48:16    728be1ac24 Add support for Glue endpoint URL
04-02 03:02:58    20f15139d5 Fix Glue config null check
04-02 03:02:58    6c9adf57de Static import newOptionalBinder
04-02 03:02:58    e70158597a Add support for custom Glue request handlers

Martin Traverso

[ ] all checked
03-16 15:25:19    b11397fe6c Support column reordering in cross join
03-17 14:16:44    073e62745c Add Project-off rule for ApplyNode
03-17 14:16:44    810f704434 Add rule for pruning ApplyNode's subquery columns
03-17 14:16:44    8dc234b5cb Pass Context to Project-off rules
03-19 10:52:34    6a590dcea5 Fix reading from large Parquet files
03-20 11:09:10    31b2ed6257 Optimize parquet gzip decompression
03-23 14:25:14    0962e3a9d5 Include filtered columns in EXPLAIN (TYPE IO)
03-24 11:02:41    171de47b57 Fix formatting
03-24 11:02:41    60736fead7 Use left and right output symbol lists for JoinNode execution planning
03-24 11:02:41    c25c42f2f6 Refactor output symbols list in JoinNode
03-24 12:08:29    a828cec06e Add Project-off rule for CorrelatedJoinNode
03-27 09:50:08    1aeffe5044 Use optional to represent missing node
03-27 09:50:08    1b55b866f3 Record filter and mask information in query event
03-27 09:50:08    282475a0b3 Unwrap catalog name
03-27 09:50:08    4939b99ee1 Derive target table from analysis
03-27 09:50:08    83e9fa1d04 Factor out common filter/mask code
03-27 09:50:08    9aae4eb572 Move Output to analyzer package
03-27 15:17:58    9ba45102d3 Take the credentials project id before the environment one
03-30 07:51:46    4f9846f240 Record referenced routines in query event
03-30 16:31:47    135fad233d Add SqlBaseParser initializer hook and refreshable ATN caches
03-31 08:00:04    3ec9ee726d Move check for symbol pruning in cross join
03-31 08:00:04    54946a1822 Support cross join outputs pruning in PruneUnreferencedOutputs
03-31 08:00:04    ee6b6eeb90 Support cross join in join pruning columns rules
03-31 08:00:04    fbf4064a5d Remove dedicated rule for pruning cross join columns
03-31 17:11:42    27af6fb128 Add Project-off rule for EnforceSingleRowNode
03-31 17:12:52    617f5854ff Add Project-off rule for AssignUniqueId
03-31 17:25:36    0c8668b2cd Fix symbol pruning in set operation nodes
04-04 20:14:39    13a3c523f2 Report field name when decoding Elasticsearch value fails
04-04 20:16:22    fb69cc4dd3 Add instructions on how to start Elasticsearch
04-04 20:16:52    44438f2366 Call applyProjection during table scan column pruning
04-04 20:22:20    8fad160288 Add Project-off rule for UnionNode
04-04 20:22:20    b99da44f7e Add column-pruning rules for set operation nodes
04-04 20:22:52    2fd1c54a8c Fix formatting
04-04 20:22:52<PHONE_NUMBER> Add column-pruning rule for DistinctLimitNode

Piotr Findeisen

[ ] all checked
03-17 09:30:12    1fadfa7ce7 Get timestamp from ObjectId
03-17 09:30:12    3895d6fa4e Simplify function declaration
03-18 05:04:43    ca99a3fa6e Quote table and partition name in error messages
03-18 05:20:48    2fde0f1168 Remove some ambiguous static imports
03-18 05:20:48    47b26c20cf Prefer JDK method where applicable
03-18 07:08:20    f638ff5e34 Fix expected error messages
03-18 09:23:30    ff2ee77a60 Allow setting permissions for new directories
03-18 09:46:45    80fdb38082 Update to airbase 98
03-19 03:55:37    87c1a806d4 Validate configuration in noop connector
03-19 04:49:53    574f5fe927 Fix documentation for presto-server-rpm
03-19 06:08:36    10855a02fb Add TupleDomain#simplify overload accepting threshold
03-19 06:08:54    e59b82dad9 Remove redundant Guice annotation
03-19 07:58:39    7300158a48 Introduce common CatalogName
03-19 09:55:35    5b546ba00d Use simpler always-false expression
03-19 09:55:35    fc2d08e0ae Perform cheap check first
03-19 10:35:06    7d2086098e Create group provider configuration for product tests
03-20 07:31:30    4dfc89c05a Short-circuit TupleDomain#simplify for 'all'
03-23 01:50:05    2ed560969a Embed version once
03-23 09:27:08    6432ceeb1d Extract Field constant
03-23 09:27:08    91e5d5a993 Fix reflective field access
03-24 00:03:05    471c7b7256 Run product tests with hive.fs.new-directory-permissions
03-24 05:17:37    4d668978a8 Run predicate pushdown test without dynamic filtering too
03-24 05:17:37    975edb7571 Rename test class
03-24 08:50:44    4ac2fd48cb Remove redundant setup
03-24 08:50:44    61084fd545 Run Join tests with dynamic filtering disabled too
03-24 08:50:44    7bb27ac73b Remove obsolete TODO
03-24 08:50:44    7c9f9f285e Remove obsolete comment
03-24 08:50:44    b303009e70 Run Join test queries for Hive with dynamic filtering disabled too
03-25 08:31:00    3cdd64fc36 Add --debug option for Launcher
03-25 08:31:00    4574aa158c Fix variable name
03-25 08:31:00    cf20750bfd Fix formatting
03-25 08:31:00    f17762c47e Fix method name
03-25 08:31:57    64a529301a Trim whitespace when loading configuration
03-26 03:26:27    22a062cca0 Remove redundant method argument
03-26 03:27:25    1650d074ef Run selected PPD tests with dynamic filtering too
03-27 04:48:34    eaa04c33e4 Fix predicate push-down accuracy
03-27 07:37:48    f1e43e60ef Show meaningful error when connector returns invalid table property
03-28 11:58:08    e7fcdc240e Add column-pruning rule for DeleteNode
03-28 11:58:44    49a1a21c74 Remove unused field
03-28 15:31:59    7928dfc563 Run multinode product tests' worker on Java 11
03-28 15:32:28    15bad291e5 Log Java version during startup
03-29 00:59:50    d3eb25b15a Report formatted SQL when does not parse
03-29 05:25:13    7ecf2382a5 Ensure tests are run with appropriate QueryRunner
03-29 08:22:42    5aa29ae775 Avoid File.toString for getting file's path
03-30 07:05:38    2dc5691dae Use meaningful identifier in test
03-30 07:06:06    f6ad3e5cbd Deprecate createPageSource overload
03-30 07:07:57    8384c18a95 Fix condition
03-30 07:07:57    99223aba9c Remove redundant condition
03-30 07:07:57    b2140097d6 Remove return value from addConstraintPredicates method
03-30 14:53:58    6176de11ec Fix to documentation of BigQuery connector.
03-30 22:54:00    9521cf3330 Remove result set from google sheets SplitInfo
03-30 23:03:50    c5a10414f7 Remove JoinNode constraint
03-31 05:38:46    4e1393d493 Extract charReadFunction
03-31 05:38:46    51d1eb0a11 Reject impossible rename
03-31 05:38:46    a15aac2548 Report actual query when DDL fails
03-31 05:38:46    ba3bb4fb40 Extract short-hand execute() method
03-31 05:38:46    ebb87a2b62 Simplify test
03-31 05:39:01    fa80b8d985 Test OUTER to INNER join normalization
03-31 15:32:44    603b7b8455 Prune cross joins more
04-02 09:08:57    ed282b32f5 Avoid calling toIntExact on int
04-02 09:10:53    acc95522d7 Use type adequate to payload
04-02 22:54:50    a311584a28 Add ref anchors
04-03 08:00:11    89fc425a0a Make sure containers output is flushed
04-03 08:00:11    bc41898ca1 Synchronize containers output
04-03 09:45:10    af99ba9ed5 Add legacy config
04-03 09:45:10    ecc4dbc00a Reorder arguments in the method
04-04 08:51:23    8f8427b4fb Test configuration cleanup

Praveen Krishna

[ ] all checked
03-26 07:33:33    00038d571b Fix incorrect column mapping in KuduRecordCursor
03-26 07:33:33    4427fdfbd0 Add distributed tests for Kudu
03-26 07:33:33    749a0c5162 Minor cleanup in KuduRecordCursor
04-03 09:10:08    c20edd7169 Remove redundant Kudu tests
04-03 23:05:36    a3ee83fb70 Add null check for HashStrategy of CustomObjects
04-03 23:05:36    b0be04faab Add support for reading decimal in InMemoryRecordSet

Yuya Ebihara

[ ] all checked
03-23 02:25:23    b66262b87d Remove unused method
03-23 16:57:08    81fa4ac2b2 Properly list all tables in memory connector
03-25 21:56:39    17e9c976ed Fix display error of datetime function document
03-25 21:56:39    36db1cadf2 Fix current_user display error of document
03-26 03:21:25    3366910fb9 Delete MongoDB document if exists in schema collection

MongoDB
* Add ``objectid_timestamp`` function for getting ``timestamp with time zone`` from ``ObjectId``. (:issues:`3089`)

https://github.com/prestosql/presto/pull/3089

Security
---
- Verify access to table columns when running ``SHOW STATS``. (:issue:`2665`)
Show stats for permissions

General
---
- Support passing subset of columns to ``SHOW STATS``. (:issue:`2665`)

#2665

General
----
- Support multiple event listener plugins. They can be specified with ``event-listener.config-files`` configuration property. (:issue:`3128`)

#3128

Hive
* Add ``hive.fs.new-directory-permissions`` configuration property for setting the permissions of new directories
  created by Presto. Default value is ``0777``. (:issue:`3126`)

https://github.com/prestosql/presto/pull/3126

Memory
* List missing views in ``system.jdbc.tables`` table. (:issues:`3208`)

https://github.com/prestosql/presto/pull/3208

Hive
---
 - Add ``hive.partition-use-column-names`` configuration property and matching ``partition_use_column_names`` catalog session property that allows to match columns between table and partition schemas by names. By default they are mapped by index. (:issue:2933`)

#2933

General
-------

* Fix LDAP authentication not working if user belongs to multiple groups. (:issue:`3206`)

https://github.com/prestosql/presto/pull/3206

MongoDB
* Delete document from ``_schema`` collection when DROP TABLE is executed for the table that exists only in ``_schema``. (:issues:`3234`)

https://github.com/prestosql/presto/pull/3234

General
----
- Add ``CREATE SCHEMA ... AUTHORIZATION`` syntax to create a schema with specified owner. (:issue:`3066`).

Hive
---
- Add support for ``CREATE SCHEMA ... AUTHORIZATION`` to create a schema with specified owner. (:issue:`3066`).

#3066

General
-------

* Add ``optimizer.push-partial-aggregation-through-join`` feature toggle for pushing partial
  aggregation through inner join. (:issue:`3205`)
* Rename ``optimizer.push-aggregation-through-join`` feature toggle to
  ``optimizer.push-aggregation-through-outer-join``. (:issue:`3205`)

https://github.com/prestosql/presto/pull/3205

General
-------

* Expose operator stats of how many splits were processed with dynamic filter applied. (:issue:`3217`)

https://github.com/prestosql/presto/pull/3217

SPI
---
 - Allow ``Connector`` to provide ``EventListener`` registration. (:issue:`3166`)

#3166

Kudu
----

* Fix incorrect column mapping in Kudu connector (:issue `3170`, :issue `2693`)

#3212

General
* Fix query failure during planing phase for certain queries involving multiple joins. (:issue:`3149`)

https://github.com/prestosql/presto/issues/3149 https://github.com/prestosql/presto/pull/3245

Security
---
 - Return only accessible to user views from ``<catalog>.information_schema.views`` table. (:issue:`3290`)

#3290

Hive
----

* Add support for endpoint URL for Glue. (:issue:`3239`)

https://github.com/prestosql/presto/pull/3239

General
----
* Fix execution failure for queries involving huge IN on long decimal columns. (:issue: `3191`)

#3196

Hive
----
* Add experimental file system caching.  This can be enabled with the `hive.cache.enabled` catalog property. (:issue:`2679`)

#2679

* Fix failure reading certain Parquet files larger than 2GB. (:issue:`2730`)

https://github.com/prestosql/presto/issues/2730

* Improve performance when reading gzip-compressed Parquet data. (:issue:`3175`)

https://github.com/prestosql/presto/pull/3175

* Include filters over all table columns in output of ``EXPLAIN (TYPE IO)``. (:issue:`2743`)

https://github.com/prestosql/presto/pull/2743

SPI
* Expose row filters and column masks in ``QueryCompletedEvent``. (:issue:`3183`)

https://github.com/prestosql/presto/pull/3183

BigQuery
* Extract parent project ID from service account before looking at the environment. (:issue:`3131`)

#3131

SPI
* Expose referenced functions and procedures in ``QueryCompletedEvent``. (:issue:`3246`)

https://github.com/prestosql/presto/pull/3246

General
* Ignore trailing whitespace when loading configuration files such as ``etc/event-listener.properties``, ``etc/group-provider.properties``, etc.
  Trailing whitespace in main and catalog configuration files was already ignored.

https://github.com/prestosql/presto/pull/3231

SPI
* Deprecate ``ConnectorPageSourceProvider#createPageSource(ConnectorTransactionHandle, ConnectorSession, ConnectorSplit, ConnectorTableHandle, List<ColumnHandle>)`` (``createPageSource`` variant not taking ``dynamicFilter``). The method will be removed in a future release.

https://github.com/prestosql/presto/pull/3255

SQL Server
* Reject ``ALTER TABLE ... RENAME TO`` between schemas. Previously such rename was accepted but
  renamed was accepted but performed incorrectly.

https://github.com/prestosql/presto/pull/3284

Elasticsearch
* Add support for ``ip`` type. (:issue:`3347`)

https://github.com/prestosql/presto/pull/3347

Kudu
* Fix incorrect query result for certain queries involving ``IS NULL`` predicates with ``OR``. (:issue:`3274`)

https://github.com/prestosql/presto/issues/3274
https://github.com/prestosql/presto/pull/3288

Elasticsearch
* Add support for `keyword` fields with numeric values. (:issue:`3381`)

https://github.com/prestosql/presto/pull/3381

Hive
* Support reading files compressed with newer versions of LZO. (:issue:`3209`)

#3209

JDBC Driver
* Add ``clientInfo `` property to set extra information about the client. (:issue:`3188`)
* Add ``traceToken`` property to set a trace token for correlating requests across systems. (:issue:`3188`)

#3188

General
* Reduce overhead for internal communication requests. (:issue:`3215`)

#3215

Hive
* Add support for :ref:`alluxio_catalog_service`. (:issue:`2116`)

#2116
This will require adding an anchor before "Alluxio Catalog Service" in connector/hive.rst

General
* Fix prepared statements or view creation for queries containing certain nested aliases or ``TABLESAMPLE`` clauses. (:issue:`3250`)

#3250

Elasticsearch
* Remove unnecessary ``elasticsearch.aws.use-instance-credentials`` configuration property. (:issue:`3265`)

#3265

Hive
* Remove unnecessary ``hive.metastore.glue.use-instance-credentials`` configuration property. (:issue:`3265`)

#3265

Hive
* Remove unnecessary ``hive.s3.use-instance-credentials`` configuration property. (:issue:`3265`)

#3265

Hive
* Add flexible :ref:`s3_security_mapping`, allowing for separate credentials
  or IAM roles for specific users or buckets/paths. (:issue:`3265`)

#3265

Hive
* Add support for specifying an External ID for an IAM role trust policy using
  the ``hive.metastore.glue.external-id`` configuration property (:issue:`3144`)

#3144

Hive
* Explicitly disallow reading from Delta Lake tables. Previously, reading
  from partitioned tables would return zero rows, and reading from
  unpartitioned tables would fail with a cryptic error. (:issue:`3366`)

#3366

Hive
* Allow using configured S3 credentials with IAM role. Previously,
  the configured IAM role was silently ignored. (:issue:``)


A little improvement

If there's no album cover image, display a default image. see repair if there's no album cover image
disable the MaxListenersExceededWarning seems not work :( you just ignore it please.

ok,I removed it. You're welcome.


Revert "Allow masquerading as different users"

Used this to temporarily verify authorization, which checked out.  Reverting this now so we can review and test more thoroughly before it's deployed for real.
Reverts studentinsights/studentinsights#1749

selfie


Saving/Hearting in discovery card

What
We are allowing users to save projects from discovery. With this change the Backing team did an A/B/C/D test with different icons & copy around saving, and decided to move forward with hearts instead of stars.
Why
Users can save projects they are interested in from the discovery page and will be reminded to pledge 48 hours before the project ends.
How
On the DiscoveryPostCardCell we implemented  cache(project: Project, shouldToggle: Bool) -> Bool  this caches the project and returns a bool that determines if the save/heart button should be toggled.
We also added a new Notification Center named ksr_projectSaved that notifies the DiscoveryPostCardCell when the user toggles the heart/save button in the ProjectNavBarViewController.
#See 👀

TODO ⏰

[ ] Adjust tests in DiscoveryPostcardViewModelTests
[ ] Bug fix
[x] Instrumentation update change event name from Unstarred/Starred to Unsaved/Saved Project

@cdolm92 Looks like some of the icons were imported into assets as pngs. Can we make sure they're pdfs instead?

@stephencelis they have to be pngs because we had sizing issues when we tried importing as pdfs. @theginbin

Somehow my review was pending :/
They're all minor things, though!


wrapper tools to help the user: scale2frequency, frequency2scale, show_wavelet

If I understand well, a critical aspect of using the wavelet transform is to i) choose the correct scales, ii) choose appropriate wavelets. I use this page as a reference when doing so: https://pywavelets.readthedocs.io/en/latest/ref/cwt.html . At first, it was a bit confusing. I wonder if it would be possible to:

extend the pywt.scale2frequency function signature by adding a sampling_frequency=1 parameter, so that the user does not need to perform the /dt to get to the real world frequency
also provide a "reciprocal" function, i.e. pywt.frequency2scale(wavelet, list_frequencies, sampling_frequency) that will provide the scales to use directly from the frequencies that the user thinks are useful; this way, the user will not have to go through the hurdle of inverting the pywt.scale2frequency function themselves
update https://pywavelets.readthedocs.io/en/latest/ref/cwt.html with these new "simpler ways to use"
provide a simple way to plot wavelets, i.e. pywt.plot_wavelet(wavelet, scale, sampling_frequency), that will plot the wavelet as a function of time
show a plot for each of the wavelets in https://pywavelets.readthedocs.io/en/latest/ref/cwt.html

+1 on the frequency2scale function. That would make it easier to have a uniform frequency sampling in the transform.

This was partially resolved by #635, which added frequency2scale


Better search for users

e.g. by partial email, SID, or secondary login. Instant filtering would be nice.

+1
I want to avoid server side search if possible - if we can return 1500 enrollment records in a reasonable time - we should do client side search (which enables instant filtering)
I'd like to do this without writing spaghetti jQuery code.
Options:

http://www.listjs.com/
use a JS library (Vue.js) and its extensions (Seems like overkill for this, even though we'll be using Vue.js elsewhere)


tooltip: do not use a div container for tooltips

This fixes the problem with Tooltips being misplaced on Chrome when the text which shows the Tooltip is on the left hand side of a <p>.
This also fixes the annoying warnings from React that a <div> is being placed inside of a <p>, because now it's a <span>.
Note: Currently, if the tooltip is too long, it won't line-break. This PR does not change this, and It's probably a non-issue for now.
Fix #870

Requesting review @shcheklein, not sure who's responsible for this repository.

I can review this one. Thanks for addressing this bug BTW!

I deployed a review app and I can confirm the cases we posted in blah are fixed 🎉
In https://dvc-landing-feature-870-lynvht.herokuapp.com/doc/command-reference/get#example-get-a-dvc-tracked-model-file:

Before: https://github.com/iterative/dvc.org/issues/870#issue-538751576

In https://dvc-landing-feature-870-lynvht.herokuapp.com/doc/command-reference/gc#examples:

Before: https://github.com/iterative/dvc.org/issues/870#issuecomment-566320894

In https://dvc-landing-feature-870-lynvht.herokuapp.com/doc/command-reference/add#example-directory

Before: https://github.com/iterative/dvc.org/issues/870#issuecomment-566321677

@jorgeorpinel thanks for checking this out. What's next?

@jorgeorpinel please feel free to approve and merge if you don't see any other issues.

What's next?

I was just waiting for your reply in https://github.com/iterative/dvc.org/pull/913#pullrequestreview-341343038
Now we approve and merge it 🙂

:fireworks: first merge!


add adopter: Stilingue

Hey, I just made a Pull Request!
Just added Stilingue as adopter

duplicated


[Kubernetes] missing new data from kube-state-metrics 1.0 and 1.1

v1.0 was released in August and 1.1 is going to be out soon. Lots of changes:
https://github.com/kubernetes/kube-state-metrics/blob/master/CHANGELOG.md
In particular
[FEATURE] Add kube_pod_container_status_waiting_reason metric.
[FEATURE] Add kube_node_status_capacity_nvidia_gpu_cards and kube_node_status_allocatable_nvidia_gpu_cards metrics.
[CHANGE] Remove kube_node_status_ready, kube_node_status_out_of_disk, kube_node_status_memory_pressure, kube_node_status_disk_pressure, and kube_node_status_network_unavailable metrics in favor of one generic kube_node_status_condition metric.
[FEATURE] Add StatefulSet metrics.
[FEATURE] Add Job and CronJob metrics.

Hey @therc,
Thanks for opening this issue!
I'm working on this and there are a few things I'd like to discuss with you.

[FEATURE] Add kube_pod_container_status_waiting_reason metric.

This metric was added along with kube_pod_container_status_terminated_reason, could you let me know if it'd make sense for you to have both, if not why ? I think it'd be better to have it/them as a Service Check and to this extent, have various statuses:
ContainerCreating, ErrImagePull and CrashLoopBackOff for the former and OOMKilled, ContainerCannotRun, Error and Completed for the latter.

[FEATURE] Add kube_node_status_capacity_nvidia_gpu_cards and
kube_node_status_allocatable_nvidia_gpu_cards metrics.

I also note that kube_pod_container_resource_requests_nvidia_gpu_devices and kube_pod_container_resource_limits_nvidia_gpu_devices were added, would it make sense to have them too ?

[CHANGE] Remove kube_node_status_ready, kube_node_status_out_of_disk, kube_node_status_memory_pressure, kube_node_status_disk_pressure, and kube_node_status_network_unavailable metrics in favor of one generic kube_node_status_condition metric.

We are currently reviewing a community contribution that will achieve this.

[FEATURE] Add StatefulSet metrics.

We currently evaluate 4 metrics from the StatefulSet (the collected ones and the ignored ones). The two new ones are kube_statefulset_labels and kube_statefulset_created. The first one being the Unix timestamp of the creation of the StatefulSet and the second one the Kubernetes labels converted to Prometheus labels.
I don't personally see value in adding the new ones but could you let me know if you have a use case behind this ? Would any of the currently ignored metrics be useful for you ?

[FEATURE] Add Job and CronJob metrics.

Regarding the Job metrics, there are 12 metrics available. We ignore these as well as kube_job_info.
And we already collect kube_job_status_succeeded,  kube_job_status_failed, kube_job_complete, kube_job_failed via dedicated methods (e.g. here) and they are submitted as service checks. The only new metric is kube_job_created being the Unix timestamp of the creation of the job so again, not sure about the value and I'm considering ignoring it.
As for the CronJob metrics - There are 7 metrics available, we already consider 5, that we ignore on top of kube_cronjob_info. as per the comment in the code, if you have a use case here, I'd be more than happy to hear it so we can potentially add them. In terms of new metrics, we have kube_cronjob_created which I don't think is relevant for us to collect however kube_cronjob_next_schedule_time could be good so I added it to the list.
Now, I have referenced the new metrics that have been added and it's being reviewed by the team so we can see what should be added. If you have more feedback, please let me know!
Best Regards,

HI, We are also in need of these new metrics. Most importantly kube_statefulset_status_replicas_ready without this we can not tell that a statefulset pod is in a crashloop backoff and therefore cannot monitor the statefulset properly.

@therc good to see you at KubeCon. Did you have any thoughts on @CharlyF 's questions?

@irabinovitch thanks for that link!
I did update the k8s state metrics here but apparently kube_statefulset_status_replicas_ready, and a few others were added around the same time and I missed it.
I am queueing some work to add these metrics.


Remove caveat on npm page

@mikolalysenko, it looks like you implemented durand-kerner to overcome the issues with numeric.js. The npm page still has the caveat about the module being worthless. I think it just needs:

Bump version to 1.0
Publish to npm

I'm glad to do that if my casual understanding is correct. It has one dependent (hoarders) that should maybe be updated correspondingly.

You can do the honors, and don't worry about hoarders.  It is a joke that @tmpvar made a long time ago.

oh, haha, that was not a :trollface: - I just wanted to have all of @mikolalysenko's code at the time so I could read through it on the plane

Aww, disappointing. I figured it might be a good read!


[DOCFIX] Add table docs

first draft, feel free to tear it apart

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/6191/
Test PASSed.

@ZacBlanco thanks for writing the doc!
a couple of high level comments:

maybe add some examples so that the user can verify that they have successfully setup alluxio {{feature_name}} for presto.  Users like confirmations of success. things like describe table, and select * from table_name
do we want to make sure the user understands that the cache is not automatically synced at this point? i.e. there is no msck repair table equivalent.

@yuzhu I addressed the two comments you made:

Added example queries to test
Added a note on attaching databases about syncing database/table metadata.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/6227/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/6344/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/6355/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/6401/
Test PASSed.

alluxio-bot, merge this please

alluxio-bot, cherry-pick this to branch-2.1 please


False positive for "Called 'first' on Laravel collection, but could have been retrieved as a query"

Larastan Version: 0.6-dev
--level used: 1

Description
App\User::where('users.id', '=', 1)->pluck('email')->first();

Output e.g<EMAIL_ADDRESS>I'm in fact not sure what the larastan error is trying to tell me here, because for this kind of code you can't reverse pluck/first, it gives a totally different result (just try it with any system you have at hand):
App\User::where('users.id', '=', 1)->first()->pluck('email');

This in fact returns all emails of all users 💥

App\User::where('users.id', '=', 1)->first()->email;

Should achieve the same without retrieving all users from the database right?

🤔

Wow, how does that even work? Why App\User::where('users.id', '=', 1)->first()->pluck('email'); returns all emails of all users? Isn't the call to pluck here on a model instance?

Yeah it is, totally weird.
But @Daanra is absolutely right, totally useless complex. No idea why I didn't see it? "cannot see the forest for the trees" syndrome.
Nothing to be done!

Wow, how does that even work?

Yeah it is, totally weird.

I agree that this line App\User::where('users.id', '=', 1)->first()->pluck('email'); gives a very confusing result. Might be nice to make another Larastan rule that forbids constructs like this one.

Just pluck has this issue I guess. Maybe it should be fixed in Laravel itself? It should be scoped to the current model instance, not every row in the database.

But User::pluck('email') and $user->pluck('email') is kinda the same in Laravel's eyes.


Not all software entries are listed in "Update Mode" dropdown

When configuring a device, only a few software entries can be selected when there are a lot of entries in the DB (resulting in paging). The same goes for the "Software" dropdown in the rollout creation dialog.
We have to come up with a solution that scales. Perhaps add a filter/search field?
In the meantime, simply showing the newest entries would help.

I think we can just apply a smaller version of the software datatable in the modal and use that for selection, since we already scale that pretty well (to my understanding).


issue: Unable to Log OpenAI Requests

I am encountering difficulties in logging OpenAI requests and would like to raise this issue for further assistance. Despite attempts to log requests made to the OpenAI API, I have been unsuccessful in capturing the necessary data.

Issue has no steps to reproduce or examples on how OpenAI is called, closing
https://medium.com/nyc-planning-digital/writing-a-proper-github-issue-97427d62a20f


labels aren't highlighted in certain colorscheme

Take this example:
I typed sop, leaping to opt. as you can see, the search area is greyed out, but the markers/labels aren't highlighted.

This is eldritch theme. It works just fine for most other schemes I've tried so far: bamboo, cyberdream ...
Is there an option to configure label color?

Never mind.
I found what I'm after in the vimdoc.

@csessh How did you end up fixing them? I'm puzzled because the leap default highlights used to work in my theme (iceberg.vim) and all of a sudden without updating anything, they don't anymore.

I haven't got a change to fix it yet.
I thought I'd circle back to it in the next couple of days.

without updating anything, they don't anymore.

I was suspecting one of the plugins as I ran lazy update prior to noticing this issue.
Reopen this one?

I tested another colorscheme, tokyonight, that defines highlights for leap and it works there.
Also tested overriding the highlights manually with:
-- works
vim.api.nvim_set_hl(0, 'LeapBackdrop', { link = 'Comment' })
-- does not work
vim.api.nvim_set_hl(0, 'LeapMatch', {
  fg = 'red', bold = true, nocombine = true,
})

The LeapBackdrop one works, but LeapMatch does not do anything.
I wonder how the LeapMatch highlight group would break.

Might be related to https://github.com/ggandor/leap.nvim/issues/18#issuecomment-2209493654, but LeapLabelPrimary should still work, and LeapMatch has not been touched...

My default also stopped working.
LeapLabelPrimary xxx links to IncSearch
LeapLabel      xxx cleared
But LeapLabel seems to take priority.
So if i set LeapLabel to IncSearch it works for me.
hi def link LeapLabel IncSearch
But i guess the default should set both LeapLabelPrimary and LeapLabel to the same?

@jonaz That works for me. Thanks heaps
    {
        "eldritch-theme/eldritch.nvim",
        lazy = true,
        priority = 1000,
        config = function()
            vim.cmd "hi def link LeapLabel IncSearch"
        end,
    },


Add Mayhem to Qualified Fuzz Source

Is your feature request related to a problem? Please describe.
Currently you only describe oss-fuzz and onefuzz.  Please add Mayhem from forallsecure.com, which has a free tier at mayhem.forallsecure.com.  Currently there are over 1000 repos (more than google oss-fuzz or onefuzz) using Mayhem.
Describe the solution you'd like
Add having a Mayhemfile to qualify for fuzzing
Describe alternatives you've considered
N/A
Additional context
github.com/mayhemheroes currently contains a fork of many oss projects that are now fuzzing. Some are running in Mayhem and oss-fuzz, but about half are only Mayhem.
OSS Projects Integrated and running fuzzing on every push with mayhem:

Total fuzzing users:

Thanks for the report @dbrumley. Could you expand on how Scorecard can check if a project uses Mayhem?

The presence of a Mayhemfile for our code fuzzing solution.
We have two fuzzing solutions: one for code, and one for APIs. Alternatively one could check for the presence of a github action:  https://github.com/ForAllSecure/mcode-action and our API fuzzing at https://github.com/ForAllSecure/mapi-action
Happy to look into alternatives as well.

@azeemshaikh38 I think API fuzzing works too. A great deal of projects are "dependency" projects that provide APIs.
API fuzzing is actually more granular than top-level "main program" fuzzing, so we should encourage people to do it. It's basically like unit tests, but fuzzing.
@dbrumley Can you clarify the meaning of "code" vs "API" fuzzing? Do you mean "top-level program" and "API-level" fuzzing?
+1 to add support.

IIUC, https://github.com/ForAllSecure/mapi-action is targeted towards something like REST APIs.

Mayhem for API takes an API spec, and then tries to get coverage of the spec. Coverage means that we can positively interact with the API (2xx) to make sure we're not just sending junk.  Coverage is measured. In addition, I believe it checks the most number of CVEs in the OWASP API Top 10 (more than zap for sure).
As an example, m. api has found bugs in the K8 API that ended up being fixed.
Mayhem for code is a program fuzzing tool, and takes in a docker container and fuzzes an input source (file, network socket, domain socket, stdin, etc).  It keeps track of (binary) code coverage.  Inside it's using symbolic execution and coverage-guided fuzzing.
The difference is code fuzzing tools (Mayhem, AFL, LibFuzzer) tend to do poorly with web APIs.  Mayhem for API addresses this by specifically targetting openapi specs.
Does that help? I'll put in a PR.

SGTM.


Adding react-intl

Hey dudes,
Went ahead and added React-Intl, didn't see where anyone had done this, it's a bit hairy to work with but pretty awesome once it's up and running.
Visit '/intl' route to check it out in action.
The native Intl package has some basic translations of numbers and dates included I believe (needs to be polyfilled for Safari, took care of that).
React-Intl includes a bunch of additional convenient translations for you, such as relative dates (e.g. yesterday, two weeks from now) as well as a convenient way to plug in your own locale-specific translations for page content, see '/modules/Intl/setup/localizationData/'.
One bug that's happening now that I can't figure out:  I get this error message saying 'server-side render discarded'.  No idea what's causing this, probably something small.  I figured one of you might know and then we can fix that and merge this furrealz (feel free to style and integrate as you choose, I never use bootstrap and am not sure how you want user "flow" to be so I pretty much just plopped every React-Intl element on a page haha).
Best,
Rodge

@sirrodgepodge 🍻  Great Work! Right in time for V2.
I think we don't need separate intl page. We can have the language switcher in the header itself.
I'll integrate react-intl with rest of the demo. I'll also take a look at the bug.

Hey @sirrodgepodge
I've removed the demo page, added react-intl components to all other pages and added the language switcher in the header. I've opened a new PR with these changes. So, I'm closing this.
Thank you very much for the PR!

No problem Somus!    I figured you wouldn't want a whole page dedicated to react-intl, just wanted to demo all the features and let you guys pick and choose how/what to add.
Did you figure out where that bug was coming from???


[Feature request / Bug?] Log in into Shopify (partner page / shops / ...) without a browser

Please confirm that you have:

[x] Searched existing issues to see if your issue is a duplicate. (If you’ve found a duplicate issue, feel free to add additional information in a comment on it.)

[x] Reproduced the issue in the latest CLI version.

In which of these areas are you experiencing a problem?
As I try to set up a Visual Studio Code Remote Devcontainer over a tunnel, the Shopify CLI breaks as it tries to log in.
shopify app init & shopify app dev can not be run without having a browser on the system, as the login flow needs to open a URL.
Reasons for developing in a remote container:

having a well-defined environment separated from other projects (node version, shopify cli version, own db and db version for each project, ...)
having a cheap powerful development host (either in the office, in the cloud) and use a "normal" laptop as terminal.
...

Introduction Documentation:

Developing inside a Container
Develop on a remote Docker host
Developing over a tunnel

Expected behavior
The expected behavior described, is just a hypothetical suggestion, how the problem might be solved.
Running shopify app init --remote-login & shopify app dev --remote-login in the VSC terminal over a tunnel on a remote machine, just shows a URL to be copy & pasted into a browser on the local host.
The login success confirmation screen shows a token/code to be copy & pasted into the terminal to confirm the login.
From now on, the app has access to the partner account and dev shops.
Actual behavior
After creation of the VSC devcontainer docker-compose setup on the remote host with Node & PostgreSQL support, starting them and executing following:
node ➜ /workspaces/javascript-node-postgres (main) $ shopify app init

Welcome. Let's get started by linking this new project to an app in your organization.

To run this command, log in to Shopify.
User verification code: MVPS-PPQF
👉 Press any key to open the login page on your browser
Opened link to start the auth process: https://accounts.shopify.com/activate-with-code?device_code%5Buser_code%5D=MVPS-PPQF
Error: spawn xdg-open ENOENT
    at ChildProcess._handle.onexit (node:internal/child_process:285:19)
    at onErrorNT (node:internal/child_process:483:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)
node ➜ /workspaces/javascript-node-postgres (main) $

The reason for the exception is the missing browser on the remote host (Ubuntu / Docker container).
Reproduction steps
If a change or an additional way of logging in is considered, I am more than happy to supply a configuration to be run as docker-compose setup on a remote host.

Hi @ascheucher-shopify-partner, the current auth flow should actually work without a local browser.
You should be able to copy the URL after Opened link to start the auth process: ... and open it in a different machine with a browser.
I understand that in your case is crashing trying to open the URL before you can copy it manually? We'll review this to fix it.


Wrongfully saying that it has a shared call

In this commit run make deploy-stress-test.
/home/porton/Projects/nacdb/src/example/partition/main.mo:103.16-103.106: type error [M0187], send capability required, but not available
  (cannot call a `shared` function from a `composite query` function; only calls to `query` and `composite query` functions are allowed)

But the function Nac.scanLimitOuter does not call shared functions (even indirectly), only query ones.
So, I suppose, this error message is wrong.

Minimal reproducible example:
actor Partition {
    public composite query func scanLimitOuterComposite() : async ()
    {
        await* N.outer();
    };

    module N {
        public type Test = actor {
            inner: query() -> async ();
        };

        public func outer(): async* () {
            let part: Test = actor("aaaaa-aa");
            await part.inner();
        };
    };
}

$ moc main.mo
main.mo:4.16-4.25: type error [M0187], send capability required, but not available
  (cannot call a `shared` function from a `composite query` function; only calls to `query` and `composite query` functions are allowed)

You see that it does only a query call and no shared function calls. The compiler's message is wrong.

Thanks, yes the message is in accurate, but I would still expect there to be an error here. Like all type systems, the type system is being conservative here. Although in your case it doesn't call a shared function, in general some other version of outer() (of the same type) could call a shared function, so we reject the call-site within scanLimitOuterComposite.

in general some other version of outer()

There cannot be some other version of outer: it is called a fixed function from a fixed module, there is only one such function.

in general some other version of outer()

There cannot be some other version of outer: it is called a fixed function from a fixed module, there is only one such function.

Do you convince your error?

I simplified the code to the following, it still produces the same error:
actor Partition {
    public composite query func scanLimitOuterComposite() : async ()
    {
        await* N.outer();
    };

    module N {
        public func outer(): async* () {};
    };
}

I narrowed it down to
actor Partition {
    public query func scanLimitOuterComposite() : async ()
    {
        await* async* {};
    };
}

The error is

Error [M0038] in file Main.mo:3:8 misplaced await
Error [M0037] in file Main.mo:3:15 misplaced async expression; a query cannot contain an async expression
While not perfectly precise, I can kind-of understand why this is not allowed. Any async* expression can send messages, and this is not allowed because a query is not allowed to send.

Your example has composite query, so dropping that in, we get this error:

Error [M0037] in file Main.mo:3:15 misplaced async expression; a composite query cannot contain an async expression
Error [M0087] in file Main.mo:3:15 ill-scoped await: expected async type from current scope $scanLimitOuterComposite, found async type from other scope $bogus scope $scanLimitOuterComposite is Main.mo:3.5-5.6
Warning [] in file Main.mo:2:4 start of scope $scanLimitOuterComposite mentioned in error at Main.mo:4.9-4.25
Warning [] in file Main.mo:4:4 end of scope $scanLimitOuterComposite mentioned in error at Main.mo:4.9-4.25
This is really cryptic.


Events to work

What events can I call?

I am sorry, I do not saw the documentation: https://weareoutman.github.io/clockpicker/


Update okhttp to 4.7.0

Updates com.squareup.okhttp3:okhttp from 4.6.0 to 4.7.0.
Changelog
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.squareup.okhttp3", artifactId = "okhttp" } ]

labels: library-update, semver-minor

Superseded by #3437.


DB Encryption (this time in model.js )

tested with aes-256-cbc.
new params: algorithm and key during load call.

I'd say this PR is no longer relevant.  The proposed solution that already exists today (as of v1.1.0, circa December 2014) is to utilize the afterSerialization and beforeDeserialization hooks for consumer-customized encryption/decryption.  I've been using them for a while now, and they work well.

Indeed, closing PR.


v0.16 not available in OpenShift Operator catalog

v0.16 was released over a week ago and is not yet available in the OpenShift Operator catalog.  Could this be due to the test failure: https://github.com/citrusframework/yaks/actions/runs/6034854151/job/16374060958?

yeah, unfortunately 0.15.1 has still not been completely merged yet (https://github.com/redhat-openshift-ecosystem/community-operators-prod/pull/3189)


Fixed bug that triggers renders exponentially when switching between themes. Added dark logo.

There was a bug that was triggering renders exponentially when switching between themes. This bug was caused because a new event listener to switch between themes was being added every time a render happens. I fixed it by encapsulating it into an UseEffect that only executes at the first render.
I have added a dark logo based on the dark logos in drive, so we have more flexibility when selecting colors (Related to #21)

There was a problem with the test. I will fix it.

Thanks @AlbertoCasasOrtiz there was also a compilation error in ci, the logos look great though, thank you


Fix withText description for CheckRunEventAction

Issue reference:
Closes #34
Submission Checklist:

[x] Have you followed the guidelines in our Contributing document (for example, is your tree a clean merge)?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Does your submission build?
[x] Does your submission pass tests?

[x] Have you updated all of the cabal/nix infrastructure?
[x] Is this a breaking change? Have you discussed this?

I don't really understand what the build failures are.

It’s not you, some upgrade to hlint added a lint that broke CI.

Ah I see. I think this should fix it. The failure seems to be complaining that putStrLn . show is equivalent to print. The latter is preferred.

Sweet thanks, you beat me to fixing #33.


getbalance always return 0.000000000000

for example:
neither
var balance = BitcoinService.GetBalance(address, 1, true);
nor
var balance = BitcoinService.GetBalance(address);
does not return correct balance - but only 0.000000000

GetBalance doesn't take address as a parameter. Please consult the method definition before opening an issue here. This might also be useful.


Keep AppServers within range based on active sessions

This is a continuation of https://github.com/AppScale/appscale/pull/2451.

https://ocd.appscale.com:8080/job/Daily Build/3314/

https://ocd.appscale.com:8080/job/Daily Build/3331/
https://ocd.appscale.com:8080/job/Hawkeye/11253/
https://ocd.appscale.com:8080/job/Tools-test/1960/
https://ocd.appscale.com:8080/job/Migration/1523/


Implement Tracker names

Need to be merged after https://github.com/SlimeVR/SlimeVR-Server/pull/205

Please remove IDevice interface, it's not needed + we don't use I in interface names.


How to check the response of search is empty in ajax search

I am unable to get the method for getting the response after ajax request .I am also unable to show loading image in searchbox.I have seen onAddtoken,onRemoveToken methods,but I need to know a function which can be used when user types a letter,so that I can show a loading image .Also how to check response

Loading are not supported for this plugin.
This will be implemented with tokenize2 (new version), but I don't have any release date for the moment


mysql insert decimal 'null' error

https://dist.apache.org/repos/dist/dev/incubator/shardingsphere/4.0.0-RC1/apache-shardingsphere-incubating-4.0.0-RC1-sharding-proxy-bin.tar.gz
(1)
create table t_test1(id int primary key,amount decimal(16,2));
(2)
[SQL]insert into t_test1(id,amount) VALUES(1212,null)
[Err] 10002 - 2Unknown exception: [java.sql.SQLException: Incorrect decimal value: 'null' for column 'amount' at row 1]
thanks

Duplicate with #2622 and #2538.


How to stretch content and remove margins?

Hi,
I was wondering if you can maybe help me.
http://stackoverflow.com/questions/36041668/wkhtmltopdf-how-to-set-a-stretched-a4-pdf-document

Sorry, that's an issue for wkhtmltopdf itself. This library is just a lightweight wrapper class.


Fake TaskbarX Website

Hi,
This may not be an issue, but I like to inform you that there's a fake TaskbarX site: https://taskbarx.net/.
It comes first on DuckDuckGo's search results so that might be a problem...
Can you do something about this, maybe somehow inform people about this?
Thanks in Advance.

@Sergij-SApcPro I am aware of this website and sadly it ranks better on DuckDuckGo. I have already reported this website but no response.. The only thing I can do is do some SEO so my website will rank first on DuckDuckGo.
Thank you!

@Sergij-SApcPro I am aware of this website and sadly it ranks better on DuckDuckGo. I have already reported this website but no response.. The only thing I can do is do some SEO so my website will rank first on DuckDuckGo.
Thank you!


Include "Draft" and draft status only for full PubID format

related #11

@mico please feel free to merge. Thanks!


When you click "View facility list" the facilities are not listed in alphabetical order

Overview
After searching the OAR site, when you select "View facility list" the results returned are not listed in alphabetical order.
Expected Behavior
When viewing a list of facilities, I would expect them to be listed in alphabetical order.
Actual Behavior
I'm not certain whether there is a logic behind the way the results are presented (e.g. by country), or whether they are listed randomly, but they are not presented in alphabetical order.
Steps to Reproduce

Run a search on the site
Click 'View facility list"

Demo
N/A
Additional context
N/A

I'll make this change as part of working on #209 / #237


Link to docs in readme?

Suggestion: link to the following page in README.md: https://dump.01alchemist.com/2016/12/31/future-webhpc-parallel-programming-with-javascript-the-new-era-about-to-begin/ (functions as a sort-of minimal documentation explaining what this project is about).

Useful links added to readme. Detailed documentation will follow after full asm.js emitter validation completed

👍


No summary info found, symbol may be delisted

Just started receiving the following error for the most of SP500 & Nasdaq stocks: No summary info found, symbol may be delisted
import yfinance as yf

test = yf.Ticker("AMZD") # KARO, CSTL, FALN, etc
print(test.info)

Working here (yfinance 0.2.4); tried the 1st couple in your list. Maybe a temporary glitch on Yahoo?

yeah, also it's probably yahoo's rate limiter. I've been querying stocks in 20 threads, after 1-2k queries it starts returning this error


Debugging with visual code using "useWSL":true, works the first time, but hangs on the next run

I recently tried out the new feature "useWSL":true for debugging Node applications through Visual Code, but using WSL bash session.  It all works perfectly the first time, but after you stop debugging (by clicking stop in the debugger), the process that was launched in WSL to run node is not terminated.  The workaround is to find the offending node process using ps -ef and terminate it.
Subsequent attempts at rerunning the debugger without terminating the process result in duplicate processes being started, and if you are working on a web app, blocking of ports.

Windows build number:  Version 10.0.16299.19

Have you tried this recently? I know the VSCode stuff has changed a lot since this was filed.

@benhillis I have not had this issue since. Though to be honest, I have been out of coding this last few months.  Thanks for checking!

@alanosman - thanks! Doing a bit of spring cleaning on our GitHub...


Added change to jenkins config to include any annotations in pod template

To address This issue

@rawlingsj Pr for chart. Not sure how to assign people as reviewers

great thanks @jecafarelli
/approve


SpringBoard crash

random SpringBoard crashes on my iphone 6s.

Post more info such as a tweak list (use Flame to easily get it).

@yuvrajsab you didn't respond, so I'm closing this.


Run DPE verification tests against Caliptra

Use HwModel and libcaliptra to run DPE's verification tests (written in Go) against Caliptra.
This suite tests conformance with the DPE spec as well as related X.509 and PKCS#10 specs.

Fix for rt panic CI failure is at https://github.com/chipsalliance/caliptra-dpe/pull/236


Audio Tour

Medium priority for mobile projects, see this issue.

Conversions for this HFC symbol came together quickly.
  16
  24
  32px


[GLUTEN-2661][VL] Replace unnecessary exception to fallback when use velox native parquet write

What changes were proposed in this pull request?
Some problems bring in by patch [GLUTEN-1925]. Some unnecessary exceptions are thrown and the task fails. This patch replaces the exception with a rollback.
How was this patch tested?
Run UT by set spark.gluten.sql.native.parquet.writer.enabled=true
Run TPCDS by set spark.gluten.sql.native.parquet.writer.enabled=true && spark.sql.sources.useV1SourceList=parquet

The title was changed to refer to issue #2661, assuming you intended to fix that issue.
CI reported code format violation issue. Please follow the below guide to generate a fix. Thanks!
https://github.com/oap-project/gluten/blob/main/docs/developers/NewToGluten.md#javascala-code-style

cc @zhztheplayer @zhouyuan @binmahone

@jackylee-ch LGTM


[BUG] GetEffectiveNetworkSecurityGroups fails with Json exception due to improper type handling

Library name and version
Azure.ResourceManager.Network 1.1.0
Describe the bug
The GetEffectiveNetworkSecurityGroups() / GetEffectiveNetworkSecurityGroupsAsync() methods in the NetworkInterfaceResource class fail when attempting to process the tagMap property in the result data.
The following exception is thrown: System.Text.Json.Rethrowable: The requested operation requires an element of type 'String', but the target element has type 'Object'.
Indeed, the property is an object in the actual API response:
"tagMap": {
    "VirtualNetwork": [
        "<IP_ADDRESS>/24",
        "<IP_ADDRESS>/15",
        "<IP_ADDRESS>/32"
    ],
    "AzureLoadBalancer": [
        "<IP_ADDRESS>/32",
        "fe80::1234:5678:9abc/128"
    ],
    "Internet": [
        "<IP_ADDRESS>/8",
        "<IP_ADDRESS>/7",
        "<IP_ADDRESS>/9",
        "<IP_ADDRESS>/12",
        ...
    ]
}

...but it seems that the code is expecting a string value.
In looking at the Swagger definitions for various versions of the /networkInterfaces API, the tagMap property definition seems to be incorrect:
"tagMap": {
    "type": "string",
    "additionalProperties": {
        "type": "array",
        "items": {
            "type": "string"
        },
        "description": "List of IP Addresses within the tag (key)."
    },
    "description": "Mapping of tags to list of IP Addresses included within the tag."
}

The current public documentation for the API is accurate.
Expected behavior
Calls to these methods succeed, and the appropriate data is returned.
Actual behavior
Both the synchronous and asynchronous methods fail when the results from the operation are processed.
The following is a stacktrace:
The requested operation requires an element of type 'String', but the target element has type 'Object'.
   at System.Text.Json.JsonDocument.GetString(Int32 index, JsonTokenType expectedType)
   at System.Text.Json.JsonElement.GetString()
   at Azure.ResourceManager.Network.Models.EffectiveNetworkSecurityGroup.DeserializeEffectiveNetworkSecurityGroup(JsonElement element) in /_/sdk/network/Azure.ResourceManager.Network/src/Generated/Models/EffectiveNetworkSecurityGroup.Serialization.cs:line 62
   at Azure.ResourceManager.Network.Models.EffectiveNetworkSecurityGroupListResult.DeserializeEffectiveNetworkSecurityGroupListResult(JsonElement element) in /_/sdk/network/Azure.ResourceManager.Network/src/Generated/Models/EffectiveNetworkSecurityGroupListResult.Serialization.cs:line 32
   at Azure.ResourceManager.Network.EffectiveNetworkSecurityGroupListResultOperationSource.<Azure-Core-IOperationSource<Azure-ResourceManager-Network-Models-EffectiveNetworkSecurityGroupListResult>-CreateResultAsync>d__1.MoveNext() in /_/sdk/network/Azure.ResourceManager.Network/src/Generated/LongRunningOperation/EffectiveNetworkSecurityGroupListResultOperationSource.cs:line 28
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
   at Azure.Core.NextLinkOperationImplementation.OperationToOperationOfT`1.<UpdateStateAsync>d__3.MoveNext() in /_1/microsoft.azure.autorest.csharp/3.0.0-beta.20221030.1/content/Generator.Shared/NextLinkOperationImplementation.cs:line 425
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
   at Azure.Core.OperationInternal`1.<UpdateStatusAsync>d__20.MoveNext() in /_/sdk/core/Azure.Core/src/Shared/OperationInternalOfT.cs:line 260
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
   at Azure.Core.OperationInternalBase.<UpdateStatusAsync>d__13.MoveNext() in /_/sdk/core/Azure.Core/src/Shared/OperationInternalBase.cs:line 87
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
   at Azure.Core.OperationPoller.<WaitForCompletionAsync>d__11.MoveNext() in /_/sdk/core/Azure.Core/src/Shared/OperationPoller.cs:line 79
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
   at Azure.Core.OperationInternalBase.<WaitForCompletionResponseAsync>d__19.MoveNext() in /_/sdk/core/Azure.Core/src/Shared/OperationInternalBase.cs:line 202
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
   at Azure.Core.OperationInternal`1.<WaitForCompletionAsync>d__19.MoveNext() in /_/sdk/core/Azure.Core/src/Shared/OperationInternalOfT.cs:line 242
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
   at Azure.Core.OperationInternal`1.<WaitForCompletionAsync>d__15.MoveNext() in /_/sdk/core/Azure.Core/src/Shared/OperationInternalOfT.cs:line 177
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
   at Azure.ResourceManager.Network.NetworkInterfaceResource.<GetEffectiveNetworkSecurityGroupsAsync>d__30.MoveNext() in /_/sdk/network/Azure.ResourceManager.Network/src/Generated/NetworkInterfaceResource.cs:line 393

Reproduction Steps
string nicId = "/subscriptions/.../example-nic";

NetworkInterfaceResource nicResource = this._armClient.GetNetworkInterfaceResource(ResourceIdentifier.Parse(nicId));

ArmOperation<EffectiveNetworkSecurityGroupListResult> operation = await nicResource.GetEffectiveNetworkSecurityGroupsAsync(WaitUntil.Completed);

Environment

Azure.ResourceManager.Network 1.1.0
.NET 6.0, Azure Functions v4
Visual Studio 17.4.3

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

HI @simonlrostron thank you for the issue! The root cause is indeed something wrong in the spec definition: https://github.com/Azure/azure-rest-api-specs/blob/7384176da46425e7899708f263e0598b851358c2/specification/network/resource-manager/Microsoft.Network/stable/2021-02-01/networkInterface.json#L1316
We defined the additionalProperties therefore the initial intent should be trying to define this as a dictionary, but we accidentally put a type: string on this property which nullifies the additionalProperties therefore in the generated code, this property is generated as a string.
We will investigate this further and have an update for this very soon


dotnet build errror when starting a bot project (because it is being used by another process)

Describe the bug
I've seen this a number of times now when switching between different bot projects. Bots start to report errors when starting due to the .exe being used by another process. bot project has only been launched as part of using Composer, VS hasn't been opened against the csproj or anything outside composer.
Digging around in task manager it seems djbfskill6 had a process running in the background, Composer perhaps isn't terminating these processes correctly in some instances?
Error occurred building the bot

Message:
Command failed: dotnet build djbfskill1.csproj
Command:
dotnet build djbfskill1.csproj
Stack Trace:
Error: Command failed: dotnet build djbfskill1.csproj

    at ChildProcess.exithandler (child_process.js:308:12)
    at ChildProcess.emit (events.js:210:5)
    at maybeClose (internal/child_process.js:1021:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
Output:
Microsoft (R) Build Engine version 16.9.0+57a23d249 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.

  Determining projects to restore...
C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj : warning NU1701: Package 'Microsoft.Azure.KeyVault.Core 1.0.0' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETCoreApp,Version=v3.1'. This package may not be fully compatible with your project.
  All projects are up-to-date for restore.
C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj : warning NU1701: Package 'Microsoft.Azure.KeyVault.Core 1.0.0' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETCoreApp,Version=v3.1'. This package may not be fully compatible with your project.
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 1 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 2 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 3 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 4 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 5 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 6 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 7 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 8 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 9 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 10 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): error MSB3027: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Exceeded retry count of 10. Failed.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): error MSB3021: Unable to copy file "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process. [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]

Build FAILED.

C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj : warning NU1701: Package 'Microsoft.Azure.KeyVault.Core 1.0.0' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETCoreApp,Version=v3.1'. This package may not be fully compatible with your project.
C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj : warning NU1701: Package 'Microsoft.Azure.KeyVault.Core 1.0.0' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETCoreApp,Version=v3.1'. This package may not be fully compatible with your project.
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 1 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 2 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 3 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 4 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 5 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 6 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 7 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 8 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 9 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): warning MSB3026: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Beginning retry 10 in 1000ms. The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): error MSB3027: Could not copy "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". Exceeded retry count of 10. Failed.  [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]
C:\Program Files\dotnet\sdk\5.0.201\Microsoft.Common.CurrentVersion.targets(4919,5): error MSB3021: Unable to copy file "C:\Users\darrenj\djbfskill1\djbfskill1\obj\Debug\netcoreapp3.1\apphost.exe" to "bin\Debug\netcoreapp3.1\djbfskill1.exe". The process cannot access the file 'C:\Users\darrenj\djbfskill1\djbfskill1\bin\Debug\netcoreapp3.1\djbfskill1.exe' because it is being used by another process. [C:\Users\darrenj\djbfskill1\djbfskill1\djbfskill1.csproj]

Version
1.4.0-nightly.237101
Browser

[x] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[ ] macOS
[x] Windows
[ ] Ubuntu

By "switching bot projects" do you mean, open bot1, start bot1, and switch to bot2 and back to bot1, then start again?

note: seems to be an issue with the new runtime

Now I have 3 dangling processes with Composer closed and no bugs hit:

Passing P0 from closed dup here for consideration.

Shiproom - Tony is working on a similar issue that relates to this.  depending on that issue, we'll decide on this issue.

I am also able to repro this by doing the following:

Create / Open bot
Start bot
Install package while bot is running
Try to start bot
Observe errors
Starting bot again is successful

Related: #7498

After some investigation, it seems like the package manager extension is calling reloadProject() which does not actually stop the currently running bot. However, the correct behavior -- which is observed when switching bot projects, is to call stopBot().
This is a limitation of the shell API which does not expose the ability to stop a bot to the extensions.

let's use this ticket to track a better cleanup approach for all processes like what VSCode do.

I spiked out a PoC of a mechanism that would allow the Electron main process to wait for asynchronous cleanup tasks on the renderer process before shutting down.
You can find the source here.
Now it's just a matter of deciding whether it's something we want to use or modify and then porting it over to Composer. We would then be able to wait for running bots to be shut down by this mechanism before closing Composer.

I spiked out a PoC of a mechanism that would allow the Electron main process to wait for asynchronous cleanup tasks on the renderer process before shutting down.
You can find the source here.
Now it's just a matter of deciding whether it's something we want to use or modify and then porting it over to Composer. We would then be able to wait for running bots to be shut down by this mechanism before closing Composer.

Awesome demo of the POC, it looks very promising. In terms of timeline, at this moment i don't think we have resource to include this in R14, what do you think?  How about we move this to R15?

@boydc2014 I agree. Let's move it to R15.
Here are some notes from the team's previous meeting about the feature:

Need to test this with auto update -- will calls to installAndUpdate(), which closes all the app windows, trigger the shutdown logic?

Need to consider handling force quits (Alt + F4 / Task Manager on Windows -- Mac equivalent)

Can catch UNIX signals:
process.on('SIGINT', () => { doCleanup() });
This should be cross-platform as well

Blocking client on cleanup could be annoying without some sort of status / progress screen (Shutting down...)

Teams used to do this in the early days and it was annoying
We could also add a timeout that eventually force quits the app if the shutdown is taking too long

Regarding auto update compatibility, from the electron-updater source:

Note: autoUpdater.quitAndInstall() will close all application windows first and only emit before-quit event on app after that.

This should hit the clean-up logic.

There was some work done to improve this. I believe this is fixed. Feel free to reopen if not