Spark query cancellation

Closes #223.
Depends on https://github.com/src-d/PyHive/pull/2.
This PR adds support for query cancellation by canceling the underlying Spark job. This is done by saving in the query object the corresponding json serialized operationHandle in the extra field. This operationHandle is then retrieved, marshaled and sent to Thrift server to request the cancelation.
This also adds some logging and sets the log level and log file for celery worker.
At celery layer the task ends correctly without raising any error:
[2019-08-27 13:59:30,711: INFO/MainProcess] Received task: sql_lab.get_sql_results[95b522b4-2336-492a-9784-baadce9f1cc1]
[2019-08-27 13:59:31,098: INFO/MainProcess] Parsing with sqlparse statement SELECT
    r.repository_id AS repo,
    c.commit_author_when AS date,
    cm.file_path AS path,
    UAST_EXTRACT(UAST(f.blob_content, 'Go', '//uast:Import/Path'), 'Value') AS imports
FROM
    repositories AS r
    NATURAL JOIN ref_commits AS rc
    NATURAL JOIN commits AS c
    NATURAL JOIN commit_files AS cm
    NATURAL JOIN files AS f
WHERE rc.ref_name = 'HEAD'
    AND f.file_path REGEXP('.*.go$')
    AND NOT IS_VENDOR(f.file_path)
    AND NOT IS_BINARY(f.blob_content)
    AND f.blob_size < 1000000
[2019-08-27 13:59:31,109: INFO/MainProcess] Executing 1 statement(s)
[2019-08-27 13:59:31,109: INFO/MainProcess] Set query to 'running'
[2019-08-27 13:59:31,109: INFO/MainProcess] Database.get_sqla_engine(). Masked URL: sparksql://gsc:10000/default
[2019-08-27 13:59:31,448: INFO/MainProcess] USE `default`
[2019-08-27 13:59:32,221: INFO/MainProcess] Running statement 1 out of 1
[2019-08-27 13:59:32,244: INFO/MainProcess] Parsing with sqlparse statement SELECT
    r.repository_id AS repo,
    c.commit_author_when AS date,
    cm.file_path AS path,
    UAST_EXTRACT(UAST(f.blob_content, 'Go', '//uast:Import/Path'), 'Value') AS imports
FROM
    repositories AS r
    NATURAL JOIN ref_commits AS rc
    NATURAL JOIN commits AS c
    NATURAL JOIN commit_files AS cm
    NATURAL JOIN files AS f
WHERE rc.ref_name = 'HEAD'
    AND f.file_path REGEXP('.*.go$')
    AND NOT IS_VENDOR(f.file_path)
    AND NOT IS_BINARY(f.blob_content)
    AND f.blob_size < 1000000
[2019-08-27 13:59:32,256: INFO/MainProcess] Parsing with sqlparse statement SELECT
    r.repository_id AS repo,
    c.commit_author_when AS date,
    cm.file_path AS path,
    UAST_EXTRACT(UAST(f.blob_content, 'Go', '//uast:Import/Path'), 'Value') AS imports
FROM
    repositories AS r
    NATURAL JOIN ref_commits AS rc
    NATURAL JOIN commits AS c
    NATURAL JOIN commit_files AS cm
    NATURAL JOIN files AS f
WHERE rc.ref_name = 'HEAD'
    AND f.file_path REGEXP('.*.go$')
    AND NOT IS_VENDOR(f.file_path)
    AND NOT IS_BINARY(f.blob_content)
    AND f.blob_size < 1000000
[2019-08-27 13:59:32,265: INFO/MainProcess] Running query:
SELECT
    r.repository_id AS repo,
    c.commit_author_when AS date,
    cm.file_path AS path,
    UAST_EXTRACT(UAST(f.blob_content, 'Go', '//uast:Import/Path'), 'Value') AS imports
FROM
    repositories AS r
    NATURAL JOIN ref_commits AS rc
    NATURAL JOIN commits AS c
    NATURAL JOIN commit_files AS cm
    NATURAL JOIN files AS f
WHERE rc.ref_name = 'HEAD'
    AND f.file_path REGEXP('.*.go$')
    AND NOT IS_VENDOR(f.file_path)
    AND NOT IS_BINARY(f.blob_content)
    AND f.blob_size < 1000000 LIMIT 100000
[2019-08-27 13:59:32,266: INFO/MainProcess] SELECT
    r.repository_id AS repo,
    c.commit_author_when AS date,
    cm.file_path AS path,
    UAST_EXTRACT(UAST(f.blob_content, 'Go', '//uast:Import/Path'), 'Value') AS imports
FROM
    repositories AS r
    NATURAL JOIN ref_commits AS rc
    NATURAL JOIN commits AS c
    NATURAL JOIN commit_files AS cm
    NATURAL JOIN files AS f
WHERE rc.ref_name = 'HEAD'
    AND f.file_path REGEXP('.*.go$')
    AND NOT IS_VENDOR(f.file_path)
    AND NOT IS_BINARY(f.blob_content)
    AND f.blob_size < 1000000 LIMIT 100000
[2019-08-27 13:59:32,272: INFO/MainProcess] Handling cursor
[2019-08-27 13:59:32,334: INFO/MainProcess] Current operation handles: [{'operation_id': {'guid': 'È\x88\x8e°u\x85OL\x84bÚãORÿ\x86', 'secret': 'f´\x10£a\x1eNI\x95ä@ø?ÝâÂ'}, 'operation_type': 0, 'has_result_set': True, 'modified_row_count': None}]
[2019-08-27 13:59:35,859: WARNING/MainProcess] An exception occured while fetching data, returning empty result
[2019-08-27 13:59:36,194: INFO/MainProcess] Storing results in results backend, key: 0368a910-337e-4d2a-b50a-f3c788322976
[2019-08-27 13:59:36,227: INFO/MainProcess] Task sql_lab.get_sql_results[95b522b4-2336-492a-9784-baadce9f1cc1] succeeded in 5.507471300006728s: None

At Spark level it's possible to see that the job is canceled by looking at the dashboard: http://localhost:4040/jobs:

