Special loader for vite and vitest environments

While this is not a direct purpose of jiti, when it is used in testing environments (unbuild dist in stub mode) we might need to detect vite environment and bypass transforms.

/cc @antfu If you have any ideas.

I image that we could have a magic comment in the stub file, and then with a Vite plugin to transform it back to a redirect. For example:
// @jiti-stub /path/to/source.ts

module.exports = jiti()('/path/to/source.ts')

export const jitiStubPlugin() {
	return {
      name: 'jiti:stub',
      transform(code, id) {
        if (!code.includes('@jiti-stub')) return
        const match = /REGEX/.match(code)
        return `export * from "${match[1]}"`
      }
    }
}

Do you think would it be possible to magically making jiti+vite working together out of the box without custom user/framework plugins?

I can't think of one at this moment (without changes in Vite core, which is unlikely to happen)

Can we detect vite environment in a reliable way or having an export condition by default in vite? This way i was thinking jiti instead can change it's internal behavior for vite(st) compatibility.

FWIW — Im able to get the tests to run fine in vitest using this little unplugin resolver i wrote (main issue was the file:// protocol doesnt seem to work in vite): https://github.com/justin-schroeder/unplugin-file-url
It works fine — the remaining issue is (in the context of a monorepo at least) making changes in stubbed packageA does not trigger vitest to re-run in the context of packageB/teststhat depend on the stubbedpackageA`

What's new on this?

Any news on this?

+1

not work in vite yet

With jiti v2, we have jiti/native subpath which can be aliased to bypass. For unbuild, we might also introduce new options that avoids jiti in stub.

so how to use stub in a Nuxt monorepo now

Nuxt module builder uses as-is ts files for runtime and module entry does not goes through bundler/vite. Please make an issue in there if you have further questions @jojotechs (and feel free to ping me!)
Thanks for your response, I encountered an issue when trying to import a workspace package (built by unbuild stub mode) in my Nuxt project during development.

The error occurs in devtools:
The requested module '/_nuxt/@fs/xxxxxx/node_modules/.pnpm/jiti@2.4.0/node_modules/jiti/dist/jiti.cjs?import&v=87bf46ed' does not provide an export named 'default' (at jiti.mjs?v=87bf46ed:2:8)
Environment:
Nuxt 3
unbuild for workspace package
jiti 2.4.0
pnpm workspace
If you have time, could you please take a look at my project: https://github.com/jojotechs/grey-parrot-i18n/blob/c4ee88da28f383f0fde70a6b1669e9b215e56e15/packages/dashboard/package.json#L17
Is this a known issue with jiti's ESM interop? Any suggestions would be appreciated.

Nuxt module builder uses as-is ts files for runtime and module entry does not goes through bundler/vite. Please make an issue in there if you have further questions @jojotechs (and feel free to ping me!)

Thanks for your response! I encountered an issue when trying to import a workspace package (built by unbuild) in my Nuxt project during development.
The error occurs in devtools:
The requested module '/_nuxt/@fs/xxxxxx/node_modules/.pnpm/jiti@2.4.0/node_modules/jiti/dist/jiti.cjs?import&v=87bf46ed' does not provide an export named 'default' (at jiti.mjs?v=87bf46ed:2:8)
Environment:
Nuxt 3
unbuild for workspace package
jiti 2.4.0
pnpm workspace
If you have time, could you please take a look at my project: https://github.com/jojotechs/grey-parrot-i18n/blob/c4ee88da28f383f0fde70a6b1669e9b215e56e15/packages/dashboard/package.json#L17
Is this a known issue with jiti's ESM interop? Any suggestions would be appreciated.

here you should use mkdist builder (instead of making one rollup bundle).
As it is out of jiti/this issue scope, kindly please consider opening issue in unbuild 🙏🏼


GraphGeneration.visualize_rdf_graph needs pydoc

In general we need better documentation on how to run this:
How is the node list used to generate graphs?
What is the predicate argument used for?
This should be in PyDoc, but we also need examples in notebook of how we expect users to discover nodes.

Added docstring in https://github.com/INCATools/pandasaurus_cxg/pull/34/commits/57e871aef2087595d78427b9b4e1945f1db66797

This has been resolved with https://github.com/INCATools/pandasaurus_cxg/pull/34


Bug fixes in open-loop controller calibration tools

This pull request addresses two issues in the calibration tools for the open-loop controller:

The data_collection.py script did not properly send brake commands when three arguments were provided as input. This has been fixed in bd39136.

The processing.py script finds the first usable index by searching for the last entry where the brake percentage is at (exactly) 40. This is only useful for a case where the stationary vehicle always keeps the brake at 40 percent. I've added an additional check for cases where a brake percentage of 40 is not present in the data. In these cases, the velocity of the vehicle will be used to find the index of the first entry to be used for calibration. This is addressed in 3890654.

Please add your changes to the Apollo 3.0 dev branch. Thanks!


Increase Sombra machine pistol damage from 2.25~7.5 -> 2.4~8

Created by: MaxwellJung

mentioned in merge request ow1_emulator_backup!352

moved from ow1_emulator_backup#676


HERE.MAPMAKING.CLI version 16.3.113

Checklist for Pull Requests

[ ] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.6 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Executable C:\Program Files\HERE\Maps CLI\maps.exe returned exit code: 1

(Automated response - build 886.)

Automatic Validation ended with:

Executable C:\Program Files\HERE\Maps CLI\maps.exe returned exit code: 1

(Automated response - build 886.)

We had the same issue with OLP CLI.
it should be maps --help to get 0 exit code


[Bug] Missing anchor text in explore-menu.

Description
The explore-menu in the header of the resource archive page  lacks anchor text
for cc-search page.
Reproduction

Go to cc-resource-archive page.
Click on Explore CC .
Check the explore-menu.
See error.

Expectation
There should be a clickable text so that users can click to navigate to the linked URL.
It would give users a clear idea of what they will find upon clicking the link.
Screenshots

Environment

Device: MacBook Air
OS: macOS 15.0.1
Browser: Chrome

Resolution

[x] I would be interested in resolving this bug.

@possumbilities I have raised a PR for this issue.


feat(kafka-tools): added error toasts to display generic errors

The idea for this is to expose a service that can be used to pop generic toasts and toasts that use custom components.

Might be good to apply the toast load in animation to the content of the toast instead

Might be good to apply the toast load in animation to the content of the toast instead

Done, I think it looks better


Fix DATA_TYPE, DECIMAL_DIGITS for parametric date/time types

Fix information reported by DatabaseMetaData#getColumns:

fix DATA_TYPE for parametric time and time with time zone
provide DECIMAL_DIGITS for parametric time and timestamp (with
and without zone)

Test TYPE_NAME returned by that method.

cc @martint


Add support for SHA512

puts OpenSSL::SHA512.hash("test").to_slice.hexstring #ee26b0dd4af7e749aa1a8ee3c10ae9923f618980772e473f8819a5d4940e0db27ac185f8a0e1d5f84f88bc887fd67b143732c304cc5fa9ad8e6f57f50028a8ff

@denysvitali Thank you! I guess this is OK, but could you add a spec to show that it compiles and works correctly?

Oh, wait... actually, we have OpenSSL::Digest which allows all of these algorithms. Maybe OpenSSL::Sha1 is a remanent and should be removed.

@asterite Looks like sha1/md5 use a more direct/simple call than Digest though. I'll try benchmarking them to see if there's any difference.

Benchmark results here: https://gist.github.com/RX14/c031d230346cc7d0b78b453c65c0a6a7
However the man page states:

Applications should use the higher level functions EVP_DigestInit(3) etc. instead of calling the hash functions directly.

I think we should eventually (before 1.0) provide more high-level interfaces to crypto functions like SHA1 which we could optimise behind the scenes as we wish.

I suppose that it should be closed.


Implements Session.destroy method which stops sending bosh requests and aborts the current requests

Moved from https://github.com/node-xmpp/client/pull/203.

Changes Unknown when pulling 515b698b514a711c626b3ac36463661abaaa6fee on hristoterezov:master into ** on node-xmpp:master**.

Changes Unknown when pulling 92325fed61c56c2bfea270ae2afb204397b4a385 on hristoterezov:master into ** on node-xmpp:master**.

@hristoterezov thanks!

Changes Unknown when pulling 5ed8589be0dded2f0d10986fee2a0184f1b7c185 on hristoterezov:master into ** on node-xmpp:master**.

Changes Unknown when pulling 62b2079fa2518374bbbae7bd2bcacda631637b60 on hristoterezov:master into ** on node-xmpp:master**.

Changes Unknown when pulling d7179b645970ecff8efa22965b14e4676a7b2019 on hristoterezov:master into ** on node-xmpp:master**.

https://github.com/node-xmpp/node-xmpp/pull/322


create-weblogic-domain.sh creates only traefik pod, no admin or managed server pods

I'm using the https://github.com/oracle/weblogic-kubernetes-operator/blob/master/kubernetes/create-weblogic-domain-inputs.yaml file pulled from git to create a WLS domain following the instructions here https://github.com/oracle/weblogic-kubernetes-operator/blob/master/site/creating-domain.md
The script runs successfully but only a traefik pod is created there is no admin server or managed server created. Domain details are:
[root@mst-instance1 kubernetes]# kubectl describe domain domain1 -n default
Name:         domain1
Namespace:    default
Labels:       weblogic.domainName=base_domain
weblogic.domainUID=domain1
weblogic.resourceVersion=domain-v1
Annotations:  kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"weblogic.oracle/v1","kind":"Domain","metadata":{"annotations":{},"labels":{"weblogic.domainName":"base_domain","weblogic.domainUID":"dom...
API Version:  weblogic.oracle/v1
Kind:         Domain
Metadata:
Cluster Name:
Creation Timestamp:  2018-08-08T08:23:41Z
Generation:          0
Resource Version:    90623
Self Link:           /apis/weblogic.oracle/v1/namespaces/default/domains/domain1
UID:                 5bc898cc-9ae4-11e8-bb16-c6b00c44179d
Spec:
Admin Secret:
Name:   wls-admin
As Name:  admin-server
As Port:  7001
Cluster Startup:
Cluster Name:   cluster-1
Desired State:  RUNNING
Env:
Name:     JAVA_OPTIONS
Value:    -Dweblogic.StdoutDebugEnabled=false
Name:     USER_MEM_ARGS
Value:    -Xms64m -Xmx256m
Replicas:   2
Domain Name:  base_domain
Domain UID:   domain1
Export T 3 Channels:
Image:              store/oracle/weblogic:<IP_ADDRESS>
Image Pull Policy:  IfNotPresent
Replicas:           1
Server Startup:
Desired State:  RUNNING
Env:
Name:         JAVA_OPTIONS
Value:        -Dweblogic.StdoutDebugEnabled=false
Name:         USER_MEM_ARGS
Value:        -Xms64m -Xmx256m
Server Name:    admin-server
Startup Control:  ALL
Status:
Conditions:
Last Transition Time:  2018-08-08T08:23:44.960Z
Reason:                ServersReady
Status:                True
Type:                  Available
Servers:
Node Name:    mst-instance1
Server Name:  admin-server
State:
Start Time:     2018-08-08T08:23:41.840Z
Events:
I noted that the supplied create-weblogic-domain-inputs.yaml had no entry for managedServerCount or managedServerStartCount unlike the video at https://www.youtube.com/watch?v=Ey7o8ldKv9Y&feature=youtu.be, I added these but it made no difference.
Any suggestion as to what is wrong?

Copyright 2018, Oracle Corporation and/or its affiliates.  All rights reserved.
Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
The version of this inputs file.  Do not modify.
version: create-weblogic-domain-inputs-v1
Port number for admin server
adminPort: 7001
Name of the Admin Server
adminServerName: admin-server
Name of the WebLogic domain to create
domainName: base_domain
Unique id identifying a domain.
This id must be lowercase and unique across all domains in a Kubernetes cluster.
domainUID: domain1
Type of WebLogic Cluster
Legal values are "CONFIGURED" or "DYNAMIC"
clusterType: DYNAMIC
Determines which WebLogic Servers the Operator will start up
Legal values are "NONE", "ALL", "ADMIN", "SPECIFIED", or "AUTO"
startupControl: ALL
Cluster name
clusterName: cluster-1
Number of managed servers to generate for the domain
configuredManagedServerCount: 2
Number of managed servers to initially start for the domain
initialManagedServerReplicas: 2
Base string used to generate managed server names
managedServerNameBase: managed-server
Port number for each managed server
managedServerPort: 8001
managedServerCount: 2
managedServerStartCount: 2
Persistent volume type for the domain's storage.
The value must be 'HOST_PATH' or 'NFS'.
If using 'NFS', weblogicDomainStorageNFSServer must be specified.
weblogicDomainStorageType: HOST_PATH
The server name or ip address of the NFS server to use for the domain's storage.
The following line must be uncomment and customized if weblogicDomainStorateType is NFS:
#weblogicDomainStorageNFSServer: nfsServer
Physical path of the domain's persistent storage.
The following line must be uncomment and customized:
weblogicDomainStoragePath: /root/domain1
Reclaim policy of the domain's persistent storage
The valid values are: 'Retain', 'Delete', and 'Recycle'
weblogicDomainStorageReclaimPolicy: Retain
Total storage allocated to the domain's persistent storage.
weblogicDomainStorageSize: 10Gi
Boolean indicating if production mode is enabled for the domain
productionModeEnabled: false
Name of the Kubernetes secret for the Admin Server's username and password
The name must be lowercase
weblogicCredentialsSecretName: wls-admin
Name of the Kubernetes secret to access the Docker Store to pull the WebLogic Server Docker image
The presence of the secret will be validated when this parameter is enabled.
weblogicImagePullSecretName: docker-secret
Port for the T3Channel of the NetworkAccessPoint
t3ChannelPort: 30012
Public address for T3Channel of the NetworkAccessPoint.  This value should be set to the
kubernetes server address, which you can get by running "kubectl cluster-info".  If this
value is not set to that address, WLST will not be able to connect from outside the
kubernetes cluster.
t3PublicAddress: localhost
Boolean to indicate if the channel should be exposed as a service
exposeAdminT3Channel: false
NodePort to expose for the admin server
adminNodePort: 30701
Boolean to indicate if the adminNodePort will be exposed
exposeAdminNodePort: false
Name of the domain namespace
namespace: default
Load balancer to deploy.  Supported values are: APACHE, TRAEFIK, VOYAGER, NONE
loadBalancer: TRAEFIK
Load balancer app prepath used for APACHE load balancer
This defines the /location in the built-in Apache plugin configuration module for WebLogic
loadBalancerAppPrepath: /
Docker volume path for APACHE.
By default, the path is empty, and therefore, the built-in default Apache plugin
configuration is used.
Use this to provide your own Apache plugin configuration as needed; simply define
this path and put your own custom_mod_wl_apache.conf file under this path.
If the specified path does not exist, or the customer_mod_wl_apache.conf file
is missing under the specified path, the create domain script will fail with
a validation error.
loadBalancerVolumePath:
Load balancer web port
loadBalancerWebPort: 30305
Load balancer dashboard port
loadBalancerDashboardPort: 30315
#Java Option for Weblogic Server
javaOptions: -Dweblogic.StdoutDebugEnabled=false

Create domain inputs yaml
# Copyright 2018, Oracle Corporation and/or its affiliates.  All rights reserved.
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.

# The version of this inputs file.  Do not modify.
version: create-weblogic-domain-inputs-v1

# Port number for admin server
adminPort: 7001

# Name of the Admin Server
adminServerName: admin-server

# Name of the WebLogic domain to create
domainName: base_domain

# Unique id identifying a domain.
# This id must be lowercase and unique across all domains in a Kubernetes cluster.
domainUID: domain1

# Type of WebLogic Cluster
# Legal values are "CONFIGURED" or "DYNAMIC"
clusterType: DYNAMIC

# Determines which WebLogic Servers the Operator will start up
# Legal values are "NONE", "ALL", "ADMIN", "SPECIFIED", or "AUTO"
startupControl: ALL

# Cluster name
clusterName: cluster-1

# Number of managed servers to generate for the domain
configuredManagedServerCount: 2

# Number of managed servers to initially start for the domain
initialManagedServerReplicas: 2

# Base string used to generate managed server names
managedServerNameBase: managed-server

# Port number for each managed server
managedServerPort: 8001

managedServerCount: 2

managedServerStartCount: 2

# Persistent volume type for the domain's storage.
# The value must be 'HOST_PATH' or 'NFS'.
# If using 'NFS', weblogicDomainStorageNFSServer must be specified.
weblogicDomainStorageType: HOST_PATH

# The server name or ip address of the NFS server to use for the domain's storage.
# The following line must be uncomment and customized if weblogicDomainStorateType is NFS:
#weblogicDomainStorageNFSServer: nfsServer

# Physical path of the domain's persistent storage.
# The following line must be uncomment and customized:
weblogicDomainStoragePath: /root/domain1

# Reclaim policy of the domain's persistent storage
# The valid values are: 'Retain', 'Delete', and 'Recycle'
weblogicDomainStorageReclaimPolicy: Retain

# Total storage allocated to the domain's persistent storage.
weblogicDomainStorageSize: 10Gi

# Boolean indicating if production mode is enabled for the domain
productionModeEnabled: false

# Name of the Kubernetes secret for the Admin Server's username and password
# The name must be lowercase
weblogicCredentialsSecretName: wls-admin

# Name of the Kubernetes secret to access the Docker Store to pull the WebLogic Server Docker image
# The presence of the secret will be validated when this parameter is enabled.
weblogicImagePullSecretName: docker-secret

# Port for the T3Channel of the NetworkAccessPoint
t3ChannelPort: 30012

# Public address for T3Channel of the NetworkAccessPoint.  This value should be set to the
# kubernetes server address, which you can get by running "kubectl cluster-info".  If this
# value is not set to that address, WLST will not be able to connect from outside the
# kubernetes cluster.
t3PublicAddress: localhost

# Boolean to indicate if the channel should be exposed as a service
exposeAdminT3Channel: false

# NodePort to expose for the admin server
adminNodePort: 30701

# Boolean to indicate if the adminNodePort will be exposed
exposeAdminNodePort: false

# Name of the domain namespace
namespace: default

# Load balancer to deploy.  Supported values are: APACHE, TRAEFIK, VOYAGER, NONE
loadBalancer: TRAEFIK

# Load balancer app prepath used for APACHE load balancer
# This defines the /location in the built-in Apache plugin configuration module for WebLogic
loadBalancerAppPrepath: /

# Docker volume path for APACHE.
# By default, the path is empty, and therefore, the built-in default Apache plugin
# configuration is used.
# Use this to provide your own Apache plugin configuration as needed; simply define
# this path and put your own custom_mod_wl_apache.conf file under this path.
# If the specified path does not exist, or the customer_mod_wl_apache.conf file
# is missing under the specified path, the create domain script will fail with
# a validation error.
loadBalancerVolumePath:

# Load balancer web port
loadBalancerWebPort: 30305

# Load balancer dashboard port
loadBalancerDashboardPort: 30315

#Java Option for Weblogic Server
javaOptions: -Dweblogic.StdoutDebugEnabled=false

@amyles could you switch the startupControl: ALL to startupControl: AUTO we encounted a problem with this setting and are in the process of correcting.  Switch from
exposeAdminNodePort: false to exposeAdminNodePort: true so that you can start the admin console.
I would also like to point you to documentation of steps to perform before restating a domain after you have made changes.  In the README https://github.com/oracle/weblogic-kubernetes-operator/blob/master/README.md "Updating the Domain" and "Removing the domain".
If you still have problems please provide us server logs for the Admin Server located in the PV directory/logs.
Thanks
Monica

Hi Angus,
Can you verify:

The Operator pod was running at the time you ran the script (create-weblogic-domain.sh) for creating the domain?
Verify the WebLogic domain was physically created under the persistent volume in the path '/root/domain1'?  That is, you should see 'applications, domain, logs, and stores' directories created and the domain 'domain1' populated with WebLogic domain files.
Check the Operator log, after the domain creation to see if the Operator encountered any errors.

The Admin Server needs to be running before any managed servers will be started so we want to debug what is preventing the Operator from starting it.
Also, if you need to rerun the entire procedure, please

delete any WebLogic domain k8s resources with command:

delete-weblogic-domain-resources.sh  -d all

delete the directories under  '/root/domain1', if any
delete the generated directories 'weblogic-domain' and 'weblogic-operator' that was created.

Lets start from there and see if we can figure out what is happening.
Thanks
Lenny

Hi Lenny
Thanks for getting back to me:

Yes the weblogic operator pod was running when I tried to create the domain.
The domain has been created under /root/domain1. I see the domain files under /root/domain1/domain/base_domain but no logs under /root/domain1/logs
The operator logs has a LOT of:

2018T07:26:59.864+0000","thread":43,"level":"INFO","class":"oracle.kubernetes.operator.Main","method":"dispatchServiceWatch","timeInMillis":1534145219864,"message":"Service for domain with domainUID domain1 in namespace default and with server name admin-server deleted; validating domain","exception":"","code":"","headers":{},"body":""}
{"timestamp":"08-13-2018T07:26:59.865+0000","thread":43,"level":"INFO","class":"oracle.kubernetes.operator.Main","method":"checkAndCreateDomainPresence","timeInMillis":1534145219865,"message":"Creating or updating Kubernetes presence for WebLogic Domain with UID: domain1","exception":"","code":"","headers":{},"body":""}
{"timestamp":"08-13-2018T07:27:05.300+0000","thread":37,"level":"WARNING","class":"oracle.kubernetes.operator.wlsconfig.WlsRetriever$WithHttpClientStep","method":"apply","timeInMillis":1534145225300,"message":"Failed to read health information from server admin-server due to exception: javax.ws.rs.ProcessingException: java.net.ConnectException: Connection timed out (Connection timed out)","exception":"","code":"","headers":{},"body":""}
{"timestamp":"08-13-2018T07:27:26.715+0000","thread":45,"level":"INFO","class":"oracle.kubernetes.operator.Main","method":"dispatchDomainWatch","timeInMillis":1534145246715,"message":"Watch event triggered for WebLogic Domain with UID: domain1","exception":"","code":"","headers":{},"body":""}

Any clue there?

These messages look to be a result of the Admin Server not running.  Currently, we need the Admin Server pod running so that the Operator can introspect the WebLogic Domain configuration to do some validation before Managed Server pods can be started.  The first thing is to try and figure out why the Admin Server pod isn't starting up.  Can you get the whole logs from the time the Domain is deployed to K8s?  There might some error that shows why the Operator isn't able to start the Admin Server pod.

weblogic-operator-pod.zip
Hi @lennyphan here's the operator logs. HTH
Angus

In looking at your Operator log, it seems there is a permission issue when issuing request to create Admin Server pod:
{"timestamp":"08-08-2018T08:23:42.057+0000","thread":30,"level":"INFO","class":"oracle.kubernetes.operator.helpers.PodHelper$AdminPodStep$1$1","method":"onSuccess","timeInMillis":1533716622057,"message":"Creating administration server Pod for WebLogic domain with UID: domain1. Administration server name: admin-server.","exception":"","code":"","headers":{},"body":""}
{"timestamp":"08-08-2018T08:23:42.161+0000","thread":33,"level":"INFO","class":"oracle.kubernetes.operator.helpers.ServiceHelper$ForServerStep$1$1","method":"onSuccess","timeInMillis":1533716622161,"message":"Creating administration server Service for WebLogic domain with UID: domain1. Administration server name: admin-server.","exception":"","code":"","headers":{},"body":""}
{"timestamp":"08-08-2018T08:23:42.163+0000","thread":33,"level":"INFO","class":"oracle.kubernetes.operator.PodWatcher$WaitForPodReadyStep","method":"apply","timeInMillis":1533716622163,"message":"Waiting for pod domain1-admin-server to be ready","exception":"","code":"","headers":{},"body":""}
java.net.ProtocolException: Expected HTTP 101 response but was '403 Forbidden'
at com.squareup.okhttp.ws.WebSocketCall.createWebSocket(WebSocketCall.java:123)
at com.squareup.okhttp.ws.WebSocketCall.access$000(WebSocketCall.java:40)
at com.squareup.okhttp.ws.WebSocketCall$1.onResponse(WebSocketCall.java:98)
at com.squareup.okhttp.Call$AsyncCall.execute(Call.java:177)
at com.squareup.okhttp.internal.NamedRunnable.run(NamedRunnable.java:33)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

@lennyphan  so is this calling the operator REST API?

The operator REST API does seem to be working. I used the sample script from https://github.com/oracle/weblogic-kubernetes-operator/blob/master/site/rest.md and can list domains:
[root@mst-instance1 weblogic-kubernetes-operator]# /root/rest.sh mst-instance1 operator/latest/domains
grep: weblogic-operator.yaml: No such file or directory
Ready to call operator REST APIs
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* About to connect() to mst-instance1 port 31001 (#0)

Trying <IP_ADDRESS>...
Connected to mst-instance1 (<IP_ADDRESS>) port 31001 (#0)
Initializing NSS with certpath: sql:/etc/pki/nssdb
skipping SSL peer certificate verification
SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Server certificate:
subject: CN=weblogic-operator
start date: Aug 07 14:42:58 2018 GMT
expire date: Aug 04 14:42:58 2028 GMT
common name: weblogic-operator
issuer: CN=weblogic-operator

GET /operator/latest/domains HTTP/1.1
User-Agent: curl/7.29.0
Host: mst-instance1:31001
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJ3ZWJsb2dpYy1vcGVyYXRvciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJ3ZWJsb2dpYy1vcGVyYXRvci10b2tlbi1ja2hmeCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJ3ZWJsb2dpYy1vcGVyYXRvciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjJlNWFjYjhhLTlhNTAtMTFlOC1iYjE2LWM2YjAwYzQ0MTc5ZCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDp3ZWJsb2dpYy1vcGVyYXRvcjp3ZWJsb2dpYy1vcGVyYXRvciJ9.UAjhzgILl9DBuGerbmLP2-0mlA_sUZU4QMywN2-S3nEwXR8n_NuArk1fnf0TfYYRlO4occpz3bWEAMFwKw7XbU41xH_dxyzefCG7A0XDO-FvnMpkAL6VO1Qjx9gxe2YriYug_J4iJylWIMgquEsz2lsccgc1Y-nNjDaGcxbLeZLomJ0NVR_nrJMxf69_lEzpXUZm2z6LovYp1eIPS6-Qugyg69u1JhF7hBribEwJ5wknZGMgWHfMYAykwCbhBLQV71lQycgzYOjTjJH1vwlEY8Xonk5_irCnogmpikYz6QkNspEMFE3fW1kKU3zo8kMROY8OK731rQgdlI4XSlwk3g
Accept:application/json

< HTTP/1.1 200 OK
< Content-Type: application/json
< Content-Length: 375
<
{ [data not shown]
100   375  100   375    0     0   2051      0 --:--:-- --:--:-- --:--:--  2060

Connection #0 to host mst-instance1 left intact
{
"links": [
{
"rel": "self",
"title": "",
"href": "/operator/latest/domains"
},
{
"rel": "canonical",
"title": "",
"href": "/operator/latest/domains"
},
{
"rel": "parent",
"title": "",
"href": "/operator/latest"
}
],
"items": [
{
"links": [
{
"rel": "self",
"title": "",
"href": "/operator/latest/domains/domain1"
},
{
"rel": "canonical",
"title": "",
"href": "/operator/latest/domains/domain1"
}
],
"domainUID": "domain1"
}
]
}

@amyles My team was seeing the same thing, what we found was that the operator needs to be pointed the specific target namespaces to scan for new domains (targetNamespaces field).

Thanks @wsvoorhees. Is this targetNamespaces in create-weblogic-operator-inputs.yaml ? I have that set to default and am trying to build the domain in default namespace too?
Is there any way to dynamically change the target namespace or does it need a redeployment of the operator?

The stack trace above indicates that Operator is issuing requests to the K8s API Server to create the pod.  It seems that the Operator doesn't have permissions to issue requests to the K8s API Server to perform operations, hence the 403 response code.  Your targetNamespace is correct since your configuration indicates that you deployed the domain to 'default' namespace.  The fact that the Operator was attempting to create the Admin Server pod indicates that it is monitoring events for any changes to the WebLogic custom resource domain in 'default' namespace.  Do you see cluster roles and cluster role bindings created for the Operator in your K8s cluster?

kubectl get clusterroles

weblogic-operator-cluster-role                                         12d
weblogic-operator-cluster-role-nonresource                             12d
weblogic-operator-namespace-role                                       12d

kubectl get clusterrolebindings

weblogic-operator-operator-rolebinding                    12d
weblogic-operator-operator-rolebinding-auth-delegator     12d
weblogic-operator-operator-rolebinding-discovery          12d
weblogic-operator-operator-rolebinding-nonresource        12d

Hi @lennyphan I see them:

[root@mst-instance1 kubernetes]# kubectl get clusterroles | grep weblogic
weblogic-operator-cluster-role                                         8d
weblogic-operator-cluster-role-nonresource                             8d
weblogic-operator-namespace-role                                       8d

and

[root@mst-instance1 kubernetes]# kubectl get clusterrolebindings | grep weblogic
weblogic-operator-operator-rolebinding                  8d
weblogic-operator-operator-rolebinding-auth-delegator   8d
weblogic-operator-operator-rolebinding-discovery        8d
weblogic-operator-operator-rolebinding-nonresource      8d

Hi @amyles
Can you grant the following cluster role binding, which allows kubernetes cluster wide system service accounts cluster-admin role privileges:
kubectl create clusterrolebinding permissive-binding --clusterrole=cluster-admin --user=admin --user=kubelet --group=system:serviceaccounts
Please give it a try and let me know if pods are created.

Hi @ocurpianb
Can you post the Admin Server logs (located in the 'logs' directory on the Persistent Volume) and the full Operator logs?  Hopefully this will help to get context on what is occurring.
Also, what platform are you running on?
Thanks!
Lenny

Hi @lennyphan
The platform is:
[root@instance01 logs]# docker version
Client:
Version:           18.06.0-ce
API version:       1.38
Go version:        go1.10.3
Git commit:        0ffa825
Built:             Wed Jul 18 19:08:18 2018
OS/Arch:           linux/amd64
Experimental:      false
Server:
Engine:
Version:          18.06.0-ce
API version:      1.38 (minimum version 1.12)
Go version:       go1.10.3
Git commit:       0ffa825
Built:            Wed Jul 18 19:10:42 2018
OS/Arch:          linux/amd64
Experimental:     false
[root@instance01 logs]# kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.1", GitCommit:"b1b29978270dc22fecc592ac55d903350454310a", GitTreeState:"clean", BuildDate:"2018-07-17T18:53:20Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:08:19Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Under the operator, there are 3 different weblogic domains. It happens on all of them
Thanks!
Oscar
adminsrv11.log
srv11-domain.log
operator.log
adminsrv11.out.log

Hi @lennyphan
I created the permissive-binding but get the same behaviour. The 403 is still in the logs.
Angus

Hi @ocurpianb
Logs don't show anything out of the ordinary than the security initialization that seems to be taking time.  Can you verify if the Admin Server startup is slow for the first startup after deploying the WebLogic Domain and if it's faster startup for subsequent startups?  For example, after the first startup of the Admin Server after creating the domain, you can stop the cluster by:
kubectl delete -f domain-custom-resource.yaml
then wait for all the WebLogic server pods to terminate. Restart the cluster by applying the
domain-custom-resource.yaml:
kubectl apply -f domain-custom-resource.yaml.
This should deploy the domain and start pods.  I'd like to know if the startup is faster for the Admin Server the second time it's started.
Thanks!
--Lenny

Hi @amyles
I'm surprised that the above cluster role binding didn't work as it's essentially giving all service accoounts cluster admin privileges.  Perhaps the K8s API Server logs can shed some light on why 403 code is happening?  K8s API server logs may be located in /var/log/... on linux.  I'll continue to try and research how to debug 403.

Hi @lennyphan
I deleted and deployed again the welogic domains and, as you said, stopped and started again the domains. Now, the operator log is clean, but the problem persists.
I'm focused on one of my servers which seems to be easiest to make it happens . My sandbox is based on five virtual servers and the problem happens on the startup of admin and managed servers.
I found multiple error on the journal of the servers like this:
Aug 22 12:13:40 instance05 kubelet[1959]: E0822 12:13:40.435632    1959 conn.go:254] Error on socket receive: read tcp <IP_ADDRESS>:33467-><IP_ADDRESS>:34398: use of closed network connection
Aug 22 12:13:43 instance05 kubelet[1959]: E0822 12:13:43.417444    1959 conn.go:254] Error on socket receive: read tcp <IP_ADDRESS>:33467-><IP_ADDRESS>:34410: use of closed network connection
Aug 22 12:13:47 instance05 kubelet[1959]: E0822 12:13:47.058283    1959 conn.go:254] Error on socket receive: read tcp <IP_ADDRESS>:33467-><IP_ADDRESS>:34424: use of closed network connection
At least on this server, the number of Readiness needed to start is higher than the rest:
Instance srv111:
kubectl describe pod/srv11-domain-srv111 -n srv11-domain
Name:               srv11-domain-srv111
Namespace:          srv11-domain
Priority:           0
PriorityClassName:
Node:               instance04/<IP_ADDRESS>
Start Time:         Wed, 22 Aug 2018 12:19:56 +0000
Labels:             weblogic.clusterName=srv11
weblogic.createdByOperator=true
weblogic.domainName=srv11-domain
weblogic.domainUID=srv11-domain
weblogic.resourceVersion=domain-v1
weblogic.serverName=srv111
Annotations:        prometheus.io/path=/wls-exporter/metrics
prometheus.io/port=8003
prometheus.io/scrape=true
Status:             Running
IP:                 <IP_ADDRESS>
Containers:
weblogic-server:
Container ID:  docker://100bc3ba9a102bbfcc1b3eb36d6e3baf0c5054a1b44a4a2f967f4f1add884936
Image:         store/oracle/weblogic:<IP_ADDRESS>
Image ID:      docker://sha256:1fcee95cc21ba26910edf9edd4b964753fdf84dee1c6f975b9b0216db6412a08
Port:          8003/TCP
Host Port:     0/TCP
Command:
/weblogic-operator/scripts/startServer.sh
srv11-domain
srv111
srv11-domain
adminsrv11
7003
State:          Running
Started:      Wed, 22 Aug 2018 12:19:58 +0000
Ready:          True
Restart Count:  0
Liveness:       exec [/weblogic-operator/scripts/livenessProbe.sh srv11-domain srv111] delay=10s timeout=5s period=10s #success=1 #failure=1
Readiness:      exec [/weblogic-operator/scripts/readinessProbe.sh srv11-domain srv111] delay=2s timeout=5s period=5s #success=1 #failure=1
Environment:
JAVA_OPTIONS:    -Dweblogic.StdoutDebugEnabled=false
USER_MEM_ARGS:   -Xms64m -Xmx256m
DOMAIN_NAME:     srv11-domain
DOMAIN_HOME:     /shared/domain/srv11-domain
ADMIN_NAME:      adminsrv11
ADMIN_PORT:      7003
SERVER_NAME:     srv111
ADMIN_USERNAME:
ADMIN_PASSWORD:
Mounts:
/shared from weblogic-domain-storage-volume (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-fhm5k (ro)
/weblogic-operator/scripts from weblogic-domain-cm-volume (ro)
/weblogic-operator/secrets from weblogic-credentials-volume (ro)
Conditions:
Type              Status
Initialized       True
Ready             True
ContainersReady   True
PodScheduled      True
Volumes:
weblogic-domain-storage-volume:
Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName:  srv11-domain-weblogic-domain-pvc
ReadOnly:   false
weblogic-credentials-volume:
Type:        Secret (a volume populated by a Secret)
SecretName:  srv11-weblogic-credentials
Optional:    false
weblogic-domain-cm-volume:
Type:      ConfigMap (a volume populated by a ConfigMap)
Name:      weblogic-domain-cm
Optional:  false
default-token-fhm5k:
Type:        Secret (a volume populated by a Secret)
SecretName:  default-token-fhm5k
Optional:    false
QoS Class:       BestEffort
Node-Selectors:
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type     Reason     Age                From                 Message

Normal   Scheduled  13m                default-scheduler    Successfully assigned srv11-domain/srv11-domain-srv111 to instance04
Normal   Pulled     13m                kubelet, instance04  Container image "store/oracle/weblogic:<IP_ADDRESS>" already present on machine
Normal   Created    13m                kubelet, instance04  Created container
Normal   Started    13m                kubelet, instance04  Started container
Warning  Unhealthy  12m (x4 over 13m)  kubelet, instance04  Readiness probe failed: Not ready: WebLogic Server state: SHUTDOWN
Warning  Unhealthy  12m (x3 over 12m)  kubelet, instance04  Readiness probe failed: Not ready: WebLogic Server state: STARTING
Instance srv115:
kubectl describe pod/srv11-domain-srv115 -n srv11-domain
Name:               srv11-domain-srv115
Namespace:          srv11-domain
Priority:           0
PriorityClassName:
Node:               instance05/<IP_ADDRESS>
Start Time:         Wed, 22 Aug 2018 12:17:26 +0000
Labels:             weblogic.clusterName=srv11
weblogic.createdByOperator=true
weblogic.domainName=srv11-domain
weblogic.domainUID=srv11-domain
weblogic.resourceVersion=domain-v1
weblogic.serverName=srv115
Annotations:        prometheus.io/path=/wls-exporter/metrics
prometheus.io/port=8003
prometheus.io/scrape=true
Status:             Running
IP:                 <IP_ADDRESS>
Containers:
weblogic-server:
Container ID:  docker://cd2f5bba8e05aaa3f1f7704fa0c1e459f27b1f590b0572d047c6d0433db0528f
Image:         store/oracle/weblogic:<IP_ADDRESS>
Image ID:      docker-pullable://store/oracle/weblogic@sha256:e3e48963b360e6d7ce86659719487f568c89249979965210b48e979d7b262e1a
Port:          8003/TCP
Host Port:     0/TCP
Command:
/weblogic-operator/scripts/startServer.sh
srv11-domain
srv115
srv11-domain
adminsrv11
7003
State:          Running
Started:      Wed, 22 Aug 2018 12:17:27 +0000
Ready:          True
Restart Count:  0
Liveness:       exec [/weblogic-operator/scripts/livenessProbe.sh srv11-domain srv115] delay=10s timeout=5s period=10s #success=1 #failure=1
Readiness:      exec [/weblogic-operator/scripts/readinessProbe.sh srv11-domain srv115] delay=2s timeout=5s period=5s #success=1 #failure=1
Environment:
JAVA_OPTIONS:    -Dweblogic.StdoutDebugEnabled=false
USER_MEM_ARGS:   -Xms64m -Xmx256m
DOMAIN_NAME:     srv11-domain
DOMAIN_HOME:     /shared/domain/srv11-domain
ADMIN_NAME:      adminsrv11
ADMIN_PORT:      7003
SERVER_NAME:     srv115
ADMIN_USERNAME:
ADMIN_PASSWORD:
Mounts:
/shared from weblogic-domain-storage-volume (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-fhm5k (ro)
/weblogic-operator/scripts from weblogic-domain-cm-volume (ro)
/weblogic-operator/secrets from weblogic-credentials-volume (ro)
Conditions:
Type              Status
Initialized       True
Ready             True
ContainersReady   True
PodScheduled      True
Volumes:
weblogic-domain-storage-volume:
Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName:  srv11-domain-weblogic-domain-pvc
ReadOnly:   false
weblogic-credentials-volume:
Type:        Secret (a volume populated by a Secret)
SecretName:  srv11-weblogic-credentials
Optional:    false
weblogic-domain-cm-volume:
Type:      ConfigMap (a volume populated by a ConfigMap)
Name:      weblogic-domain-cm
Optional:  false
default-token-fhm5k:
Type:        Secret (a volume populated by a Secret)
SecretName:  default-token-fhm5k
Optional:    false
QoS Class:       BestEffort
Node-Selectors:
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type     Reason     Age                  From                 Message

Normal   Scheduled  21m                  default-scheduler    Successfully assigned srv11-domain/srv11-domain-srv115 to instance05
Normal   Pulled     21m                  kubelet, instance05  Container image "store/oracle/weblogic:<IP_ADDRESS>" already present on machine
Normal   Created    21m                  kubelet, instance05  Created container
Normal   Started    21m                  kubelet, instance05  Started container
Warning  Unhealthy  11m (x121 over 21m)  kubelet, instance05  Readiness probe failed: Not ready: WebLogic Server state: SHUTDOWN
Warning  Unhealthy  1m (x67 over 6m)     kubelet, instance05  Readiness probe failed: Not ready: WebLogic Server state: STARTING
Can I debug the startup of the instancies?
Thanks in advance
Oscar

Hi @ocurpianb
Take a look at the server logs, located in the 'logs' directory under the persistent volume path or in the servers directory of the WebLogic domain.  I suspect the WebLogic server instances are taking a long time to start and reach RUNNING state such that the readiness probe is timing out and restarting the pods.

Hi @lennyphan
During the startup process, the instance becomes freezing after the next line for a long period of time
admin server url is t3://srv11-domain-adminsrv11:7002
After some minutes, the process continues as a normal startup.
The logs I attach, was the startup of the srv115 weblogic instance last August 22, which I delete to be recreated automatically this morning.  In this case, the recreation was quite fast, but doing again, it becomes slowly again (not always happens)
I really don't know if the pod is restarted, kubectl don't shows it
NAME                                                READY     STATUS	  RESTARTS   AGE       IP              NODE         NOMINATED NODE
pod/srv11-domain-srv115                             1/1       Running     0          23m       <IP_ADDRESS>    instance05
Thanks
Oscar
srv115.log.txt
srv115.out.txt

Hi @ocurpianb
Still looking into this.

Hi @ocurpianb
I've been unable to reproduce the slow startup in my env.  Would you be able to do a couple things to try and diagnose the long startup of the Admin Server?

Set the following debug server lifecycle system properties in the JAVA_OPTIONS of the Admin Server?

-Dweblogic.log.StdoutSeverity=Debug -Dcom.oracle.weblogic.server.service.debugging=true -Dweblogic.debug.DebugServerLifeCycle=true
You can add them to the 'javaOptions' property in create-weblogic-domain-inputs.yaml  OR add them to the Admin Server's 'serverStartup' entry which sets the JAVA_OPTIONS in the environment.
The Admin Server logs files in the Persistent volume (e.g. /scratch/k8s_dir/domain1/logs) should show logging output for 'ServerLifeCycle'.
Also, taking thread dumps of the Admin Server process in the domain1-admin-server pod will help identify what thread is blocking during the startup.  The following instructions may help in gettng thread dumps:

Get  a shell command prompt for the domain1-admin-server:

kubectl exec -it domain1-admin-server /bin/bash

Find the java process corresponding to the Admin Server using the 'jps' tool:
[oracle@domain1-admin-server ~]$ jps
67 NodeManager
633 Jps
364 WLST
527 Server

Take thread dumps every 20-30 seconds when it's hung using 'kill -3' command:

[oracle@domain1-admin-server ~]$ kill -3 527

This will write thread dumps to the Admin Server's .out file in /scratch/k8s_dir/domain1/domain/base_domain/servers/admin-server/logs directory.
If we can take multiple thread dumps through out the time it's hung then perhaps the thread dumps will show which thread is blocking the startup.
Thanks!
--Lenny

Hi @amyles
Any success in finding the Kubernetes API server logs to see if there are any information on why pods aren't being created?
Thanks!
Lenny

Hi @lennyphan I've lost that environment now. I'll close this issue and spin up another k8s env and test again.

Hi @lennyphan
I have the same problem as you described before (java.net.ProtocolException: Expected HTTP 101 response but was '403 Forbidden')
When I use the script create-weblogic-domain.sh to create a new cluster, all works fine, but the startup of the adminserver becomes stuck during a long period of time without showing any error. At the end, the adminserver starts
The logs of the adminserver pod are this:
Initializing WebLogic Scripting Tool (WLST) ...
Welcome to WebLogic Server Administration Scripting Shell
Type help() for help on available commands
admin username is weblogic
domain path is /shared/domain/srv11-domain
server name is adminsrv11
admin server url is None
Create boot.properties files for this server
writing boot.properties to /shared/domain/srv11-domain/servers/adminsrv11/security/boot.properties
Connecting to Node Manager ...
<Aug 20, 2018 7:05:06 AM GMT> <States = {adminsrv11=UNKNOWN}>
<Aug 20, 2018 7:05:06 AM GMT>
Successfully Connected to Node Manager.
 -Djava.security.policy=/u01/oracle/wlserver/server/lib/weblogic.policy -Djava.library.path=::/u01/oracle/wlserver/server/native/linux/x86_64:/u01/oracle/wlserver/server/native/linux/x86_64/oci920_8:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib -Djava.class.path=/usr/java/jdk1.8.0_151/lib/tools.jar:/u01/oracle/wlserver/server/lib/weblogic.jar:/u01/oracle/wlserver/../oracle_common/modules/thirdparty/ant-contrib-1.0b3.jar:/u01/oracle/wlserver/modules/features/oracle.wls.common.nodemanager.jar::/u01/oracle/wlserver/..:/u01/oracle/wlserver/modules/features/oracle.wls.common.grizzly.jar -Dweblogic.system.BootIdentityFile=/shared/domain/srv11-domain/servers/adminsrv11/security/boot.properties -Dweblogic.nodemanager.ServiceEnabled=true -Dweblogic.nmservice.RotationEnabled=true -Xms64m -Xmx256m -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dweblogic.StdoutDebugEnabled=false weblogic.Server >
<Aug 20, 2018 7:05:06 AM GMT> <Working directory is '/shared/domain/srv11-domain'>
<Aug 20, 2018 7:05:06 AM GMT> <Server output log file is '/shared/domain/srv11-domain/servers/adminsrv11/logs/adminsrv11.out'>
<Aug 20, 2018 7:05:06 AM GMT> <Wrote process id 468>
<Aug 20, 2018 7:12:15 AM GMT> <The server 'adminsrv11' is running now.>
Successfully started server adminsrv11 ...
Successfully disconnected from Node Manager.
<Aug 20, 2018 7:12:15 AM GMT> <NM Command(s) processing completed>
Exiting WebLogic Scripting Tool.
Wait indefinitely so that the Kubernetes pod does not exit and try to restart
I created the clusterrolebinding and the errors than now I'm seeing on the weblogic-operator logs are diferent
Now I'm seeing 500 and 400 Errors
{"timestamp":"08-20-2018T07:12:28.637+0000","thread":61,"level":"INFO","class":"oracle.kubernetes.operator.Main","method":"dispatchDomainWatch","timeInMillis":1534749148637,"message":"Watch event triggered for WebLogic Domain with UID: srv11-domain","exception":"","code":"","headers":{},"body":""}
java.net.ProtocolException: Expected HTTP 101 response but was '500 Internal Server Error'
at com.squareup.okhttp.ws.WebSocketCall.createWebSocket(WebSocketCall.java:123)
at com.squareup.okhttp.ws.WebSocketCall.access$000(WebSocketCall.java:40)
at com.squareup.okhttp.ws.WebSocketCall$1.onResponse(WebSocketCall.java:98)
at com.squareup.okhttp.Call$AsyncCall.execute(Call.java:177)
at com.squareup.okhttp.internal.NamedRunnable.run(NamedRunnable.java:33)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
{"timestamp":"08-20-2018T07:12:55.458+0000","thread":61,"level":"INFO","class":"oracle.kubernetes.operator.Main","method":"dispatchDomainWatch","timeInMillis":1534749175458,"message":"Watch event triggered for WebLogic Domain with UID: srv11-domain","exception":"","code":"","headers":{},"body":""}
java.net.ProtocolException: Expected HTTP 101 response but was '400 Bad Request'
at com.squareup.okhttp.ws.WebSocketCall.createWebSocket(WebSocketCall.java:123)
at com.squareup.okhttp.ws.WebSocketCall.access$000(WebSocketCall.java:40)
at com.squareup.okhttp.ws.WebSocketCall$1.onResponse(WebSocketCall.java:98)
at com.squareup.okhttp.Call$AsyncCall.execute(Call.java:177)
at com.squareup.okhttp.internal.NamedRunnable.run(NamedRunnable.java:33)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Can you help us?
Thanks in advance

Hi,
We are facing similar issue with weblogic kubernetes operator. Were you able to resolve this. If yes, what was the resolution.
Thanks
Binny

Hi Binny,
Is there any more to the log?  Can you provide the full Operator log?
Thanks!
--Lenny

Hi Lenny,
The issue has slightly drifted from origin. We are able to create admin and managed-server PODs, but when a worker node on which admin and managed-server PODs are running goes down, PODs are not successfully moved to a healthy node.
Below is my observation for such behaviour
When a worker node goes down,

Node status changes to NotReady after X seconds
Existing pods in node goes to Error state and then in Unknown state after Y seconds
After Pod Eviction timeout ( 5 mins by default) + time it takes to detect node unhealthy + pod unhealthy detection time, kubernetes tries to evict unknown state pods to a healthy node. But it cant evict the pod since decision to delete the pods cannot be communicated to the kubelet until communication with the apiserver is re-established.
Here, from weblogic operator point, it seems pods as unhealthy and attempts to create new health pods. It is able to create operator pod and trafiek server pod but not admin server pod and managed-server node due to POD name. Pod naming convention for trafiek server and weblogic operator has random string attached to it at the end. Hence it is able to create new Pods inspite of unknown pods being in cluster.
However for admin and managed-server, names are static, hence it can't create new pods until a) api communicates with worker node to delete pods b) manually delete admin / managed-server pod.
Even in case of POD eviction which happens due to resource constraints, pod remains in evicted state for few many days.

Work around here would be to script deletion of non-running admin and managed-server PODs.
Is my understanding correct or is there a better way to handle this.
Thanks for your help
Binny


Document remaining Hubot integrations

This is a follow-up to #4542; now that we have the framework there, we should just need to move the remaining HUBOT_INTEGRATIONS_LEGACY items into HUBOT_INTEGRATIONS.  I imagine @AasthaGupta since it's a follow-up to the Assemble integration work :).

@zulipbot claim

@zulipbot claim


Create separate Identifier classes for each document type, move TypedStage definitions

As per https://github.com/metanorma/pubid-iso/pull/134#discussion_r997664855 , we should move the TypedStage definitions inside:

Identifier::InternationalStandard
Identifier::TechnicalReport
etc.

So that it is easier to manage future changes of these identifiers.
Originally posted by @ronaldtse in https://github.com/metanorma/pubid-iso/issues/140#issuecomment-1281862878

@ronaldtse should "amendments" and "corrigendums" become Identifier::Amendment and Identifier::Corrigendum instead of being just Identifier as well?

@mico yes, these type types should be separate Identifier classes.

I think both types should be supported.

Unless this is documented in the Readme page, it is unusable by me. The rspec examples, astonishingly, continue not to provide usage examples that I can copy of how to use the gem.


Sandbox - Modal page - once open the modal, cannot scroll down the page

Acceptance Criteria:
https://deploy-preview-46--abgov-ui-component-docs.netlify.app/components/modal
Step to reproduce:

Scroll up and down using the mouse or keyboard, it is scrollable
Open the Modal inside the sandbox
Close the modal
Cannot scroll up and down the page anymore until we refresh.

Seems that it is some issue with Sandbox.
cc @chrisolsen

Closing


Fix clippy lints and failed test with Rust 1.66

Objective
Rust 1.66 is coming in a few days, and bevy doesn't build with it.
Fix that.
Solution
Replace output from a trybuild test, and fix a few new instances of needless_borrow and unnecessary_cast that are now caught.
Note
Due to the trybuild test, this can't be merged until 1.66 is released.

bors try

Bors r+


Revert "Add some more JSON-LD Terms"

Reverts galaxyproject/training-material#978
Due to https://github.com/galaxyproject/training-material/pull/1068#issuecomment-428251723

@nsoranzo could you approve this so I can re-try it?


What's the difference to git-lfs?

What's the difference to git-lfs? Sorry for the ignorant question, but you mention to similar projects but not git-lfs. Maybe git-lfs and its relation to git-fat should be in the Readme's  "related projects" section.

git-lfs was created after git-fat. Many people find git-fat simpler, but I unfortunately don't have time to maintain this project and no longer have a need to use it so git-lfs is probably a better choice. (What makes maintenance hard is that people want to make changes that would break backward compatibility, though we don't have great test coverage of that.)

I feel your pain :grin:
Maybe just add this answer to the Readme?


Nedis SmartLife Air Conditioner WIFIACMB1WT12

@AMoo-Miki  Any chance or interest to integrate Nedis SmartLife Air Conditioner WIFIACMB1WT12 ?
https://nedis.com/en-us/product/smart-living/smart-home/automation/550718437/smartlife-air-conditioner-12000-btu-up-to-75-m3-wi-fi-android-ios-energy-class-a

Thanks for your time and work sharing with the community. 🙏

I also have the device. Would also be interested that it works in Homekit.
I added the device. Always get the error message:
[TuyaAccessory] Odd message from Klimaanlage with command 8: { cmd: 8, data: '\f�Påù¬¬DÁ¾�ÌãkáT' }
[TuyaAccessory] Odd message from Klimaanlage with command 8: { cmd: 8, data: 'îM÷P´×{�«7�*Ù\' }
[TuyaAccessory] Odd message from Klimaanlage with command 8: { cmd: 8, data: 'énV,Õ�7\u0013�Ìk�á6ª:' }
[TuyaAccessory] Odd message from Klimaanlage with command 8: { cmd: 8, data: ')��ÿ.�©¦P§ïWD��(' }
[TuyaAccessory] Odd message from Klimaanlage with command 8: { cmd: 8, data: 'åW\u001f~2en\u0013in\u00142�Ô' }
[TuyaAccessory] Odd message from Klimaanlage with command 8: { cmd: 8, data: '÷;\u0004ðÃ¶ï·¶õ¾ù+\n�Ã' }
[TuyaAccessory] Socket had a problem and will reconnect to Klimaanlage (Error: ERR_PING_TIMED_OUT)
[TuyaAccessory] Closed connection with Klimaanlage
[TuyaAccessory] Odd message from Klimaanlage with command 8: { cmd: 8, data: 'N½»@=¾\u001b@Ö�bÛõevD' }
[TuyaAccessory] Odd message from Klimaanlage with command 8: { cmd: 8, data: 'Ò\t/ÆÏ¼\u001e!Ñ«1A\u0017M�H' }
best regards Mike


Upgrade to a more strict analysis_server ruleset

A lot of the Flutter community uses this analysis package for a starting point for Dart analysis. I've used it in the past and like it a lot, and if the team is open, would be happy to lead a migration.

Inspired by #139.

I think we're good here!


[HELP] Installing out of preview mode.

Hello,
My name is Wolfy. Please excuse any formatting / grammar knowledge issues please.
For the past six hours I have been trying with my CEO to install many of these bootstrapper themes/templates. Using composer / bower / etc.
I manage to get the hole thing installed but for some reason I cannot get this out of preview mode. Is there any way that someone can show me how to get it out?
Please excuse anything I'm missing.
I have installed
Apache web server.
MySQL.
AdminLTE
Bootstrapper.
We have tried on a Linux web server & a Windows web server.
Any Ideas.?
Thank you, ~Wolfy

Wolfy, the package comes as a demo, as you can see from the source code, i.e. https://github.com/almasaeed2010/AdminLTE/blob/master/pages/calendar.html
It's up to you to code the components you want to render.

Okay thank you very much, Didn't really see that clearly enough thank you. <3


Configurable autorefresh interval

autorefresh to stop after some time (to stop pinging the server) stretch - make refresh time configurable RYO, 3

This issue can be easily done by using @tanstack/query (also needs some migrate from RTK Query to it) and it was added here.


nlp_si_detection example improvements

Add a second monitor stage to report progress for the back-half of the pipeline
Increase threads to match number of stages
Change triton port to 8000 avoiding a warning about the grpc port
Add EdgeConnectors for derived classes of MultiMessage to MultiMessage
Remove filter stage from example #83 & #197

fixes #186

@gpucibot merge


fixfix bug that query infomation_schema.rowsets fe send fragment to one of muilti be.

master : #27025
Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Feature request: Excluding feeds from "All" feed

There are some feeds I care about regularly and there are some that I just want to look at occasionally, with low signal-to-noise ratio. A simple feature for exclusion of particular feeds from "All" view (and favicon's unread count) would make it way easier to not waste too much time browsing the feeds :)

Well then it wouldn't be "All", would it?
I don't have the issue you describe yet, but I will have quite soon after I add few more feeds.
What I am planning to do is to is to make two main (one for high signal, one for high noise) categories that will serve as parent categories for all my current categories / feeds. Then I will have only my high-quality category open, while only occasionally looking in the other category.

Or you could also use the "filtering expression" feature to automatically mark as read entries of selected feeds?

@testman42: the problem with that is the unread counter that still counts everything.
@Athou: that's at best a workaround, since I'm still interested in keeping unread status of entries in those other feeds.


[docs][iOS] Document iOS 10 requirement.

When installing and main React Native project has a podfile that specifies an iOS version lower than 10.0, this error is given.
  In Podfile:
    react-native-track-player (from `../node_modules/react-native-track-player`)

Specs satisfying the `react-native-track-player (from `../node_modules/react-native-track-player`)` dependency were found, but they required a higher minimum deployment target.```

The iOS 10 requirement, and solution of changing the podfile, should be documented.

platform :ios, "10.0"
instead of
platform :ios, "9.0"

Is it easy to still support iOS 9?
I have an old iPad that cannot be updated to iOS 10, and it's not good for the environment to throw it away.


atlassian-jira: 7.13.0 -> 8.0.1

Motivation for this change
New major release of Jira. (The download URL changed as well.)
/cc @fpletz @globin
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@dasJ of course it is. :/ Give me a moment, gonna test the new version.

Updated to 8.0.1


Optimize Host Running Check in request handler

Repro steps provided by @davidebbo. E.g. provision a Function App with an invalid storage account (e.g. a storage host that doesn't exist). Then make an HttpRequest to the app - requests will time out after 30 seconds, due to our "is host running" logic here.  If the host is in an error state, we should allow this handler to return quickly.

RC if we can get it in

fixed in https://github.com/Azure/azure-webjobs-sdk-script/commit/be59bd0d159e8143a783f878f7f41d734dd076d3


cannot import ./[conversions]

while using a more recent nimislides with a nim 1.6.10 I have a compiler issue with:
import ./[conversions]

(workaround: manually edit nimislides 🥷 )

Ah, good old Nim 1.6. Thanks for noticing it 😄
What was the solution? I know they made some changes to the import ./x but can't really guess what the problem was here

I have checked this out now and I can reproduce it in Nim 1.6.10. BUT it does not reproduce on Nim 1.6.20, so it is most likely a Nim bug that has been fixed in later releases. Will close this as this isn't a nimiSlides problem.


New Feature

I would like to add Hill Cipher cryptography method to your project. This method uses matrix multiplication to encrypt and decrypt data.

Sure! Make a PR!

Kindly assign me the task and add the Hacktoberfest label to this issue.

Kindly add Hacktoberfest-accepted tag to it.  Else it won’t be in count for my Hacktoberfest pull request.


indirect solve prototype

A small experiment to see how we could go about enabling indirect KKT solves.    This PR so far does the following:

adds a registration mechanism for AbstractKKTSolver implementations.   This uses a Dict object implemented similarly to the registration method for the direct LDL solvers.   This requires a minor change to the Settings structure, which now defines a default kkt_solver_method = :directldl to get the standard solver behaviour.

adds a new prototype implementation for a IndirectKKTSolver solver type, which can be selected via the option kkt_solver_method = :indirect.   This is very basic and assumes internally that it will only be applied to a problem with a single NN cone constraint.  It does not actually implement an indirect solve, but rather reduces the KKT system to a dense form to which an an actual indirect linear solver could be applied.

makes some internal modifications to the rest of the code to support the indirect solve, mostly by passing cones around where they are required.

Note that if an indirect method is used then there is no reason that SparseMatrixCSC format is required, since in that case the solver only needs to perform matrix multiplication.     (Almost) everything is implemented internally in terms of AbstractMatrix{T}, so the solver should work on any input type that implements enough of AbstractMatrix{T} interface.   See example below for further explanation.
This is WIP and should not be used in anger.   It is currently unclear to me how this could be applied to general cone problems since it requires the inverse of the scaling block Hs, or at least multiplication by the inverse of that block.   See internal comments in the kktsolver_indirect.jl implementation for further explanation.
Example code:
using Clarabel, SparseArrays

# A small box constrained QP problem.
n = 4
P = sparse(I(n)).*1.
q = collect((1:n).*1.)
A = sparse([I(n);-I(n)].*1.)
b = ones(2*n)
cones = [Clarabel.NonnegativeConeT(2*n)]

# Solve the problem using standard direct method

settings = Clarabel.Settings(kkt_solver_method = :directldl)
solver   = Clarabel.Solver(settings)
Clarabel.setup!(solver, P, q, A, b,cones)
result = Clarabel.solve!(solver)

# Solve the problem using an indirect method

settings = Clarabel.Settings(kkt_solver_method = :indirect)
solver   = Clarabel.Solver(settings)
Clarabel.setup!(solver, P, q, A, b,cones)
result = Clarabel.solve!(solver)

# Since the :indirect method doesn't require direct
# assembly or factorization of the KKT matrix in sparse
# format, everything should also work for matrix data
# of other type, since (nearly) all of the solver is
# implemented in terms of AbstractMatrix{T}.  The only
# exceptions are :

# - info printing provides a nonzero count, so make
# a blanket implementation for that function here
SparseArrays.nnz(A::AbstractMatrix) = prod(size(A))

# - data equilibration uses a few functions for computing
# row and column norms, and for which we have not provided
# generic implementations.  For illustrative purposes I'll
# just disable the equilibration.

settings = Clarabel.Settings(
    kkt_solver_method  = :indirect,
    equilibrate_enable = false
)

# Now the solver should work with dense matrices
denseP = Matrix(P)
denseA = Matrix(A)
solver   = Clarabel.Solver(settings)
Clarabel.setup!(solver, denseP, q, denseA, b, cones)
result = Clarabel.solve!(solver)

Codecov Report
Patch coverage: 74.88% and project coverage change: -0.54 :warning:

Comparison is base (50b0c6e) 82.22% compared to head (991d7f7) 81.69%.

:exclamation: Current head 991d7f7 differs from pull request most recent head 6a7a738. Consider uploading reports for the commit 6a7a738 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #121      +/-   ##
==========================================
- Coverage   82.22%   81.69%   -0.54%
==========================================
  Files          37       39       +2
  Lines        2701     2803     +102
==========================================
+ Hits         2221     2290      +69
- Misses        480      513      +33

Impacted Files
Coverage Δ

src/kktsolvers/kktsolver_indirect.jl
0.00% <0.00%> (ø)

src/settings.jl
8.00% <0.00%> (ø)

src/variables.jl
77.64% <ø> (+11.64%)
:arrow_up:

src/types.jl
85.71% <70.00%> (-0.65%)
:arrow_down:

src/kktsolvers/direct-ldl/directldl_defaults.jl
21.42% <75.00%> (+21.42%)
:arrow_up:

src/kktsolvers/kktsolver_defaults.jl
21.42% <75.00%> (+21.42%)
:arrow_up:

src/utils/mathutils.jl
77.22% <77.77%> (+0.02%)
:arrow_up:

src/info_print.jl
95.91% <92.30%> (-0.93%)
:arrow_down:

src/presolver.jl
94.73% <94.73%> (ø)

src/Clarabel.jl
100.00% <100.00%> (ø)

... and 11 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Decide the name and packaging structure of the library

We are at the final stretch of the G🧦and at the end of the first part of the library, so congrats to all 🎉❤
So, I think it's time to start deciding how we should name this library and how we should structure it so other users can start importing it (whenever the Maven issue for publishing is solved 😅).
These are some of the suggestions so far:

Cats OS: Not pretty awesome, but integrates nicely with the naming of the Cats projects and you could import it very nicely by doing import cats.os.*

Shellfish: The good ol' name, but as we discussed this library isn't any more about shells. The advantage is that not much more refactoring is needed.

Purrcess: Funny, but the library does not have processes implemented just yet.

Gatos: This one's my favorite, it is the Spanish and Italian translation for cats but has the os name at the end of it. Also, really easy to import by doing something like import gat.os.* or simply import gatos.*.

Also, more names and suggestions are very welcome!

+1 for sticking with shellfish or picking a name that directly acknowledges the library is aimed at simplifying shell scripting and isn't a general purpose replacement for fs2-io. Though I do like the fun names. :)

I don't like very much shellfish as a name nor I feel that any of the proposed ones really indicates very clearly that we're talking about scripting.
How about names that contain script/ing somehow? Importing cats.scripting.* might be cool.

feel that any of the proposed ones really indicates very clearly that we're talking about scripting.

I thought you liked the Gatos one 😭
Catscript also sounds really cool to me, I'll +1 to it


No such file or folder

I was using Google Chrome browser with no issues. Today I installed Opera. When trying using history, downloads, searches or any other command (exept New Tab), I get error:
"items": [
{
"title": "open /Users/[username]/Library/Application Support/com.operasoftware.Opera/History: no such file or directory",
"valid": false,
"icon": {
"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AlertStopIcon.icns"
I found my history is kept in: Library/Application Support/com.operasoftware.Opera/Default/History
Copied file in parrent folder and worklow works. How can I change the default folder for Opera to match the workflow script, or change folder in Worflow to match the real folder on my mac?

Uninstalled opera, installed it again the workflow worked. But then a new problem appeared: when trying to access browser history, it gave me error: "Database image disk is malformed". Changed the browser through "ch browser" command to Chrome and then to Opera again, and it worked.
Issue can be closed if developer won't investigate.


unable to get feature of go live button on visual studio plz help

/duplicate

Thank you very much get this  go live feature
On Tue, Dec 22, 2020 at 9:59 AM VS Code Issue Triage Bot <
<EMAIL_ADDRESS>wrote:

Closed #113292 https://github.com/microsoft/vscode/issues/113292.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/113292#event-4140498118, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ASHQ3BZF5FEYFHS67HDVQRTSWCX53ANCNFSM4VFWMUQQ
.

--
Darshna Vhatkar |  Creative Visualizer
Cell (+91)<PHONE_NUMBER>
website http://dv727272.wix.com/art-director-portfol*  |  *email
<EMAIL_ADDRESS>This e-mail and any attachments are confidential and may be protected by
legal privilege. If you are not the intended recipient, be aware that any
disclosure, copying, distribution or use of this e-mail or any attachment
is prohibited. If you have received this e-mail in error, please notify us
immediately by returning it to the sender and delete this copy from your
system. Thank you for your cooperation.


Better trees, random trees

Trees are still quite crude and need a rework. Also, more random variants would be good.

Trees are fine for now, with 4 variants.


Enhance the install_deps.sh script

What do these changes do?

Related issue number

Fixes

Codecov Report

Merging #1873 (ae46899) into main (e5cdf48) will decrease coverage by 8.84%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1873      +/-   ##
==========================================
- Coverage   43.81%   34.97%   -8.85%
==========================================
  Files          89       89
  Lines        9804     9804
==========================================
- Hits         4296     3429     -867
- Misses       5508     6375     +867

Impacted Files
Coverage Δ

...aphscope/tests/kubernetes/test_resource_builder.py
0.00% <0.00%> (-100.00%)
:arrow_down:

...on/graphscope/tests/kubernetes/test_demo_script.py
0.00% <0.00%> (-91.75%)
:arrow_down:

python/graphscope/deploy/kubernetes/utils.py
11.90% <0.00%> (-57.62%)
:arrow_down:

python/graphscope/deploy/kubernetes/cluster.py
23.55% <0.00%> (-50.20%)
:arrow_down:

...thon/graphscope/tests/kubernetes/test_with_mars.py
0.00% <0.00%> (-44.83%)
:arrow_down:

python/graphscope/interactive/query.py
41.12% <0.00%> (-38.71%)
:arrow_down:

python/graphscope/dataset/ldbc.py
35.29% <0.00%> (-35.30%)
:arrow_down:

python/graphscope/dataset/modern_graph.py
35.29% <0.00%> (-35.30%)
:arrow_down:

python/graphscope/client/archive.py
35.84% <0.00%> (-28.31%)
:arrow_down:

...n/graphscope/deploy/kubernetes/resource_builder.py
30.59% <0.00%> (-25.95%)
:arrow_down:

... and 13 more

Continue to review full report at Codecov.

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


:sparkles: added inverse gate for iSWAP

Description
The DD Package was missing the iSWAPDag (iSWAP dagger) gate. However, the DD Package already had in some place a ISWAPDG_MAT which implemented the desired gate in a matrix form.
Status
Currently, the iSWAPdagDumpIsValid test produces the following error:
gate type iswapdg could not be converted to OpenQASM

i:   0   1
1:iswdiswd
o:   0   1

~/mqt-core/test/unittests/test_io.cpp:389: Failure
Expected: qc->import(ss, qc::Format::OpenQASM); doesn't throw an exception.
  Actual: it throws std::runtime_error with description "[qasm parser] l:6 c:2 msg: Unknown gate q".

i:   0   1
o:   0   1

After reading through https://qiskit.org/documentation/apidoc/circuit_library.html, my assumption is that OpenQASM does not support at the moment the iSWAP dagger gate natively, so, therefore, it doesn't have implementation for it.
(I know that the previous assumption might not be the reason why, but I tried to point out a tiny direction why this might not work. Anyway, I will try to look further into this issue in the near future)
Fixes #423
Checklist:

[x] The pull request only contains commits that are related to it.
[x] I have added appropriate tests and documentation.
[ ] I have made sure that all CI jobs on GitHub pass.
[ ] The pull request introduces no new warnings and follows the project's style guidelines.

Important note: iSWAP is supported by OpenQASM, however, the inverse isn't, therefore I didn't know precisely how to proceed further. (Also, I wasn't sure what files I was/wasn't allowed to modify)


BadWindow when closing

Sometimes, when the engine s being shut down, a panic occurs. Singleton guards wont be dropped, and the engine is not properly shut down. Seems to be only happening with linux.
Reliably reproducable when running cargo run and immediately pressing [Alt] + [F4]. Doesn't happen 100% at the time though, hinting at a race condition.
This will be printed when the error occurs:
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  146 ()
  Minor opcode of failed request:  1
  Resource id in failed request:  0x1400002
  Serial number of failed request:  2487
  Current serial number in output stream:  2488
process finished with code 1

Sometimes, the engine throws a popup, saying something along the lines of "process did not return an exit code".
this definitely happens in the process wrapper, in main.
also happens only on linux.
i don't know if this is related to this issue, but should be investigated further.

ever since deleting job_cell, the issue seems to be resolved https://github.com/Rismosch/ris_engine/issues/38
keep open, just to get more info in the future
also, i never encountered the "process did not return an exit code" error again, ever since i first saw it. also keep an eye open for that

i just encountered the bug again, despite job cell missing:

X Error of failed request:  BadWindow (invalid Window parameter)
Major opcode of failed request:  146 ()
Minor opcode of failed request:  1
Resource id in failed request:  0x1400002
Serial number of failed request:  765
Current serial number in output stream:  765
process finished with code 1

after a bit of investigating, during shutting down, it pretty regularily caused a segfault. this was never noticed, because it called itself as a new process, and thusly it was never logged. sometimes it caused the bad window message, sometimes it returned no code, but it happened very frequently actually.
the specific cause is still unknown, but these are some clues:

the segfault happens during dropping GodObject. not running the engine, just initializing and dropping the GodObject is enough
it's tied to drop order. elements drop differently, depending if they are placed in the object or not. if no god object is created, no segfault is caused
when the god object is dropped, the last drop is Scenes. It's unclear if Scenes is causing it, or the drop after that. implementing drop on all dropped structs owned by god object, prints scenes as the last message into the console

a few experiments remain:

change the order in which elements are dropped
experiment with scenes, trying to prove it's the real culprit

Observation 1:
Window must outlive Surface handle.
doc/vulkano/swapchain/struct.Surface.html#method.from_handle
If fixed, completely removes one cause of segfault. But this proved that more than one thing causes a segfault

Observation 2:
Fences may not outlive Vulkano.
output frame stored a vec of fences, which were dropped after the renderer. after reordering the drops, no segfaults were observed anymore

issue stays open, in case this occurs again, but as for now, no segfaults or bad windows seem to appear

https://github.com/Rismosch/ris_engine/pull/74

after 2 weeks, not a single segfault or badwindow was encountered
closing, because the issue seems to be fixed


Fix issues in launch_pager().

Hi Tavian,
first many thanks for your nice bfs tool!
Since the last 20 years or so I'm using export LESS="-MM -i" in work environment - and this does conflict with the default handling of bfs --help. Furthermore LESS= bfs --help also did not work.
So I've tried to fix that in this pull request - please have a look.
Cheers,
Markus

Also, do you mind adding this patch next time you push?  It should keep the FreeBSD build from hanging forever, since it doesn't have access to the necessary secrets when running a fork.  I thought GitHub did this automatically but it just runs it with empty strings.
diff --git a/.github/workflows/freebsd.yml b/.github/workflows/freebsd.yml
index 945be19..0939303 100644
--- a/.github/workflows/freebsd.yml
+++ b/.github/workflows/freebsd.yml
@@ -4,6 +4,8 @@ on: [push, pull_request]

 jobs:
   build:
+    if: github.repository_owner == "tavianator"
+
     runs-on: ubuntu-latest

     steps:

I've addressed your review request and pushed a new verions of my branch.  BTW, I could also squash the commits to make the history look nicer if you prefer.
As for git, I never had any issues with its pager handling - but I'll have a look at the git sources.

BTW, it seems that YAML syntax is not correct - please see https://github.com/tavianator/bfs/actions/runs/745604714 .

Also, do you mind adding this patch next time you push? It should keep the FreeBSD build from hanging forever, since it doesn't have access to the necessary secrets when running a fork. I thought GitHub did this automatically but it just runs it with empty strings.
diff --git a/.github/workflows/freebsd.yml b/.github/workflows/freebsd.yml
index 945be19..0939303 100644
--- a/.github/workflows/freebsd.yml
+++ b/.github/workflows/freebsd.yml
@@ -4,6 +4,8 @@ on: [push, pull_request]

 jobs:
   build:
+    if: github.repository_owner == "tavianator"
+
     runs-on: ubuntu-latest

     steps:

I've addressed your review request and pushed a new version of my branch. BTW, I could also squash the commits to make the history look nicer if you prefer.

Thanks!  I'd like the fixes folded into the relevant commits, but don't squash the whole thing.

As for git, I never had any issues with its pager handling - but I'll have a look at the git sources.

Strange.  LESS= git log prints ESC[33mcommit ... for me.

BTW, it seems that YAML syntax is not correct - please see https://github.com/tavianator/bfs/actions/runs/745604714 .

Ah oops, I think it has to be single quotes.  Didn't realize that would make a difference.

Also if you can s/supprt/support/g in 9fe44c83 that'd be good

Rebased and cleaned up. Please review but don't merge yet - still looking at git.

BTW, that FreeBSD/tailscale CI test is very slow (running for more than 15 minutes right now).

Thanks!  Looks good.

BTW, that FreeBSD/tailscale CI test is very slow (running for more than 15 minutes right now).

It's slow because it doesn't have the secrets, so it stalls waiting for me to manually approve the tailscale connection.  I thought the if: would stop it from running but I think the condition is always true.  Can you try this instead?
if: github.event.pull_request.head.repo.full_name == github.repository

Sigh - you are right about git. I've just realized I have a pager = less -FRX setting in my ~/.gitconfig ...
And as closely following git is probably a very good idea (even if the LESS= git log behaviour is questionable) this pull request should probably get closed.

if: github.event.pull_request.head.repo.full_name == github.repository

I committed this in my latest (squashed) version of this issue, and yes that seems to work!

I'm closing this fow now - will resubmit an improved version soon.


Youtube endless loading when embedding forbidden

Current Behavior:
When embedding is forbidden video shows an endless loading indicator with the poster

Expected Behavior:
The video can not be embedded image should be shown

Steps To Reproduce:

Use a video where embedding is forbidden:  https://www.youtube.com/watch?v=lpdfSB0iKAk

Reproduction Link: Demo Link

I experienced the same and fixed it the following way:
    const handleProviderChange = (e: MediaProviderChangeEvent) => {
      const provider = e.detail;

      if (isYouTubeProvider(provider)) {
        provider.referrerPolicy = 'no-referrer-when-downgrade';
        provider.iframe.referrerPolicy = 'no-referrer-when-downgrade';
      }
    };

Doesn't solve it for me, it still shows the poster with an endless loading indicator.

Agreed, I still have the endless loading indicator on mine too

I'm going to share my workaround and although it's not a solution, I think the reason why this is happening is because of the YouTube API. The full solution would have to be you render an iframe from a different URL (similar to how reddit plays youtube videos).
Essentially here is my MediaPlayer component:
        <MediaPlayer ...
           ref={playerRef}
        >
          <MediaProvider>
          ....
          </MediaProvider>
          <YoutubePlayerControl src={props.src} thumbnail={props.thumbnail} isExternal={props.isExternal} />
          <DefaultVideoLayout
          />
        </MediaPlayer>

Notice how I have a YoutubePlayerControl component there. I have a context hook that contains a reference to my video player in that component and use the bufferEnd to see if the video has loaded. If this video has not buffered 1 second that likely means it's blocked, which I then open the video up in the browser. This is my full code for my component:
const YoutubePlayerControl: React.FC<YoutubePlayerControlProps> = ({ src, isExternal, thumbnail }) => {
    const { playerRef } = useVideoContext();
    const bufferedEnd = useMediaState('bufferedEnd', playerRef);

    const openInBrowser = async () => {
        await Browser.open({ url: src, presentationStyle: 'popover' });
    };

    return (
        !bufferedEnd && isExternal && (
            <div
                className="absolute inset-0 w-full h-full cursor-pointer flex items-center justify-center"
                onClick={openInBrowser}
                aria-label="Youtube video"
            >
                {/* Icon container with higher z-index, using flex centering */}
                <div className="absolute z-30 flex items-center justify-center">
                    <IonImg
                        src="/assets/icon/logos--youtube-icon.svg"
                        alt="Play"
                        className="w-[100px] h-[100px]"
                    />
                </div>

                {/* Poster with lower z-index */}
                <Poster
                    className="absolute inset-0 block h-full w-full bg-black rounded-md opacity-0 transition-opacity data-[visible]:opacity-100 [&>img]:h-full [&>img]:w-full [&>img]:object-cover z-10"
                    src={thumbnail}
                />
            </div>
        )
    );
};

Hope this helps as I've been spending about 2 weeks thinking on how I can fix this and it works well enough for a good user experience!

Hi @brendanahart,
Have you been able to get the player to be reliable for when using with YouTube? I'm still hitting lots of issues (reported but issues still exist), even with the default setup just following the docs exactly.
Especially when trying to view on iPhone. Finding it too unreliable for production. Lots of situations where the player still gets stuck. Some I've reported for where it reliably fails..
Setting playsinline=false prevents video from being playable on iPhone - https://github.com/vidstack/player/issues/1431
The 'play' loading strategy will crash the player on iPhone (never ending loading, can't click to play ) - https://github.com/vidstack/player/issues/1395
After using chapters to navigate, using the time slider no longer works and causes the player to get stuck - https://komododecks.com/recordings/92YAhFQn7wBvNDFaMKC0
Are these things you're using workarounds for? Are you seeing the same issues?

Hey @wplit
I've never seen the player crash the app, however, I've seen the loading "Video is unavailable" whenever I try to load the video natively on an iPhone. I believe this is from the YouTube API blocking anything that is hosted on localhost (which by default is what an app is hosted on). It seems you must need an https connection to the video (according to this issue: https://stackoverflow.com/questions/51969269/embedded-youtube-video-doesnt-work-on-local-server). For some reason, randomly, videos are able to load sometimes and then not load natively on iOS. That's why I went with the custom thumbnail solution and then redirects them to a browser popup in app to load the youtube video.
I haven't gotten to chapters yet and the loading strategy I use is custom.
Here is my code. When the video loads, I am able to navigate with the timesliders.
I would make sure that on iPhone, you're audio is always muted unless you are native. That could be an issue. The user must make sure the audio is pressed for it to play according to recent authoritarian restrictions from Chrome and Safari
        <MediaPlayer
          ref={playerRef}
          src={props.src}
          poster={props.thumbnail}
          aspectRatio={aspectRatioFraction}
          crossOrigin
          playsInline
          loop
          paused={!shouldBePlaying}
          onCanPlay={handleCanPlay}
          onError={handleError}
          load="custom"
          posterLoad="eager"
          style={{ width: playerWidth }}
          onProviderChange={onProviderChange}
          className={loadingClass}
          onClick={handleMediaClick}
          muted={!isNative ? true : muted}
          controlsDelay={hasInteracted ? 1250 : 0}
        >

  useEffect(() => {
    // console.log("Scrolling:", props.isScrolling, "Speed:", props.scrollSpeed, "Should Load:", shouldLoad, "In View:", inView, "ID:", props.src);
    if (shouldLoad) {
      playerRef.current?.startLoading();
    }
  }, [inView, props.isScrolling, props.scrollSpeed]);

 const shouldLoad = inView && (!props.isScrolling || props.scrollSpeed < playingScrollSpeedMax);

I've never seen the player crash the app

Try setting the playsInline to false, and then view on iPhone. The player will crash the moment play is clicked.
Reg. mute being needed. Yes, this is a shame. It makes it less useful than a regular Youtube embed, which can play on one click. Obviously can't be helped from vidstack side of things, but is a huge UX issue imo.

+1 on this one, I get the exact same issue with forbidden embeds.


Wide and Deep Model and runtime version.

Wide and Deep Model produces same probabilities regardless of request instance values. Linear and DNN models function correctly.
Model.py:
def get_model(output_dir, nbuckets, hidden_units, learning_rate):
#return linear_model(output_dir)
return dnn_model(output_dir)
#return wide_and_deep_model(output_dir, nbuckets, hidden_units, learning_rate)
Deploy_model.sh:
Need to add --runtime-version=1.6:
gcloud ml-engine versions create ${MODEL_VERSION} --model ${MODEL_NAME} --origin ${MODEL_LOCATION} --runtime-version=1.6

fixed

Hi - What was wrong with the Wide and Deep Model ?


Warning in PHP 7.3 using 'continue' in switch statement

see https://github.com/Shardj/zf1-future/blob/2ad936d718824f0bcc4c8a46f486fbb759ff7d82/library/Zend/Pdf/FileParser/Font/OpenType.php#L901 and following lines
'continue' in switch statements are deprecated:
https://wiki.php.net/rfc/continue_on_switch_deprecation
I think, 'continue' should be changed to 'break' in all case statements in this method.
In PHP 7.3 it shows warnings like
Warning:  "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in ...

Thanks, I'll get that sorted

Looking at the debug log it seems to me that it should be continue 2 as it's trying to skip the $cmapType = $format; on line 934

Fixed by commit: 4c7092339c249d83994212535d3a1427b736be64


Start feature_request issue form

Just getting this started

@geealbers I changed the "feature request" issue form to a "general" issue form and refer to it as a "contribution proposal". I did a rough draft that will need to be edited based on how we decide to handle the general pull request template.


String serialization

Not quite ready, but I wanted to get some feedback on the design.
This restructures string column storage to use an index column (UINT32), an offset column (UINT64) and a data column (UINT8). By storing strings as a sequence of characters I was able to remove the reliance on InMemOverflowFiles and allow strings to be split across multiple pages, removing the restriction that strings must be smaller than a page (in storage, there are I think still in-memory limits in ValueVectors which I haven't looked into removing), and laying the foundation for string dictionary compression (see the string dictionary compression section in #1474).
This is implemented by creating a variant of NodeColumn called AuxiliaryNodeColumn which handles data stored adjacent to a node group which can grow beyond NODE_GROUP_SIZE elements (BaseNodeColumn handles the shared functionality). Primarily I wanted to separate out the logic that handles the offsets to make sure that when fetching string data for a node group we don't make use of any of the functions which assume that each chunk contains NODE_GROUP_SIZE elements.
I think this might also be able to be used for VarListNodeColumn, but I haven't looked deeply into that.
Updates replacing values are not very efficient at the moment:

[ ] Out of place updates may be triggered even when data doesn't need to grow in size. We could flush the data back to the original location if this is detected.
[ ] Out of place updates modifying existing elements will leave unused entries in the string dictionary, since the old values are scanned into memory, updates are appended to the end, and then the resulting data flushed directly to disk. Dictionary de-duplication compression would fix this, but even for uncompressed string data we would probably want to write a custom flushBuffer function which prunes unused values.

I've done my best to reduce the overhead when scanning (a large part now seems to be caused by the std::function construction and destruction for the BufferManager::optimisticRead call. Unfortunately having both offset and data columns means we have roughly twice as many scans (since for each string we scan the offsets once and the data once). This has led to the runtime even after the optimizations to be about twice as slow when bulk scanning strings than before.
There will be some improvements for duplicate string values with the dictionary compression, as we can avoid scanning the duplicates multiple times, but that won't help for unduplicated data.
I think ideally we want to recognize when offsets and string data to be scanned is adjacent and scan data together or in batches. The fact that we scan values in chunks significantly smaller than the node group size doesn't help, as there's no guarantee that the string entries in the dictionary for that chunk will be adjacent, but particularly without re-writing values, and without dictionary compression (or with data which doesn't benefit from dictionary compression even with it implemented and enabled), it's likely that adjacent string indices refer to data adjacent in the offset and data columns.
As an aside, I think this also means we would get a noticeable speed boost for strings without dictionary compression if we supported storing them in two columns (offset+length and data) instead of three.
I also wonder what performance boost we would get if we switched from using std::function to c-style function pointers with some sort of extra data argument for passing contextual information (e.g. the Column object), as I believe those should have noticeably less overhead (both on master and with these changes, the many small reads that are required to read individual strings mean that the overhead on the scans is dominating (though not by a large margin) the time spent actually reading, and a large part of that overhead seems to be related to std::function).

Before messing around too much with trying to combine adjacent string offset/data queries, I've benchmarked both this and the three yet unpublished parts I've written (enabling compression for string indices and offsets, reading strings directly into the result vector, and dictionary compression).
Copy Benchmarks
Copy benchmarks are done using hyperfine and the python benchmark/serializer.py tool. They measure the time taken to serialize the entirety of the 1GB ldbc dataset.
Baseline
b698dca6a01ab466729720e1721fae42bbdb7654
Benchmark 1: python serializer.py ldbc dataset/ldbc-1/ master /tmp/foo
  Time (mean ± σ):     12.763 s ±  0.106 s    [User: 35.962 s, System: 15.493 s]
  Range (min … max):   12.612 s … 12.972 s    10 runs

Data size: 1153272 bytes
String layout changes only
35b6ed006be4276467e9450cc12bb8fb37948708
Benchmark 1: python serializer.py ldbc dataset/ldbc-1/ strings /tmp/foo
  Time (mean ± σ):     12.941 s ±  0.125 s    [User: 36.114 s, System: 16.169 s]
  Range (min … max):   12.849 s … 13.240 s    10 runs

Data size: 1092528 bytes (new layout lets strings cross page boundaries, so there is less unused space).
Layout changes with compressed index and offset columns
Benchmark 1: python serializer.py ldbc dataset/ldbc-1/ offset-comp /tmp/foo
  Time (mean ± σ):     12.755 s ±  0.040 s    [User: 36.336 s, System: 16.141 s]
  Range (min … max):   12.706 s … 12.823 s    10 runs

Data size: 1012132 bytes
Dictionary compression
Still seems to have a bug with var lists of strings, but that doesn't actually affect this dataset.
Benchmark 1: python serializer.py ldbc dataset/ldbc-1/ dict /tmp/foo
  Time (mean ± σ):     12.532 s ±  0.082 s    [User: 37.954 s, System: 15.226 s]
  Range (min … max):   12.389 s … 12.655 s    10 runs

Data size: 917208 bytes
Query benchmarks
Queries are from the benchmark/queries directory and are run on the ldbc 1GB dataset.
For the most part, there is very little change, other than the overhead on string scans I mentioned earlier. That extra cost is largely recovered with dictionary compression when there is a lot of duplication, but not so much on columns without much duplication (e.g. var_size_seq_scan/q20 which scans the comment.locationIP column).
benchmarks.pdf
Insert benchmarks
TODO


Editing time entries

Hi @Ellpeck
first of all, thank you very much for this plugin. I use it almost daily and have been loving it so far.
I often find myself forgetting to start a timer when I start working. So what I usually do is to start it when I notice and edit the start date later on. However, this is somewhat inconvenient, as the times are stored as unix epoch timestamps, which means I  have to use a different tool to calculate the timestamp and paste the result over.
To improve on this, I could imagine two ways:

Store the times in a ISO-8601 (i.e. like 2023-10-16T14:10:10+00:00) or similar encoding, that is human readable. This way the time could be edited through the source view.
Allow to edit the times through the user interface. There already is an edit button for the entry name. A click on that button could make the times editable as well and save them as unix epoch timestamps on confirmation.

From a usability standpoint, the second would probably be better, but the first one should be easier to implement.
If you want to, I could look into that. I just did not want to start anything before consulting you on this.
Cheers,
Luc

Hi! Are you sure you're on the latest version? Both of these features have already been implemented and released.

Oh, you're right. For some reason I wasn't shown the available updates until now. Sorry for taking up your time.