On the other hand some exception is not handled by gsc:
sourced-ui_1    | 2019-08-27 13:59:30,464:INFO:root:Parsing with sqlparse statement SELECT
sourced-ui_1    |     r.repository_id AS repo,
sourced-ui_1    |     c.commit_author_when AS date,
sourced-ui_1    |     cm.file_path AS path,
sourced-ui_1    |     UAST_EXTRACT(UAST(f.blob_content, 'Go', '//uast:Import/Path'), 'Value') AS imports
sourced-ui_1    | FROM
sourced-ui_1    |     repositories AS r
sourced-ui_1    |     NATURAL JOIN ref_commits AS rc
sourced-ui_1    |     NATURAL JOIN commits AS c
sourced-ui_1    |     NATURAL JOIN commit_files AS cm
sourced-ui_1    |     NATURAL JOIN files AS f
sourced-ui_1    | WHERE rc.ref_name = 'HEAD'
sourced-ui_1    |     AND f.file_path REGEXP('.*.go$')
sourced-ui_1    |     AND NOT IS_VENDOR(f.file_path)
sourced-ui_1    |     AND NOT IS_BINARY(f.blob_content)
sourced-ui_1    |     AND f.blob_size < 1000000
sourced-ui_1    | 2019-08-27 13:59:30,543:INFO:root:Parsing with sqlparse statement SELECT
sourced-ui_1    |     r.repository_id AS repo,
sourced-ui_1    |     c.commit_author_when AS date,
sourced-ui_1    |     cm.file_path AS path,
sourced-ui_1    |     UAST_EXTRACT(UAST(f.blob_content, 'Go', '//uast:Import/Path'), 'Value') AS imports
sourced-ui_1    | FROM
sourced-ui_1    |     repositories AS r
sourced-ui_1    |     NATURAL JOIN ref_commits AS rc
sourced-ui_1    |     NATURAL JOIN commits AS c
sourced-ui_1    |     NATURAL JOIN commit_files AS cm
sourced-ui_1    |     NATURAL JOIN files AS f
sourced-ui_1    | WHERE rc.ref_name = 'HEAD'
sourced-ui_1    |     AND f.file_path REGEXP('.*.go$')
sourced-ui_1    |     AND NOT IS_VENDOR(f.file_path)
sourced-ui_1    |     AND NOT IS_BINARY(f.blob_content)
sourced-ui_1    |     AND f.blob_size < 1000000
sourced-ui_1    | 2019-08-27 13:59:30,602:INFO:root:Triggering query_id: 2
sourced-ui_1    | 2019-08-27 13:59:30,617:INFO:root:Running query on a Celery worker
gsc_1           | 2019-08-27 13:59:31 INFO  ThriftCLIService:243 - Client protocol version: HIVE_CLI_SERVICE_PROTOCOL_V6
gsc_1           | 2019-08-27 13:59:31 INFO  SessionState:641 - Created HDFS directory: /tmp/hive/superset
gsc_1           | 2019-08-27 13:59:31 INFO  SessionState:641 - Created local directory: /tmp/d10bef94-f4ac-4a03-a7dd-79fb5fb23895_resources
gsc_1           | 2019-08-27 13:59:31 INFO  SessionState:641 - Created HDFS directory: /tmp/hive/superset/d10bef94-f4ac-4a03-a7dd-79fb5fb23895
gsc_1           | 2019-08-27 13:59:31 INFO  SessionState:641 - Created local directory: /tmp/root/d10bef94-f4ac-4a03-a7dd-79fb5fb23895
gsc_1           | 2019-08-27 13:59:31 INFO  SessionState:641 - Created HDFS directory: /tmp/hive/superset/d10bef94-f4ac-4a03-a7dd-79fb5fb23895/_tmp_space.db
gsc_1           | 2019-08-27 13:59:31 INFO  HiveSessionImpl:318 - Operation log session directory is created: /tmp/root/operation_logs/d10bef94-f4ac-4a03-a7dd-79fb5fb23895
gsc_1           | 2019-08-27 13:59:31 INFO  SparkExecuteStatementOperation:54 - Running query 'USE `default`' with 1ddc7292-c160-4d74-a7b0-f0c932a124d8
gsc_1           | 2019-08-27 13:59:32 INFO  CodeGenerator:54 - Code generated in 378.3003 ms
gsc_1           | 2019-08-27 13:59:32 INFO  DAGScheduler:54 - Asked to cancel job group 1ddc7292-c160-4d74-a7b0-f0c932a124d8
gsc_1           | 2019-08-27 13:59:32 INFO  SparkExecuteStatementOperation:54 - Running query 'SELECT
gsc_1           |     r.repository_id AS repo,
gsc_1           |     c.commit_author_when AS date,
gsc_1           |     cm.file_path AS path,
gsc_1           |     UAST_EXTRACT(UAST(f.blob_content, 'Go', '//uast:Import/Path'), 'Value') AS imports
gsc_1           | FROM
gsc_1           |     repositories AS r
gsc_1           |     NATURAL JOIN ref_commits AS rc
gsc_1           |     NATURAL JOIN commits AS c
gsc_1           |     NATURAL JOIN commit_files AS cm
gsc_1           |     NATURAL JOIN files AS f
gsc_1           | WHERE rc.ref_name = 'HEAD'
gsc_1           |     AND f.file_path REGEXP('.*.go$')
gsc_1           |     AND NOT IS_VENDOR(f.file_path)
gsc_1           |     AND NOT IS_BINARY(f.blob_content)
gsc_1           |     AND f.blob_size < 1000000 LIMIT 100000' with 19b28028-c118-4cff-8e9f-83887ad073a9
gsc_1           | 2019-08-27 13:59:33 INFO  CodeGenerator:54 - Code generated in 162.9486 ms
sourced-ui_1    | 2019-08-27 13:59:34,320:INFO:root:Requested stop query for client id `u3t9XvZtm`
sourced-ui_1    | 2019-08-27 13:59:34,335:INFO:root:Query retrieved with id `2`
sourced-ui_1    | 2019-08-27 13:59:34,393:INFO:root:Committed status change for query with id `2`
sourced-ui_1    | 2019-08-27 13:59:34,408:INFO:root:Query with id `2` has connection id `1`
sourced-ui_1    | 2019-08-27 13:59:34,430:INFO:root:Database.get_sqla_engine(). Masked URL: sparksql://gsc:10000/default
gsc_1           | 2019-08-27 13:59:34 INFO  CodeGenerator:54 - Code generated in 103.8353 ms
gsc_1           | 2019-08-27 13:59:34 INFO  CodeGenerator:54 - Code generated in 30.1023 ms
gsc_1           | 2019-08-27 13:59:34 INFO  ThriftCLIService:243 - Client protocol version: HIVE_CLI_SERVICE_PROTOCOL_V6
gsc_1           | 2019-08-27 13:59:35 INFO  SessionState:641 - Created local directory: /tmp/62dd5a06-063a-4128-8ec0-d762268c4249_resources
gsc_1           | 2019-08-27 13:59:35 INFO  SessionState:641 - Created HDFS directory: /tmp/hive/superset/62dd5a06-063a-4128-8ec0-d762268c4249
gsc_1           | 2019-08-27 13:59:35 INFO  SessionState:641 - Created local directory: /tmp/root/62dd5a06-063a-4128-8ec0-d762268c4249
gsc_1           | 2019-08-27 13:59:35 INFO  SessionState:641 - Created HDFS directory: /tmp/hive/superset/62dd5a06-063a-4128-8ec0-d762268c4249/_tmp_space.db
gsc_1           | 2019-08-27 13:59:35 INFO  HiveSessionImpl:318 - Operation log session directory is created: /tmp/root/operation_logs/62dd5a06-063a-4128-8ec0-d762268c4249
sourced-ui_1    | 2019-08-27 13:59:35,375:INFO:pyhive.hive:USE `default`
gsc_1           | 2019-08-27 13:59:35 INFO  SparkExecuteStatementOperation:54 - Running query 'USE `default`' with 21cd9a0e-bb90-4ab7-8ddd-d25feeabe492
gsc_1           | 2019-08-27 13:59:35 INFO  DAGScheduler:54 - Asked to cancel job group 21cd9a0e-bb90-4ab7-8ddd-d25feeabe492
sourced-ui_1    | 2019-08-27 13:59:35,471:INFO:root:Calling `cancel_query` on db engine
sourced-ui_1    | 2019-08-27 13:59:35,471:INFO:root:Cancelling query with id: `2`
sourced-ui_1    | 2019-08-27 13:59:35,472:INFO:root:Cancelling operation handle: `{'operation_id': {'guid': 'È\x88\x8e°u\x85OL\x84bÚãORÿ\x86', 'secret': 'f´\x10£a\x1eNI\x95ä@ø?ÝâÂ'}, 'operation_type': 0, 'has_result_set': True, 'modified_row_count': None}`
gsc_1           | 2019-08-27 13:59:35 INFO  SparkExecuteStatementOperation:54 - Cancel 'SELECT
gsc_1           |     r.repository_id AS repo,
gsc_1           |     c.commit_author_when AS date,
gsc_1           |     cm.file_path AS path,
gsc_1           |     UAST_EXTRACT(UAST(f.blob_content, 'Go', '//uast:Import/Path'), 'Value') AS imports
gsc_1           | FROM
gsc_1           |     repositories AS r
gsc_1           |     NATURAL JOIN ref_commits AS rc
gsc_1           |     NATURAL JOIN commits AS c
gsc_1           |     NATURAL JOIN commit_files AS cm
gsc_1           |     NATURAL JOIN files AS f
gsc_1           | WHERE rc.ref_name = 'HEAD'
gsc_1           |     AND f.file_path REGEXP('.*.go$')
gsc_1           |     AND NOT IS_VENDOR(f.file_path)
gsc_1           |     AND NOT IS_BINARY(f.blob_content)
gsc_1           |     AND f.blob_size < 1000000 LIMIT 100000' with 19b28028-c118-4cff-8e9f-83887ad073a9
gsc_1           | 2019-08-27 13:59:35 INFO  DAGScheduler:54 - Asked to cancel job group 19b28028-c118-4cff-8e9f-83887ad073a9
gsc_1           | 2019-08-27 13:59:35 INFO  SparkContext:54 - Starting job: run at AccessController.java:0
gsc_1           | 2019-08-27 13:59:35 INFO  ContextCleaner:54 - Cleaned accumulator 0
gsc_1           | 2019-08-27 13:59:35 ERROR SparkExecuteStatementOperation:91 - Error executing query, currentState CANCELED,
gsc_1           | java.lang.InterruptedException
gsc_1           | 	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1302)
gsc_1           | 	at scala.concurrent.impl.Promise$DefaultPromise.tryAwait(Promise.scala:202)
gsc_1           | 	at scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:218)
gsc_1           | 	at scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:153)
gsc_1           | 	at org.apache.spark.util.ThreadUtils$.awaitReady(ThreadUtils.scala:222)
gsc_1           | 	at org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:633)
gsc_1           | 	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2034)
gsc_1           | 	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2055)
gsc_1           | 	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2074)
gsc_1           | 	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2099)
gsc_1           | 	at org.apache.spark.rdd.RDD$$anonfun$collect$1.apply(RDD.scala:945)
gsc_1           | 	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
gsc_1           | 	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
gsc_1           | 	at org.apache.spark.rdd.RDD.withScope(RDD.scala:363)
gsc_1           | 	at org.apache.spark.rdd.RDD.collect(RDD.scala:944)
gsc_1           | 	at org.apache.spark.sql.execution.SparkPlan.executeCollect(SparkPlan.scala:297)
gsc_1           | 	at org.apache.spark.sql.Dataset.org$apache$spark$sql$Dataset$$collectFromPlan(Dataset.scala:3278)
gsc_1           | 	at org.apache.spark.sql.Dataset$$anonfun$collect$1.apply(Dataset.scala:2727)
gsc_1           | 	at org.apache.spark.sql.Dataset$$anonfun$collect$1.apply(Dataset.scala:2727)
gsc_1           | 	at org.apache.spark.sql.Dataset$$anonfun$52.apply(Dataset.scala:3259)
gsc_1           | 	at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:77)
gsc_1           | 	at org.apache.spark.sql.Dataset.withAction(Dataset.scala:3258)
gsc_1           | 	at org.apache.spark.sql.Dataset.collect(Dataset.scala:2727)
gsc_1           | 	at org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation.org$apache$spark$sql$hive$thriftserver$SparkExecuteStatementOperation$$execute(SparkExecuteStatementOperation.scala:246)
gsc_1           | 	at org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation$$anon$1$$anon$2.run(SparkExecuteStatementOperation.scala:175)
gsc_1           | 	at org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation$$anon$1$$anon$2.run(SparkExecuteStatementOperation.scala:171)
gsc_1           | 	at java.security.AccessController.doPrivileged(Native Method)
gsc_1           | 	at javax.security.auth.Subject.doAs(Subject.java:422)
gsc_1           | 	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)
gsc_1           | 	at org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation$$anon$1.run(SparkExecuteStatementOperation.scala:185)
gsc_1           | 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
gsc_1           | 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
gsc_1           | 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
gsc_1           | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
gsc_1           | 	at java.lang.Thread.run(Thread.java:748)
gsc_1           | 2019-08-27 13:59:35 WARN  ThriftCLIService:630 - Error fetching results:
gsc_1           | org.apache.hive.service.cli.HiveSQLException: Expected state FINISHED, but found CANCELED
gsc_1           | 	at org.apache.hive.service.cli.operation.Operation.assertState(Operation.java:161)
gsc_1           | 	at org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation.getNextRowSet(SparkExecuteStatementOperation.scala:113)
gsc_1           | 	at org.apache.hive.service.cli.operation.OperationManager.getOperationNextRowSet(OperationManager.java:220)
gsc_1           | 	at org.apache.hive.service.cli.session.HiveSessionImpl.fetchResults(HiveSessionImpl.java:767)
gsc_1           | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
gsc_1           | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
gsc_1           | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
gsc_1           | 	at java.lang.reflect.Method.invoke(Method.java:498)
gsc_1           | 	at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:78)
gsc_1           | 	at org.apache.hive.service.cli.session.HiveSessionProxy.access$000(HiveSessionProxy.java:36)
gsc_1           | 	at org.apache.hive.service.cli.session.HiveSessionProxy$1.run(HiveSessionProxy.java:63)
gsc_1           | 	at java.security.AccessController.doPrivileged(Native Method)
gsc_1           | 	at javax.security.auth.Subject.doAs(Subject.java:422)
gsc_1           | 	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)
gsc_1           | 	at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:59)
gsc_1           | 	at com.sun.proxy.$Proxy22.fetchResults(Unknown Source)
gsc_1           | 	at org.apache.hive.service.cli.CLIService.fetchResults(CLIService.java:455)
gsc_1           | 	at org.apache.hive.service.cli.thrift.ThriftCLIService.FetchResults(ThriftCLIService.java:621)
gsc_1           | 	at org.apache.hive.service.cli.thrift.TCLIService$Processor$FetchResults.getResult(TCLIService.java:1553)
gsc_1           | 	at org.apache.hive.service.cli.thrift.TCLIService$Processor$FetchResults.getResult(TCLIService.java:1538)
gsc_1           | 	at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
gsc_1           | 	at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
gsc_1           | 	at org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:53)
gsc_1           | 	at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
gsc_1           | 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
gsc_1           | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
gsc_1           | 	at java.lang.Thread.run(Thread.java:748)
gsc_1           | 2019-08-27 13:59:35 ERROR SparkExecuteStatementOperation:179 - Error running hive query:
gsc_1           | org.apache.hive.service.cli.HiveSQLException: Illegal Operation state transition from CANCELED to ERROR
gsc_1           | 	at org.apache.hive.service.cli.OperationState.validateTransition(OperationState.java:92)
gsc_1           | 	at org.apache.hive.service.cli.OperationState.validateTransition(OperationState.java:98)
gsc_1           | 	at org.apache.hive.service.cli.operation.Operation.setState(Operation.java:126)
gsc_1           | 	at org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation.org$apache$spark$sql$hive$thriftserver$SparkExecuteStatementOperation$$execute(SparkExecuteStatementOperation.scala:266)
gsc_1           | 	at org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation$$anon$1$$anon$2.run(SparkExecuteStatementOperation.scala:175)
gsc_1           | 	at org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation$$anon$1$$anon$2.run(SparkExecuteStatementOperation.scala:171)
gsc_1           | 	at java.security.AccessController.doPrivileged(Native Method)
gsc_1           | 	at javax.security.auth.Subject.doAs(Subject.java:422)
gsc_1           | 	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)
gsc_1           | 	at org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation$$anon$1.run(SparkExecuteStatementOperation.scala:185)
gsc_1           | 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
gsc_1           | 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
gsc_1           | 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
gsc_1           | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
gsc_1           | 	at java.lang.Thread.run(Thread.java:748)
gsc_1           | 2019-08-27 13:59:35 INFO  DAGScheduler:54 - Registering RDD 2 (run at AccessController.java:0)
gsc_1           | 2019-08-27 13:59:35 INFO  DAGScheduler:54 - Got job 0 (run at AccessController.java:0) with 1 output partitions
gsc_1           | 2019-08-27 13:59:35 INFO  DAGScheduler:54 - Final stage: ResultStage 1 (run at AccessController.java:0)
gsc_1           | 2019-08-27 13:59:35 INFO  SparkExecuteStatementOperation:54 - Result Schema: StructType(StructField(repo,StringType,true), StructField(date,TimestampType,true), StructField(path,StringType,true), StructField(imports,ArrayType(StringType,true),true))
gsc_1           | 2019-08-27 13:59:35 INFO  DAGScheduler:54 - Parents of final stage: List(ShuffleMapStage 0)
gsc_1           | 2019-08-27 13:59:35 INFO  DAGScheduler:54 - Missing parents: List(ShuffleMapStage 0)
gsc_1           | 2019-08-27 13:59:35 INFO  DAGScheduler:54 - Submitting ShuffleMapStage 0 (MapPartitionsRDD[2] at run at AccessController.java:0), which has no missing parents
gsc_1           | 2019-08-27 13:59:36 INFO  DAGScheduler:54 - Asked to cancel job group 19b28028-c118-4cff-8e9f-83887ad073a9
gsc_1           | 2019-08-27 13:59:36 INFO  MemoryStore:54 - Block broadcast_0 stored as values in memory (estimated size 6.7 KB, free 366.3 MB)
gsc_1           | 2019-08-27 13:59:36 INFO  MemoryStore:54 - Block broadcast_0_piece0 stored as bytes in memory (estimated size 3.8 KB, free 366.3 MB)
gsc_1           | 2019-08-27 13:59:36 INFO  BlockManagerInfo:54 - Added broadcast_0_piece0 in memory on bc56b54576bf:38809 (size: 3.8 KB, free: 366.3 MB)
gsc_1           | 2019-08-27 13:59:36 INFO  SparkContext:54 - Created broadcast 0 from broadcast at DAGScheduler.scala:1039
gsc_1           | 2019-08-27 13:59:36 INFO  DAGScheduler:54 - Submitting 1 missing tasks from ShuffleMapStage 0 (MapPartitionsRDD[2] at run at AccessController.java:0) (first 15 tasks are for partitions Vector(0))
gsc_1           | 2019-08-27 13:59:36 INFO  TaskSchedulerImpl:54 - Adding task set 0.0 with 1 tasks
gsc_1           | 2019-08-27 13:59:36 INFO  TaskSetManager:54 - Starting task 0.0 in stage 0.0 (TID 0, localhost, executor driver, partition 0, PROCESS_LOCAL, 10396 bytes)
gsc_1           | 2019-08-27 13:59:36 INFO  TaskSchedulerImpl:54 - Cancelling stage 0
gsc_1           | 2019-08-27 13:59:36 INFO  Executor:54 - Executor is trying to kill task 0.0 in stage 0.0 (TID 0), reason: Stage cancelled
gsc_1           | 2019-08-27 13:59:36 INFO  TaskSchedulerImpl:54 - Stage 0 was cancelled
gsc_1           | 2019-08-27 13:59:36 INFO  Executor:54 - Running task 0.0 in stage 0.0 (TID 0)
gsc_1           | 2019-08-27 13:59:36 INFO  DAGScheduler:54 - ShuffleMapStage 0 (run at AccessController.java:0) failed in 0.543 s due to Job 0 cancelled part of cancelled job group 19b28028-c118-4cff-8e9f-83887ad073a9
gsc_1           | 2019-08-27 13:59:36 INFO  Executor:54 - Fetching spark://bc56b54576bf:36451/jars/gitbase-spark-connector-enterprise-uber.jar with timestamp<PHONE_NUMBER>093
gsc_1           | 2019-08-27 13:59:36 INFO  TransportClientFactory:267 - Successfully created connection to bc56b54576bf/<IP_ADDRESS>:36451 after 88 ms (0 ms spent in bootstraps)
gsc_1           | 2019-08-27 13:59:36 INFO  Utils:54 - Fetching spark://bc56b54576bf:36451/jars/gitbase-spark-connector-enterprise-uber.jar to /tmp/spark-8ac04fdd-1031-4d4f-9e0f-5db04a411b25/userFiles-b7f9e9dc-0a08-450c-995a-bc06c59ac55d/fetchFileTemp4891356638895890777.tmp
gsc_1           | 2019-08-27 13:59:37 INFO  Executor:54 - Adding file:/tmp/spark-8ac04fdd-1031-4d4f-9e0f-5db04a411b25/userFiles-b7f9e9dc-0a08-450c-995a-bc06c59ac55d/gitbase-spark-connector-enterprise-uber.jar to class loader
gsc_1           | 2019-08-27 13:59:37 INFO  Executor:54 - Executor killed task 0.0 in stage 0.0 (TID 0), reason: Stage cancelled
gsc_1           | 2019-08-27 13:59:37 WARN  TaskSetManager:66 - Lost task 0.0 in stage 0.0 (TID 0, localhost, executor driver): TaskKilled (Stage cancelled)
gsc_1           | 2019-08-27 13:59:37 INFO  TaskSchedulerImpl:54 - Removed TaskSet 0.0, whose tasks have all completed, from pool

[x] I have updated the CHANGELOG file according to the conventions in keepachangelog.com
[ ] This PR contains changes that do not require a mention in the CHANGELOG file

/cc @src-d/data-processing for error logs of gsc.

I'm gonna address DCO and rebase after approvals.

[private] https://src-d.slack.com/archives/C7TB5NEDN/p1567074879029100
This PR only sends the request to cancel the query downstream. To also have the underlying query on gitbase stopped, at least gitbase:v0.24.0-beta3 is needed.

Rebased and force-pushed. After rebasing, the cancellation request wasn't being sent, I needed to add this. The reason is that some lines later there's a refresh of the query object that makes the connection_id to get lost.
I tried with gitbase:v0.24.0-beta3 before rebasing and it seemed that the underlying query was getting canceled correctly. Now it seems that even if gsc receives the cancel request, it still waits for gitbase to finish the query ([private] https://src-d.slack.com/archives/C7UDG0GP6/p1567092636042600).
Need further investigation 😞.

All linters are failing.

Here's what currently happens:

Hi need some help here, especially from @src-d/data-processing team. Here's what currently happens using this PR for sourced-ui and gitbase:v0.24.0-beta3 and gsc:v0.6.0:

I run the query from sourced-ui

gsc receives the query

gitbase receives the query

I stop the query, and sourced-ui sends the cancel request

The cancel request arrives to gsc

After 3/4 mins gitbase logs the following and gsc kills the task (AFAIU this means that gitbase succesfully ended the query, correct me if I'm wrong)

The problem is that between point 5 and point 6 if run SHOW PROCESSLIST in gitbase I can still see the query running. And the status of the spark job is not very clear. In the Spark UI it says Status: FAILED, it has a failed stage, with a cancel as a failure reason, but also says that one task is running:

After point 6, running SHOW PROCESSLIST in gitbase shows no query. And also the Spark UI shows the task as killed:

So it seems like the Spark task was killed after gitbase finished the query. Is this the expected behavior?
Above gsc everything seems fine: the celery task exits normally, and the UI alerts the user that the query has been succesfully stopped.

Okay, I asked @ajnavarro and to recap Spark cancelation is not instant, and gitbase simply checks for the tcp connection being open, so this is the most we can do so far: [private] slack thread.

@smacker do you understand what pylint is complaining here?

@se7entyse7en somehow pylint thinks that pyhive.exc.OperationalError.args[0] is a string.
I found similar issue but it's an opposite to what we see. And I don't see any relevant issue in astroid repository.
Anyway, pylint shouldn't be able to interfer the type of the arg[0] in this case. It can be anything. And that anything doesn't have to have status attribute.
Most probably we can just silence this error if we know for sure there is always an object with status field.

Fixed requirement with the proper release here.

To fix test coverage we would need to add tests for SparkSQLEngineSpec, but this means essentially mocking everything or adding Spark for testing. The former doesn't make much sense IMO, if we want to do the latter I'd open a separate issue.

Let's just merge. I don't see a point to mock everything. We can add testing on spark instead of mysql in gsc branch. Though we don't have a test for cancelation on mysql too.


Use MIT license instead of AGPL

Hey,
it would be great if you could change to license to MIT instead of AGPL. Otherwise we have to use another packages :-/
Cheers,
Andre

What part of AGPL prevents you from using the code? I'm curious.

According to my research I found out that we have to license our software under the same terms and we cannot do this.
http://stackoverflow.com/questions/1960802/can-i-use-libraries-licensed-under-agpl-for-commercial-purposes
The GPL and AGPL require derived works to be released under the same terms, so if you use an AGPL library you will need to license your code under the AGPL or a compatible license.
If you use more than one library you should also take care that the license for each library is compatible with the license that you select for the derived work.
This link: http://www.fsf.org/licensing/licenses/gpl-faq.html and this link: http://www.fsf.org/licensing/licenses/index_html#GPLCompatibleLicenses have a lot of useful information.

The first answer on that question is wrong. http://stackoverflow.com/a/11962162 is better.
The agpl places no licensing requirements on your code because it uses country-data. Installing the library is making an exact copy and then running it (http://www.gnu.org/licenses/gpl-faq.html#NoDistributionRequirements).
To make a comparison say you write a program which runs on Linux that renames a file. This program would be calling a gpl library (to do the file renaming) but it is obvious that this does not require the program to be gpl.
What the agpl does require is that if you modify the code in the country-data library then you need to share those modifications under the agpl. This is to encourage (enforce?) that improvements make it back to this GitHub repo for all to benefit from.
I hope that clears it up that you can use the code with out license fears.

https://tldrlegal.com/license/gnu-affero-general-public-license-v3-(agpl-3.0) sums it up rather nicely :)

Just make it MIT!

Thanks for the big effort Edmund. That explains AGPL very good. Unfortunately the last link confirms our problem with AGPL. AGPL forces you to open source the project.
Disclose Source
You must disclose your source code when you distribute, publish or serve (i.e. through a web portal) modified software.
(https://tldrlegal.com/license/gnu-affero-general-public-license-v3-(agpl-3.0) )
It would be great if you can change you license but I can understand if you don't want to do this.

When I'm next at my desk I'll change the license to MIT and publish a new version to npm. Probably Monday, hopefully sooner.
Regarding the open sourcing it only refers to modified code - that is to say code that came from a gpl code base that you the changed or incorporated into your project by copy and pasting. Just using it as a library does not make it modified as the code is unchanged. I'd hate for you not to use libraries that you may use, and I applaud your respect for the licenses on the code :)

Thanks that helps a lot. Ignoring licenses in packages that you use can cause a lot of trouble and I try to avoid it ;-)

v0.0.23 on npm now :)


New python interfaces: policy support

Support of device offload using old daal4py.oneapi.sycl_context control
Fix of data transfer from oneDAL to Python

/intelci: run

/intelci: run

@samir-nasibli  @Alexsandruss  - is it worth looking on this now?


It's a whole new issue!

Thanks very much for reporting an issue. Always excited to see
returning contributors with 16 issues created . This is a spare time
project so I only tend to get around to things on the weekends. Please
be patient for me getting a chance to look into this.


Add data, ESF_RAW [DEVINFRA-873]

https://content.u-blox.com/sites/default/files/products/documents/u-blox8-M8_ReceiverDescrProtSpec_UBX-13003221.pdf

Reopening elsewhere


Medbay cryo pods

I'm already developing them, I have sorted out both the atmos part and the chemistry part, I need to get the actual sprite and decide whether to make an UI for it and what said UI should show.
Summary
Cryo pods (also called cryo tubes) are specialized medical machines which allow medics to safely drop the temperature of a patient to low values, enough for chemicals such as Cryoxadone and Clonexadone to take effect.
The machine needs a considerable setup involving several atmos devices to actually do its job.  While tossing a patient in a cryo pod will heal pretty much any damage without intervention, one must be careful the atmos setup isn't tampered with, along with refilling the beaker with the correct chems and so on.
Atmos setup
(I'll post an example screenshot later)
An example atmos setup involves:

A connector port.
A canister of the right type based on the patient we are healing (oxygen / nitrogen, I think maybe an air canister works on both races?).
A pump to cap the output of the connector port to an acceptable pressure for patients (one atmosphere).
A freezer to cool the gas enough.
Pipes to connect everything.

I still need to figure out whether in the time of a round, the gases exhaled by patients require to be scrubbed out or not. If they do, a portable scrubber and an additional connector port might be enough.
Interaction
As for now I have implemented verbs to interact with the pod. One can put a beaker in by clicking the pod with it. A mob can be put in the pod by dragging (or being dragged) into it. Ejection occurs by right clicking the pod, choosing eject and choosing whether to eject the mob or the beaker.
I personally think patients should be able to eject themself from the tube (maybe patient ejection might have a slight timer of 2-3 seconds instead of being instant, whatever). I have several bad experiences of being left in a pod to rot on ss13 when self ejection was disabled. This would make tampering with pods harder though, since the victim can just press eject and seek help.
UI
I have not coded this part yet, and it is the part where I need feedback in particular. The verbs interaction seems fine in my opinion. The only issues right now would be to add a way to analyze the patient while inside the tube, for which an UI might help. Or I could just allow somehow to hit the pod with a health analyzer and relay the action on the patient inside.
Other than that, the UI could show if the setup is safe or not and what chemical is contained inside the beaker inserted in the pod.
Post-treatment
Due to how the cryo pods work right now, they change your cold damage threshold to an extremely low value. This means the patient will still get the alert about extremely cold air, without actually taking damage.
This only applies while inside the pod. Once you exit, you will start taking cold damage while heating up. Without intervention, it takes around 30 seconds and with some leftover Cryoxadone in your bloodstream, you will take around 15 cold damage. I think this is a nice nerf so that you actually need medical help and the cryo pods would only be used for serious patients (>50 damage I guess?). Or you could use a mix of Cryoxadone and something else to negate the damage, etc.
Sprites
I am using an existing placeholder for now. I plan to get it from /tg/ if the license allows for it. If anyone else has a better one, tell me!
Mapping
I think it might be interesting to not map cryo pods in the maps. It would give medics a reason to call atmos techs for help in setting it up, or even find other interesting setups I haven't thought about (or a single setup for multiple tubes, you get the idea). I think the best choice would be to lock cryo pod circuit boards behind science, perhaps also spawn one or two in the tech secure storage with the other boards.
The bigger maps could maybe have one at most spawned already in, with a basic setup like the one I described. My PR will not map them in anyhow for now.
TL;DR i need to figure out if an UI would be good or not and whether the cold side effects can be left in as an interesting nerf.
I'll make a wiki page once the PR is ready.

You could make ejection something toggleable via screwdriver panel?

@HoidC Yeah, it could be an interesting mechanic to enable/disable locking by hacking the pod, I'll try to implement it.
Anyway here's a pic of a possible, working atmos setup:

I think I'll be able to open up a PR by the end of this week.


feat: rename *ApiToken -> *AuthToken

@cprice404 https://github.com/momentohq/client-sdk-nodejs/blob/main/packages/core/src/messages/responses/refresh-api-token.ts#L27-L31 is this something we also want to update? Discussion only around the method calls, but wanted to double check on renaming the response object fields.

@cprice404 https://github.com/momentohq/client-sdk-nodejs/blob/main/packages/core/src/messages/responses/refresh-api-token.ts#L27-L31 is this something we also want to update? Discussion only around the method calls, but wanted to double check on renaming the response object fields.

Yes please!  If grep -ir apitoken yields any results we probably want to change all of them.  Thanks for catching that!

only things I can't rename is the grpc calls.

yep, generated code can't be changed, that's fine since it's not public.


Add Previews to additional product terms

adds Previews terms to the additional product terms
fixes a(n unrelated) typo in the Corporate ToS
adds redirects from deprecated docs (also unrelated to Previews)

<EMAIL_ADDRESS>


Use pytest-snapshot package for better validation

This PR separates producers tests from consumer tests.

Producer tests will validate against a known golden substrait plan.
Consumer will consume the golden substrait plan and generate results, which are also saved as a set of golden results

Separating these test allows developers of producers or consumers to more easily validate results or debug issues.  This will also make it easier for future reporting.
This PR saves the golden substrait plan in json format at the moment.  The Isthmus producer currently isn't able to generate the binary format that's consumable by consumers, so I've stuck with json for consistency.  Having it in json format also makes it easier to see debug when plans end up changing.

@richtia We should probably avoid committing submodule diff to this repo. We shoud probably update the submodule, git submodule update --init

@richtia @westonpace @gforsyth since we have a lot of text files, should we use a separate repo or blobstore to keep the files and use it as a submodule in this repo. I am suggesting something similar to what's done in Apache Arrow.

@richtia Thanks for working on this. I added a few initial review comments.

A few top-level questions:
Each producer has a snapshot set of plans. This makes sense. Each consumer has a snapshot set of results for each producer. Why is it "for each producer"? Wouldn't we expect the query results to be the same regardless of producer?

That's a good point.  My original plan was to pre-generate the snapshots just using DuckDB, but I figured that would make updating the snapshots require a few more steps.  That probably makes the most sense though.  I'll go with that route and add the instructions in the README.

What do the workflows look like:
New Producer: If we are adding a new producer we need to create new snapshots for all of the plans but we don't care about the results snapshots right? (I suppose this depends on the above answer)

Yep.

New Consumer: If we are adding a new consumer we need to create new snapshots for all of the results but we can use the existing snapshots of the plans right?

Yep.

Producer mismatch: If a producer test fails that means it generated a different plan. If it turns out that plan was the correct plan is it possible to just update that one snapshot? Or maybe the change is systemic and we need to update all the snapshots so both scenarios seem likely.

Yeah, we should be able to update just that one snapshot.  Updating snapshots is made pretty simple by the pytest-snapshot plugin, so I don't think this is too much of an issue.

Consumer mismatch: Same as above, maybe we realize that we were doing function xyz incorrectly and so we fix it. Can we just replace the one snapshot?

Yep.

It's not clear to me, and maybe it's time to write a tutorial or "getting started" that covers what the whole workflow will be like for someone that is creating a producer or consumer.
For example, pretend I am creating a consumer:

Do I need to get my consumer added to this repo?  Or can I clone this repo and use it internally to do my own testing with the supported producers?
What does that process look like?  What commands will I run?  How will I integrate this with CI?

I'll add a tutorial/getting started to this PR.  It's definitely possible to clone this repo and use it internally.  How to add a consumer is already in the README and is relatively simple, but I need to update the process for updating the snapshots too.  I'll open a separate PR for the CI part.


[#4347] Remove not needed write operation from example.

Motivation:
The proxy example contains some code that is not needed. This can confuse the reader.
Modifications:
Remove the not needed ctx.write(...).
Result:
Less confusing code.

Cherry-picked into 4.0 (4403b1a7ea8a451b1d8e1a80c5fa66ca589135a7), 4.1 (6ebf4d1f5be83c1f87284c61828beeb166a857d4) and master (5c48c599547dfbccf2267e30af5503d627adca03)


It says it has viruses

my browser (brave) doesnt let me dowloand any version cause of viruses even though i say keep file this time windows defender deletes it directly what am i supposed to do
edit: I got keylocked 1 time after downloaded r3nzskin
edit 2: and pls do not say disable antivirus i do not want to get keylocked again. thanks for your helps.

says it is a virus because it behaves like one, but it is not, it is mandatory to disable the antivirus or create an exception

Disable your antivirus (Real-time protection). Then the browser will allow you to download the binaries.


Bug/issue 322 trade widget

fixes #322

market and limit input values carry over .
There is a known issue i'm not able to fix . if you enter from the limit widget with a from value to market widget the you recieve column is not getting triggered . this is due to the fromDebounce value being false and  its triggered from the TokenInputField element .
Example screen shot

Fixed the debounce issue mentioned in the ticket as well . Just added the fromAmount to the debounce and seems like it fixes the issue (instead of doing useDebounce(''))

Note that in the issue (#322) there's also this requirement:
CTA text to connect a wallet
Did you address it?

Note that in the issue (#322) there's also this requirement: CTA text to connect a wallet Did you address it?

no i havent addressed this .

@adarshram  I will merge your PR to another branch and create a PR from there. I have to do it because of a cloudflare limitation that doesn't allow me to generate preview links from an external PR. I want to share a preview link with our Product manager so that he can review your fix. So thanks for the contribution - this is just a technical step and then your code will be merged to main in this somewhat over-complex manner ¯_(ツ)_/¯

Awesome thanks I'm learning a lot from this . Will be fixing more over
time after learning some more react programming
On Tue, Nov 23, 2021, 17:57 Doron Zavelevsky @.***>
wrote:

@adarshram https://github.com/adarshram I will merge your PR to another
branch and create a PR from there. I have to do it because of a cloudflare
limitation that doesn't allow me to generate preview links from an external
PR. I want to share a preview link with our Product manager so that he can
review your fix. So thanks for the contribution - this is just a technical
step and then your code will be merged to main in this somewhat
over-complex manner ¯_(ツ)_/¯
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bancorprotocol/webapp-v2/pull/422#issuecomment-976463371,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACIG3F75DYGCOMJR5XOO36LUNOCE3ANCNFSM5IMBSAVA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Nice! I'd like that and I'm glad to hear.

@adarshram issue (I'll fix over the new PR) - button text is correct but the button is disabled

Okay alright . Will take a look tomorrow
On Tue, Nov 23, 2021, 18:25 Doron Zavelevsky @.***>
wrote:

@adarshram https://github.com/adarshram issue (I'll fix over the new
PR) - button text is correct but the button is disabled
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bancorprotocol/webapp-v2/pull/422#issuecomment-976490926,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACIG3F5HT6YGCBEBPUG4IE3UNOFNLANCNFSM5IMBSAVA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


plugin not loaded

I've installed the plugin via pip3 install awsume-console-plugin but when issueing awsume -c I get awsume: error: unrecognized arguments: -c

I've installed the plugin via pip3 install awsume-console-plugin but when issueing awsume -c I get awsume: error: unrecognized arguments: -c

Did you install awsume via brew?
I previously did, and the plugin wasn't loading neither.  Uninstalled it and went with a pip3 install awsume instead.  Plugin works like a charm now.

yes, that worked!
It might be helpful to document it somewhere?

Agreed, would certainly be helpful for future attempts at getting this to work.
Either that and/or also have a way to install this plugin via brew, which, I would guess, would properly link up with the awsume being installed via brew.

I have this issue; I don't want to install awsume via pip3 so I'm using brew; it seems I can't make awsume-console-plugin work properly; is there a workaround?

So, I've found a workaround to have console plugin with homebrew package; I ran pip3 install awsume-console-plugin that comes bundled with awsume package and now it works fine;
example:
  /usr/local/Cellar/awsume/4.5.0/libexec/bin/pip3 install awsume-console-plugin
Just adjust this to the version installed

Howdy all!
Unfortunately homebrew is not an officially supported install method yet. That was an open source contribution to homebrew core someone made on their own and is not officially maintained by us. The officially recommended way to install awsume is with pipx
I've added a note to the awsume's installation documentation to help call that out a little clearer


getCareRecord Error Responses

When a call to getCareRecord is done and there is something wrong with the request we should be sending back an error code and the payload should be an OperationOutcom fhir resource.
The specifics of the error triggers and the expected OperationOutcome can be found at the following link:
https://nhsconnect.github.io/gpconnect/development_fhir_error_handling_guidance.html

This has been updated in the demonstrator


Reset command metrics in HystrixCollapserTest

NetflixOSS » Hystrix » Hystrix-pull-requests #389 FAILURE
Looks like there's a problem with this pull request


Add section or reference to URL Authorization Rules

Back in 2016 a preview feature debuted: URL Authorization Rules
Its been ~5 years and outside of that blog post there seems to be no other references.
What scenario would this update improve documentation for? Progressive Web Apps (PWA) use icons when saving the "app". However when the PWA is hosted behind Azure App Service with Authentication enabled, the icons are not resolvable on certain devices (e.g. Safari/iOS - it will just show screenshot of the app, not the designated icons).
Since PWAs are more readily available in 2021, and URL Authorization Rules has now been around for good 5 years, it would be nice to get it documented in the more canonical home of docs.microsoft.com.
Example section:
To enable path based authorization, you can utilize the preview feature URL Authorization Rules. Certain scenarios, such as Progressive Web Apps (PWA), may require some resources (e.g. icons) be accessible without authentication.

Create authorization.json file at root of website.

{
  "routes": [
    {
      "path_prefix": "/",
      "policies": {
        "unauthenticated_action": "RedirectToLoginPage"
      }
    },
    {
      "path_prefix": "/img/icons",
      "policies": {
        "unauthenticated_action": "AllowAnonymous"
      }
    }
  ]
}

Switch your Azure Authentication setting to: "Allow Anonymous Requests (no action)"
Your PWA app should now be able to save with the PWA icon.

Note: Since all requests now default to "Allow Anonymous Requests (no action)", its important you have the catch all rule of "path_prefix": "/" - without it your whole app would be public.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 75e17529-8b8a-1d67-f0e1-840d1d3ca990
Version Independent ID: 265645df-ef21-4631-1744-7014b3ee681a
Content: Authentication and authorization - Azure App Service
Content Source: articles/app-service/overview-authentication-authorization.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

@iyerusad Thanks for the feedback! We are currently investigating and will update you shortly.

@iyerusad Thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

@iyerusad Unfortunately support for that preview feature has been removed. Thanks for bringing it to our attention and we're in the process of removing that blog post for clarity. #please-close

Hmm. We currently use this feature in prod (for allowing anonymous access to PWA icons, but restricting access to rest of the app) - any suggestions for users who deployed this feature?


go api client

Add go api client to package api. Switch zqd endpoint tests to use
the go api client.

@alfred-landrum et al. I'm happy with where this is at for now. This is ready for another round of review.


add utox

https://github.com/caskroom/homebrew-cask/issues/15420

Merged as 1ec3ebb80e7eaed4c618150651ef8e9946dd1c86.


fix: validate baremetal raid config

这个 PR 实现什么功能/修复什么问题:
创建 baremetal server 时检验 baremetal_disks_configs 的合法性
是否需要 backport 到之前的 release 分支:

release/2.9.0
release/2.8.0

/cc @swordqiu

Codecov Report

Merging #587 into master will increase coverage by 0.02%.
The diff coverage is 73.91%.

@@            Coverage Diff            @@
##           master    #587      +/-   ##
=========================================
+ Coverage    7.38%   7.41%   +0.02%
=========================================
  Files         346     346
  Lines       54693   54714      +21
=========================================
+ Hits         4041    4056      +15
- Misses      50274   50278       +4
- Partials      378     380       +2

Flag
Coverage Δ

#aFlag
7.41% <73.91%> (+0.02%)
:arrow_up:

Impacted Files
Coverage Δ

pkg/compute/guestdrivers/baremetals.go
1.74% <0%> (-0.01%)
:arrow_down:

pkg/compute/baremetal/diskconfig.go
61.89% <85%> (+1.24%)
:arrow_up:

pkg/appsrv/response.go
66.15% <0%> (-3.08%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b476232...5123923. Read the comment docs.

/cherrypick release/2.9.0

/cherrypick release/2.9.0

/cherrypick release/2.8.0

/lgtm
/approve


Updates error model to include params from API

Most of the params sent from the API are lists of strings, but there are some edge cases where params is a list of numbers or just a string. Using dynamic typing for now until error messages are standardized.

@tojroob ASssuming that the params field will be typed as dynamic , what are your plans on the manager app for checking for specific errors? e.g. notifying the user of a duplicate pin code on the user creation flow

@bryceremick In the cubit level, I was planning on doing a type check and then a contains check. Something like this:
  if (params is List) {
    if (params.contains('emailAddress')) {
      //handle error state
    }

Gotcha. I don't think that implementation is wrong, but I worry that it could introduce a lot of "duplicate" code throughout the manager app. Do you think it would be better to abstract this kind of logic away from the manager app? i.e. have this logic live in the dual sdk ServerError model

Yeah we could do that instead. I could check for params typing and change it to always be a List for the Manager app.


MLXRCpuImageFeature causing memory leak on IOS

Hi, it's me again!
I got everything working alongside AR-Foundation and I got to say I'm really impressed, by far the best NN solution for Unity! But I unfortunately I found a problem with the MLXRCpuImageFeature class. It causes a memory leak on IOS and I suspect it will on Android too. This causes the application to crash after a minute or so (depending on the available RAM). I checked all other things that could be the case for this memory leak but I can reliably narrow it down to creating a new MLXRCpuImageFeature.

For context this is a simplified version of how I'm using it:
public ARCameraManager cameraManager;
private MLImageFeature currentFeature;

void Start(){
   cameraManager.frameReceived += FrameChanged;
}

void Update(){
    // Function that uses the current feature to do predictions
    // Does not cause the memory leak (verified)
    PredictAsync(currentFeature);
}

private void FrameChanged(ARCameraFrameEventArgs args){
    if (cameraManager.TryAcquireLatestCpuImage(out XRCpuImage image) && !Application.isEditor){
        // Commenting out this line get's rid of the memory leak
        currentFeature = new MLXRCpuImageFeature(image);
        image.Dispose();
    }
}

In the meanwhile I'll figure out something to try and get rid of the memory leak but this is probably something that should be known about and fixed.

Fixed in NatML-ARFoundation 1.0.1.


Documentation bugs about equivalency

There are some documentation bugs on the web page:
http://snmplabs.com/pysnmp/examples/hlapi/asyncore/sync/manager/cmdgen/walking-operations.html
In the "Walk Whole MIB", it has
$ snmpwalk -v3 -lauthPriv -u usr-md5-none -A authkey1 -X privkey1 demo.snmplabs.com IF-MIB::
but the code only sets auth1key and 'username'.
Reading the man page for snmpcmd, the "-u" on the command line for snmpwalk is the "security name". This is not the same as "username".

There is nothing wrong,
https://github.com/etingof/pysnmp/blob/master/examples/hlapi/v3arch/asyncore/sync/manager/cmdgen/pull-whole-mib.py

If you read the source code of UsmUserData you will see that when the constructor is called like UsmUserData('usr-md5-none', 'authkey1'), MD5 authentication is automatically selected, https://github.com/etingof/pysnmp/blob/becd15c79c9a6b5696928ecd50bf5cca8b1770a1/pysnmp/hlapi/v3arch/auth.py#L397
The phases "user name" and "security name" often refer to the same thing in SNMP v3 context. The value in userName is assigned to self.securityName, https://github.com/etingof/pysnmp/blob/becd15c79c9a6b5696928ecd50bf5cca8b1770a1/pysnmp/hlapi/v3arch/auth.py#L388


Kenhoff/feat/favicon

moves favicon files into app/public/favicons
adjusts paths on index.html to match

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@82468be). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #403   +/-   ##
=========================================
  Coverage          ?   64.81%
=========================================
  Files             ?       72
  Lines             ?     1586
  Branches          ?        0
=========================================
  Hits              ?     1028
  Misses            ?      558
  Partials          ?        0

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 82468be...910a833. Read the comment docs.


Disable tslint (seems to bug out on ES6 classes that implement Iterable.

heads up @eyuelt, tslint is gone


New GreenNav icon

In our images folder is currently the polymer default icon - this should be a new fancy GreenNav icon!

The icon can be found here

falsely closed by old commit messages from other repos :sweat_smile:


How to use alasql with webpack

Problem:
I am trying to use alasql with webpack, but i am keeps on getting error. i followed steps mention in alasql + webpack but no luck.
I am using raw-loader to load the script as script-loader is no longer maintained,
Versions:
"alasql": "^4.2.3",
"raw-loader": "4.0.2",
"webpack": "^4.41.0",
"webpack-cli": "^3.3.9"
webpack config:
{         test: /\.js$/,         use: [           {             loader: 'raw-loader',             options: {               esModule: false,             },           },         ],       },
In code,
// @ts-ignore
import alasql from 'raw-loader!alasql'

Error:
TypeError: (0 , raw_loader_alasql_1.default) is not a function

From the AlaSQL bot:

It looks like the issue you're facing is related to the way you're importing alasql with raw-loader in a Webpack setup. The error TypeError: (0 , raw_loader_alasql_1.default) is not a function suggests that the import isn't being handled correctly, resulting in alasql not being recognized as a function. Let's address this step-by-step:

Check the raw-loader Configuration: Ensure that raw-loader is correctly set up in your Webpack configuration. Given that script-loader is deprecated, using raw-loader is a good choice, but it's important to make sure it's configured properly to handle .js files.

Importing AlaSQL Correctly: When using raw-loader, the imported module is treated as a raw string, not as a JavaScript module. This could be the reason why alasql is not recognized as a function. To resolve this, you might need to adjust the way you're importing alasql.

Alternative Approach: If the current setup continues to cause issues, consider an alternative way of integrating alasql with Webpack. One option could be to use the standard import statement (import alasql from 'alasql') and let Webpack handle the module resolution without using raw-loader.

Based on your setup, here are some steps to try:

Revise Webpack Config: Modify the Webpack configuration to handle alasql differently. You might not need to use raw-loader for alasql.js. Instead, try excluding alasql from this rule and use a standard import.

Standard Import: Change the import statement in your code to a standard ES6 import:
import alasql from 'alasql';

Testing and Debugging: After making these changes, test the build process and check for any errors. If errors persist, it could be useful to create a minimal reproduction of the issue to isolate the problem.

If these steps don't resolve the issue, you might want to delve deeper into the specific integration of alasql and raw-loader in a Webpack environment, as there might be nuances specific to this library and loader combination.

Hi @mathiasrw , I have tried importing alasql like you mentioned, but when i try to build the project using webpack, i am getting below error.

Basically i am trying to create a build for browser. It seems the error is coming from the below part of the code in alasql.min.js

Webpack is not able to parse this part, do we need any specific webpack loader to fix this issue?

can you try to include the alasql.js instead of the alasql.min.js ?
You might have to change the path to './node_modules/alasql/dist/alasql.js'
That makes the debugging easier...

Its not impossible, but we are using esbuild with the --minify flag so it should be pretty battle tested.
May I propose that you go into node_moduls/alasql/dist and copy the content of alasql.js into alasql.min.js ? This way it will be easier to identify if the minifaction is to blame, and if not, what code exactly is not working.

Thanks @mathiasrw Found the issue.
Actually i am using the webpack to bundle the project with alasql.min.js file. And i am using this bundle in the android webview to call JS functions.
it shows error on this line, #doSearch(databaseid, params, cb) {
it seems the android JS parser was not able to understand the '#' private symbol. after removing the symbol it started working.
I think this is not something related to the alasql, so i will close this issue.


Avoid using map_partitions within internal dask-expr logic

Although we expose a map_partitions API within dask-expr, it is not a good way to implement internal expression logic (at least for now).

I don't disagree necessarily, but I'm curious about your thoughts on why it's not good to use map_partitions internally?  Are you getting some value from the terms like ShiftColumns and DiffColumns?  FWIW different systems do different things.  Some systems like naming everything explicitly.  Others like having only a few general purpose terms.  This is a matter of taste I think.
It's totally ok for us to have the taste of "make classes for everything" but I don't think it's an obvious choice (nor is it obviously wrong).

I would rather not create boilerplate classes for everything that don‘t add any value at the moment

Yeah, I agree with this. I now realize that it is fine to use map_partitions for diff/shift. I was originally thinking that we are probably missing out on some optimizations by using map_partitions, but I suppose we cannot project columns in this case (my mistake).
Sorry - I will roll back the diff/shift changes. I should have qualified my statement as: "(map_partitions) is not yet a good way to implement expressions that can benefit from common optimizations (e.g. column projection)."
I still think the isna change makes sense.  The map_partitions approach doesn't work for cudf anyway.

Okay - I stripped out everything besides the isna fix (which was my only real concern here). Sorry for the other noise, but I appreciate the feedback.

thx
yeah axis=1 can't be optimised (mostly), we can push length calculations through, but that's not super important now imo and can be done with one general class as well


Add support for mapping types as custom root

Change Summary
Modifies parse_obj and MetaModel to allow mapping types with a custom root.
I needed this to address some of the feedback on #934
Related issue number
Closes #908
Checklist

[x] Unit tests for the changes exist
[x] Tests pass on CI and coverage remains at 100%
[x] Documentation reflects the changes where applicable
[x] changes/<pull request or issue id>-<github username>.md file added describing change
(see changes/README.md for details)

On second thoughts I think we should have both tests and documentation describing the peculiarities of root validation if you provide {'__root__': 'x'} vs {'__root__': 'x', '__boot__': 'y'} or {'__foot__': 'x'} etc.

On second thoughts I think we should have both tests and documentation describing the peculiarities of root validation if you provide {'__root__': 'x'} vs {'__root__': 'x', '__boot__': 'y'} or {'__foot__': 'x'} etc.

I thought about this more while attempting to address the feedback, and I think there is a problem here that we need to address: if the __root__ type is Dict[str, str] (or has other value type), and an external input is provided with only a single key __root__, you may get unexpected behavior.
Because of this, I think when the root type is a mapping, we should not have different behavior depending on the presence of the __root__ key: we should either always add it prior to parsing, or always require it.

If we had no backwards compatibility requirements, I think it would be best to change the behavior so that we always assumed there was no __root__ key in the input to parse_obj, and always inject it if the model has a custom root. So you would always use __root__ in the __init__, and never use it in parse_obj. Let me know if I'm missing something, but I can't think of any functionality this would limit. (I think this might be a good change to make in v2?)
However, given the backwards compatibility requirement, we obviously need to continue supporting both approaches for non-mapping root models. But I think since mapping root-models aren't currently supported, we can be more opinionated here (and just document the choice).

Option 1: Never place the data provided to parse_obj inside a new dict with the key __root__ (for a mapping-type custom root model). (So you'd have to manually create the input with __root__ as a key.)

Pro: We'd have to do it this way if we wanted to be able to call parse_obj on the output of instance.dict()
Con: Seems less ergonomic since you have to special case calls to parse_obj when dealing with a __root__ type

Option 2: Always place the data provided to parse_obj inside a new dict with the key __root__ (for a mapping-type custom root model).

Pro: You can provide inputs directly to parse_obj whether there is a custom root or not.
Con: Can't call parse_obj on instance.dict()

I personally would prefer "Option 2" above, since the handling a dump-reparse cycle seems like a substantially rarer requirement than parsing in the first place, so I'd rather prioritize having a clean API for parse_obj.
The behavior would also be easy to change if desired by users by just overriding the relevant methods (i.e., parse_obj, dict, etc.).
We could also (eventually) address the lack of symmetry by introducing a dump_obj public method that uses the same logic as .json() for handling custom root models, which would produce output that could be passed back to parse_obj to produce the same object. (Or adding a kwarg to dict, though I think that's not preferable). (This would probably depend on / be related to #1001)

I think right now we should do the thing which maximises backwards comparability, that is:
``py
if cls.custom_root_type:
obj = {ROOT_KEY: obj}

This would mean `Model.parse_obj(model.dict())` wouldn't work, but `Model(model.dict())` would work. I think this is fine.

I'm happy to omit the "`and not (isinstance(obj, dict) and obj.keys() == {'__root__'})`" magic for clarity. We should just be clear about this

I think this is the same as your option 2 above, so we're agreeing.

I'm happy to omit the "and not (isinstance(obj, dict) and obj.keys() == {'root'})" magic for clarity. We should just be clear about this in the documentation.

@samuelcolvin To be clear, is that a v2 change? Otherwise, it could break existing code that relies on this behavior, right?
I'm currently planning to use the following check:
        if cls.__custom_root_type__ and (
            not (isinstance(obj, dict) and obj.keys() == {'__root__'})
            or cls.__fields__["__root__"].shape == SHAPE_MAPPING
        ):
            obj = {ROOT_KEY: obj}

Sorry, I was being dumb. You check looks good.
We can change/reconsider before v2.

On second thoughts I think we should have both tests and documentation describing the peculiarities of root validation if you provide {'__root__': 'x'} vs {'__root__': 'x', '__boot__': 'y'} or {'__foot__': 'x'} etc.

@samuelcolvin I added some tests and docs discussing this. Let me know if you think anything is wrong / missing.

I need to go to bed now, feel free to finish this up (and #934 if desired) if you notice any remaining minor issues, otherwise I'll finish it some time tomorrow.

great, thank you so much.


The version of BepInEx can be translated normally in the game but cannot be used to call up the UI with alt+0

Why do I use the BepInEx version, which can translate normally in the game, but alt+0 cannot call up the interface, and I can only change the translator through config file.

Looking through the debug log, I only saw this error [Error  :XUnity.AutoTranslator] An error occurred in Update callback.
System.InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings.

save question.

Duplicate of #329


Fetch user attributes not working with Sign In With Apple

Describe the bug
Amplify returns something like:
failure(AuthError: Access Token does not have required scopes
Recovery suggestion: Check whether the given values are correct and the user is authorized to perform the operation.)
To Reproduce
        let options = AuthWebUISignInRequest.Options(scopes: ["openid", "email", "profile"])

        Amplify.Auth.signInWithWebUI(for: .apple, presentationAnchor: UIApplication.shared.windows.last!, options: options) { result in
            switch result {
            case .success:
                print("Sign in succeeded")
                Amplify.Auth.fetchUserAttributes { (result) in
                    print(result)
                }
                break

            case .failure(let error):
                print("Sign in failed \(error)")
            }
        }

We can get user info by calling AWSMobileClient.default().getTokens and parse token, but it's not cool.
Environment(please complete the following information):

Amplify Framework Version: 1.5.0
Dependency Manager: Cocoapods
Swift Version : 5.0

Device Information (please complete the following information):

Device: All Devices
iOS Version: 13.5, 14.2

Hi,
You need to provide the scope aws.cognito.signin.user.admin when you signIn to fetch the user attributes.


Add ability to limit event RSVP and add a RSVP waitlist

This fixes issue #748 :
CELTS would like to be able to limit the amount of people that can RSVP to an event.
Did:
Added a new column to the Event table rsvpLimit and created a function getCurrentRsvpAmmount() in events.py to get the amount of people that have RSVPd to an event. The RSVP button is enabled/disabled based off the current RSVP amount. The wording on the Event View page now changes based off of whether or not RSVP is required, if there is a limit or not, and how many spots are left if there is a limit.
To Test:

Checkout the branch limitRsvp
Reset your database with database/reset_database.sh test
Run the test suite with tests/run_tests.sh  and verify that all tests pass
Run the application with flask run
Create multiple events, some that require RSVP but have no limit and some that require RSVP with a limit
Verify that all the behavior that you encounter is as you expect

 Add the ability to limit the number of volunteers that can RSVP to an event. #748

looks good, and agree with Tyler regarding the button being disabled

While testing the PR, I noticed that I could select a negative number of people attending the event. I don't think it makes sense to go negative when setting the attendance limit


Add : Hello in python by patty22

What does the program do ?
Print Hello in python
In what programming language it is written?
Python

This pull request do not contains files in specific folders. Please fix it and reopen for help see https://help.github.com/articles/moving-a-file-to-a-new-location/


youtube-dl: 2016.12.12 -> 2016.12.15

Motivation for this change
youtube-dl update
most notable changes:

[utils] Add convenience urljoin
Add support for vod.melon.com

Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

thanks


docs(accessibility): document large content viewer support on iOS

This PR adds documentation for the newly added props in https://github.com/facebook/react-native/pull/45903:

accessibilityShowsLargeContentViewer:  whether the large content viewer is shown
accessibilityLargeContentTitle: title of the large content viewer

cc @joevilches as you followed the implementation on the react-native repo 🙂🙏


Forgot one dependency

Zathura requires installing one of the plugins to work

zathura-mupdf is only required for pdf. It would be better mark it optional

This format would be better
# dependencies
brew tap zegervdv/zathura
brew install pup
brew install zathura
brew install bash  # plugin requires new version of bash 4.xx, while macOS uses 3.xx

# cbz support
brew install zathura-cb

# pdf support
brew install imagemagick
brew install zathura-pdf-mupdf

# install manga-cli
git clone https://github.com/prsh11/manga-cli.git && cd manga-cli
sudo cp manga-cli /usr/local/bin/manga-cli


Usage of gpl v2 licensed library from transitive dependency (@google-cloud/bigquery -> node-forge gplv2)

Hi,
We have a security alert about usage of a gpl v2 library from our code.
It seems that @google-cloud/bigquery has node-forge as a transitive dependency (as reported by Checkmarx tool)

I was wondering if this is problematic for us and other users of @google-cloud/bigquery, as gpl v2 has "strict requirements" for consuming projects.

It seems node-forge has a dual-license : gpl v2 and bsd.
From their license:

You may use the Forge project under the terms of either the BSD License or the
GNU General Public License (GPL) Version 2.

Closing as it allows us to use with the terms of the BSD license.


Error on deploying artifact to azure app service

Hi,
I am using the webapps-deploy v2 github action to deploy artifact to azure app service, and getting the following error -
Step Details –
Run azure/webapps-deploy@v2
with:
app-name: test
publish-profile: ***
package: ./pl/public
slot-name: production
Error Message -
Package deployment using ZIP Deploy initiated.
Fetching changes.
Cleaning up temp folders from previous zip deployments and extracting pushed zip file D:\local\Temp\zipdeploy\yd3yr1ey.zip (47.91 MB) to D:\local\Temp\zipdeploy\extracted
The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
Error: Failed to deploy web package to App Service.
Error: Deployment Failed with Error: Package deployment using ZIP Deploy failed. Refer logs for more details.
App Service Application URL: http://test.azurewebsites.net/

Assigned to me, need to create WI for Windows

Hey @boat-priyanka-agrawal,
Could you follow the given issue which has some workaround for your issue?
https://github.com/microsoft/dotnet/issues/234
And let us know, if it resolves your issue or not.

@boat-priyanka-agrawal Please let me know if suggested workaround works for you.
We will be closing this issue on 25th November 2022.
You can always re-open/create the issue again.


device_tracker entities not removed

The problem
Hi, I disabled device tracking functionality and expect to see the entities removed from hass. (They show up as disabled only.) I restarted hass but no dice.
Your device model
RT-68U
Firmware type
Stock
Firmware version
<IP_ADDRESS>.386.49703_gc2cdfc8
Integration version with the issue
pleawse remove as you already request diagnostics
Method of the integration installation
HACS
What version and type of Home Assistant installation do you use
2023.3.1
Is there anything useful in the logs?
No response
Diagnostics information
config_entry-asusrouter-6f1a6f387af8a79c370fc0e353f1aed4.json.txt
Additional information
No response

I think this is the default HASS behaviour: entities are kept until the integration is removed. Closing this for now as I was able to remove the entities from .storage/core.entity_registry

Hello,
Yes, this is standard HA behaviour. In principle, the integration can remove its own entities if needed, but in general, that would not be the best tactics
P.S. Integration version is asked in the template, because for some users integration breaks without the possibility to download diagnostics altogether. Even if it works, amount of issues with attached diagnostics is not more than 20%


连接不上

server log
2016/07/18 14:16:48 version: 20160716
2016/07/18 14:16:48 communication mode: fast2
2016/07/18 14:16:48 encryption: aes
2016/07/18 14:16:48 nodelay parameters: 1 20 2 1
2016/07/18 14:16:48 sndwnd: 2048 rcvwnd: 2048
2016/07/18 14:16:48 acknodelay: false
2016/07/18 14:16:48 dscp: 0
2016/07/18 14:16:48 compression: true
2016/07/18 14:16:48 datashard: 10 parityshard: 3
2016/07/18 14:16:48 listening at <IP_ADDRESS>:29900
2016/07/18 14:18:07 remote address: IP:15885
2016/07/18 14:19:07 [ERR] yamux: keepalive failed: i/o deadline reached
2016/07/18 14:19:07 mux: keepalive timeout
2016/07/18 14:19:07 [ERR] yamux: Failed to read header: broken pipe
2016/07/18 14:20:31 remote address: IP:46726
2016/07/18 14:20:33 connecting to
2016/07/18 14:20:33 closed
2016/07/18 14:20:33 connecting to
2016/07/18 14:20:33 closed
2016/07/18 14:20:33 connecting to
2016/07/18 14:20:33 closed
client log
2016/07/19 02:17:37 version: 20160701
2016/07/19 02:17:37 listening on: [::]:12948
2016/07/19 02:17:37 encryption: aes
2016/07/19 02:17:37 nodelay parameters: 1 20 2 1
2016/07/19 02:17:37 remote address: IP:29900
2016/07/19 02:17:37 sndwnd: 25 rcvwnd: 204
2016/07/19 02:17:37 compression: true
2016/07/19 02:17:37 mtu: 1350
2016/07/19 02:17:37 datashard: 10 parityshard: 3
2016/07/19 02:17:37 acknodelay: false
2016/07/19 02:17:37 dscp: 46
2016/07/19 02:17:37 conn: 1
2016/07/19 02:19:04 stream opened
2016/07/19 02:19:04 stream opened
2016/07/19 02:19:12 [ERR] yamux: keepalive failed: i/o deadline reached
2016/07/19 02:19:12 [ERR] yamux: Failed to read header: broken pipe
2016/07/19 02:19:12 stream closed
2016/07/19 02:19:12 stream closed
2016/07/19 02:19:16 session shutdown
2016/07/19 02:20:00 connection write timeout
2016/07/19 02:20:00 [ERR] yamux: Failed to write header: broken pipe
2016/07/19 02:20:00 [ERR] yamux: Failed to read header: broken pipe

看了前面几个issue但还是没懂，SS服务端应该是连接成功了
服务器是centos6.8 x64

我是偶尔可以连接，偶尔会和楼上一样；20M联通无问题，200K电信有问题。

我的是10M铁通
2016-07-19 9:09 GMT+08:00 yuyongji1987<EMAIL_ADDRESS>
我是偶尔可以连接，偶尔会和楼上一样；20M联通无问题，200K电信有问题。
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/xtaci/kcptun/issues/65#issuecomment-233503875, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AR0Cg2DwS_ZOaELrKJ7qNbNMojfUxP9kks5qXCPigaJpZM4JPAaI
.

Hi:

Are you using the latest release?
Which OS do you use?
Which end for this issue related to, client or server?
Does your ISP or VPS blocked UDP?
Does your VPS firewall allows UDP pass through?
Are you using the same version for both client & server
Did you correctly set the -target value, -t value	target server address (default: "<IP_ADDRESS>:12948") on the server side?

铁通，长宽等就不要用这个了。

2016.7.1
centos6.8 x64

等等。铁通会封UDP的意思吗==
2016-07-19 10:26 GMT+08:00 Daniel Fu<EMAIL_ADDRESS>
Hi:

Are you using the latest release?
Which OS do you use?
Which end for this issue related to, client or server?
Does your ISP or VPS blocked UDP?
Does your VPS firewall allows UDP pass through?
Are you using the same version for both client & server
Did you correctly set the -target value, -t value target server
address (default: "<IP_ADDRESS>:12948") on the server side?

铁通，长宽等就不要用这个了。
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/xtaci/kcptun/issues/65#issuecomment-233513720, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AR0Cgyw5JZnT8MmyjL5UrBIBQXkp6Qqzks5qXDXXgaJpZM4JPAaI
.

是的，山寨的网络都会有各种限制。

山…寨…而我用了三年了…虽然是不是大姨妈…哭
朝蒸藜藿幕烹葵
2016年7月19日 星期二 +0800 上午10:29 发件人 hushuangpu<EMAIL_ADDRESS>
是的，山寨的网络都会有各种限制。
—
You are receiving this because you authored the thread.
Reply to this email directly,  view it on GitHub , or  mute the thread .

你可以咨询下你身边的专业人士了


PD Change Pipettes: Warning Modal and Save

As a user, I would like to be warned that changing pipettes may significantly affect my protocol.
Acceptance Criteria

[ ] If affected pipettes are not used in the protocol, save changes without any warning
[ ] If user is updating a pipette that is already used in the protocol, user sees warning modal after clicking ‘Save’ button in the Pipette Editor modal

[ ] Warning modal has copy explaining potential consequences of changing pipettes
[ ] Warning modal has ‘Cancel’ button that closes modal
[ ] Warning modal has ‘Save’ button that saves change and closes modal

Design and Copy
Copy
Title: “Confirm pipette change”
Body:
“Careful! Changing pipettes may affect any protocol steps you’ve already created.

Advanced step settings will be reset to their defaults
Your new pipette may or may not be compatible with any selected labware
Your new pipette may require additional tips

The above changes cannot be undone. To proceed, click “Save”."
Wireframe

Closed in #2548


Hide stdOut and stdErr output

One of the students added println-s to the methods and was able to see the incoming data, the methods called by the test suite and the output (and if the test was successful, that was exactly the reference output).
I would like to redirect System.out and System.err to /dev/null while the tests are being executed -- of course, that's easy to do with setOut and setErr, but since this may interact with loggers and the other process, I would rather discuss it first.
Ping @vjovanov @sjrd @heathermiller and @densh.

Makes sense - printing a lot could also crash the system (disk space, uploading to coursera, etc.)


manual installation readme for shared servers that don't allow composer?

For the many thousands of us working on shared servers across many hosting sites, composer isn't installed or allowed without upgrading to VPS or dedicated boxes. It would be most awesome if a detailed readme could be made explaining how to install PHP-Auth manually.  Obviously, the DB is easy part, although I love your idea of a table prefix option.
Would this be possible? Many thanks for your awesome work!

Thanks for your feedback and appreciation!
One of the great things about Composer is that it doesn't actually require any additional software or configuration on your server. It is sufficient to install and run Composer locally only, i.e. on your workstation that you use for development.
Composer stores all data that is relevant to your project in only three places: The two files composer.json and composer.lock (which you should add to version control) and the folder vendor (which you should not add to version control). The latter directory is the only additional piece required for your application to work on your server. Thus do you need Composer on the server? No, just run Composer locally to generate the vendor folder and upload that folder to the server. It's as simple as that.
Could you give that a try?
Making this library work without Composer is possible with some additional effort on part of the developers and a much more difficult update process for users. But I really don't think it's required, or worth it, anyway. Most problems with Composer simply stem from a lack of familiarity with Composer and a lack of understanding how it (really) works. Both are understandable, but can be "fixed" easily :)

Thanks for the response! I will absolutely give it a try. Cheers!

That worked, however, it wants to use the mysqlnd driver for PDO and it doesn't look to be enabled or compiled in for mysql/mysqli. Is there a way to use libmysqlclient instead?

Thanks for trying – and I'm happy to hear that it actually worked!
As a general rule, in the future, yes, please just close the old issue (if solved) and open a new one if you have another question. But this time, let's finish the discussion here.
Indeed, there was no way to use this library with the old MySQL Client Library (libmysqlclient), but now there is. You should just have to update your version of this library using Composer:
$ composer update delight-im/auth

After that, it should work fine with the old driver. For now, at least. This cannot be guaranteed for the future. See https://github.com/delight-im/PHP-Auth/issues/18.

Brilliant! That did the trick, mate! I've been out of coding, in general for more than a year, and I've decided to get back into it and this one sticking point of authorization (which is not trivial) has always been an impediment to getting this one site working. Many, many thanks!!!

No problem, glad I could help!


Run unit tests using github action

[ ] Done with the unit test and passed all the test cases, here are the details about the script
https://github.com/Tibil-vishwAAs/Vishwaas/blob/main/.github/workflows/java.yml


Visual Studio include path can't see into /mnt/

Launching a compile with Visual Studio's command-line compiler, and using a full include path into /mnt, produces an error:
cl.exe -c -I/mnt/c/git/foo/include test1.c
test1.c(11) : fatal error C1083: Cannot open include file: 'includes.h': No such file or directory

The file does exist:
ls -l /mnt/c/git/foo/include/includes.h
-rwxrwxrwx 1 root root 56212 Jul 21 13:44 include/includes.h

However, if I use relative paths when I run the command, it works:
cl.exe -c -I../include test1.c
Versions Used:
Microsoft Windows [Version 10.0.15063]
Visual Studio 2013
This same compilation run works successfully under Cygwin, for whatever that's worth.

Yeah sorry I cut-paste-edited from your message blind 😳.  Those links above have some expository on why it is difficult/problematic to implement. I maintain it is doable with a big enough hammer. But it's a big hammer that certainly isn't destined for the Fall Update.

This is definitely an area I would like to improve in the future.

So we've discussed Windows program using WSL paths.  Is there any hope for the inverse functionality, where the Linux environment could use Windows paths?  As a simple example, this command works fine in cygwin, but fails in Ubuntu-on-Windows:
cd C:

@haydentech

Is there any hope for the inverse functionality, where the Linux environment could use Windows paths?

There are no plans for that right now. But, if there is a scenario that interests you and is not currently implemented, you can help us prioritize it by voicing your opinion through the user voice portal.

Is there any hope for the inverse functionality, where the Linux environment could use Windows paths?

The problem isn't even really the "no plans" part. The problem (if that is the right word) is bash uses colon as the path separator. You can make C: a symlink to /mnt/c right now. So even if you vote this though the roof, you still need to patch bash not WSL. The '\' '/' difference is mostly (though not entirely) a non-issue because the Windows side is okay with both already, and you'd be going out of your way to escape backslash in WSL. There is a similar post related to git #1855 (message).

Well, what have we here that I never noticed..... 16257
root@WinDev1612Sys:/home/ken/Devel/alpine-chroot# mount
rootfs on / type lxfs (rw,noatime)
root on /root type lxfs (rw,noatime)
home on /home type lxfs (rw,noatime)
[...]
none on /run/user type tmpfs (rw,nosuid,nodev,noexec,noatime,mode=755)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noatime)
C: on /mnt/c type drvfs (rw,noatime)    <---- Was ist das?


Remove references to invalid MC post in Step 7

Step 7 (Update Hybrid federated search) is referencing Message Center post 270671, which expired last year and is therefore no longer accessible to admins. Essentially, this is a dead link.

@MikePlumleyMSFT is added to the review. #Closed


[Export] Expand function of export stmt

Proposed changes

Support where clause in export stmt which only export selected rows.

The syntax is following:
Export table [table name]
where [expr]
To xxx
xxxx
It will filter table rows.
Only rows that meet the where condition can be exported.

Support utf8 separator

Support export to local

The syntax is following:
Export table [table name]
To (file:///xxx/xx/xx)
If user export rows to local, the broker properties is not requried.
User only need to create a local folder to store data, and fill in the path of the folder starting with file://
Change-Id: Ib7e7ece5accb3e359a67310b0bf006d42cd3f6f5
Types of changes
What types of changes does your code introduce to Doris?
Put an x in the boxes that apply

[] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[] Documentation Update (if none of the other choices apply)
[] Code refactor (Modify the code structure, format the code, etc...)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[] I have created an issue on (Fix #5446) and described the bug/feature there in detail
[] Compiling and unit tests pass locally with my changes
[] I have added tests that prove my fix is effective or that my feature works
[] If these changes need document changes, I have updated the document
[] Any dependent changes have been merged

I will update document later.

I will update document later.

Done


Y062 doesn't account for nested literals

According to spec, Literal[X, Y] should be treated as Union[Literal[X], Literal[Y], which means nested Literals should be supported by type checkers.
Hence raising Y062 for cases like Literal[1, Literal[2, 1]] would make sense I believe.

Seems like we also don't have a lint rule against Literal[A, Literal[B, C]], which should be replaced with Literal[A, B, C].

One special case to consider (though an unlikely one) is Literal[1, Literal[1, 1]] where both inner 1s are considered duplicates for the parent Literal and the last 1 is a duplicate within the inner Literal as well


Profile Lookup

Challenge Name

Issue Description

Browser Information

Browser Name, Version:
Operating System:
Mobile, Desktop, or Tablet:

Your Code

//Setup
var contacts = [
    {
        "firstName": "Akira",
        "lastName": "Laine",
        "number": "0543236543",
        "likes": ["Pizza", "Coding", "Brownie Points"]
    },
    {
        "firstName": "Harry",
        "lastName": "Potter",
        "number": "0994372684",
        "likes": ["Hogwarts", "Magic", "Hagrid"]
    },
    {
        "firstName": "Sherlock",
        "lastName": "Holmes",
        "number": "0487345643",
        "likes": ["Intriguing Cases", "Violin"]
    },
    {
        "firstName": "Kristian",
        "lastName": "Vos",
        "number": "unknown",
        "likes": ["Javascript", "Gaming", "Foxes"]
    }
];

function lookUpProfile(firstName, prop){
// Only change code below this line
  var result=245;
  for(var i=0;i<4;i++){
    if(firstName==contacts[i]["firstName"])
      if( contacts[i].hasOwnProperty(prop))
        {result= contacts[i][prop];
         break;}
      else
       {result= "No such property";break;}
    else
      result= "No such contact";
  }
  return result;
// Only change code above this line
}

// Change these values to test your function
lookUpProfile("Akira", "address");

Screenshot

i didn't really understant your request but if it's what i get you should change the function for :
function lookUpProfile(obj, prop, search){
// Only change code below this line
  var result = '';
  for(var i=0;i<obj.length;i++){
	if( obj[i].hasOwnProperty(prop))
    if(search === obj[i]["firstName"])
        {result = obj[i][prop];
         break;}
      else
       {result= "No such property";break;}
    else
      result= "No such contact";
  }
  return result;
// Only change code above this line
}

// Change these values to test your function
lookUpProfile(contacts, "firstName", "Akira");

You pass the array of object then search for you property in it

Hi @loliuxuxu Thanks a lot for helping out, might I suggest that you please provide all assistance to coding in the chat rooms or forum. We actually discourage this on the issue tracker itself.
Hi @sajadk16
Thanks for the report. The issue tracker is for reporting bugs only.
Please use the chat rooms:

HTML/CSS help chat room
JavaScript help chat room
Other Official Rooms

or try looking through our forum for help with a specific challenge.
Happy Coding!


Getting new code to work on mobile

Hello, around 3 days ago as of writing this, I posted this issue about getting names under the images of the picker. You gave me edited code that did this, and I wanna thank you again for that! I ended up closing the issue, when I probably should've kept it open to report on problems as I noticed them, that was my mistake.
My issue now is that the buttons end up looking cramped and forced to the right side on mobile.

Normally, I would shrug this off, but I noticed that the Favorite Pokemon Picker and other pickers made using the same source code had the character options "scaled down" on smaller devices such as mobile phones.
I believe it's the new HTML I added from the last issue that changed something, and I'm curious if it's possible to still have the name + text underneath while having the buttons scaled down. I understand if this isn't possible, due to the changes necessary by adding the character names underneath.
For reference, here's the code as of right now (with most of the character IDs removed, since I currently have around ~600,) and if possible, I'd appreciate your help a lot, but I completely understand if it isn't.
Thank you again for making this picker, and making the code open-source! It's been really fun to work on.

Right, should have checked that as well. On mobile the actual list items get shrunk down by default, but with the added wrapping, the image span element remains the same size. You'll want to find the media queries:
@media (max-width:636px) {
    .item-list {
        line-height:75px;
    }

    .item-list li {
        line-height:75px;
        height:75px;
        width:75px;
    }
}

@media (max-width:423px) {
    .item-list {
        line-height:50px;
    }

    .item-list li {
        line-height:50px;
        height:50px;
        width:50px;
    }
}

And then add resizing for the .image and .image span elements as well, e.g.
@media (max-width:636px) {
    .item-list {
        line-height:75px;
    }

    .item-list li {
        line-height:75px;
        height:75px;
        width:75px;
    }

    .item-list li .image {
        height:81px;
        width:81px;
    }

    .item-list li .image span {
        height:75px;
        width:75px;
    }
}

@media (max-width:423px) {
    .item-list {
        line-height:50px;
    }

    .item-list li {
        line-height:50px;
        height:50px;
        width:50px;
    }

    .item-list li .image {
        height:56px;
        width:56px;
    }

    .item-list li .image span {
        height:50px;
        width:50px;
    }
}

The bit where the items are further to the right than they should be seems to be because the ul element has a padding; you should be able to fix it by adding padding:0; to .item-list.

My main issue now is that selecting an option appears to resize the image. On desktop, it's slightly obvious, but on mobile, the images end up being just a fraction once the option's selected.

Thank you for your help so far.

Apologies for taking a while to get back to this, I've had no free time in the past couple days.
Here's a fixed version; I had to switch the images to images that worked locally for me to properly see what I was doing but you're going to want to replace the whole item list with yours at any rate.


Black formatting

Proposed changes:

Add pre-commit
Reformat files

related to #61
Status (please check what you already did):

[x] made PR ready for code review
[ ] added some tests for the functionality
[x] updated the documentation
[ ] updated the changelog

@tabergma i thought we already merged black in here? just wondering what this is going to change?

Yes, we did. Just added pre-commit so that you can easily use it via the command line.