ERROR: The Python ssl extension was not compiled when attempting to install Python 3.3.6

I encountered the  "ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?" and I couldn't solve it by following the common build problems solutions on the wiki.
$ asdf install python 3.3.6
python-build 3.3.6 $HOME/.asdf/installs/python/3.3.6
Downloading Python-3.3.6.tar.xz...
-> https://www.python.org/ftp/python/3.3.6/Python-3.3.6.tar.xz
Installing Python-3.3.6...
patching file ./Lib/ssl.py
patching file ./Modules/_ssl.c
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

Please consult to the Wiki page to fix the problem.
https://github.com/pyenv/pyenv/wiki/Common-build-problems

BUILD FAILED (Ubuntu 20.04 using python-build 1.2.20-3-g58c776a1)

Inspect or clean up the working tree at /tmp/python-build.20200824193848.103398
Results logged to /tmp/python-build.20200824193848.103398.log

Last 10 log lines:
rm -f $HOME/.asdf/installs/python/3.3.6/bin/idle3
(cd $HOME/.asdf/installs/python/3.3.6/bin; ln -s idle3.3 idle3)
rm -f $HOME/.asdf/installs/python/3.3.6/bin/pydoc3
(cd $HOME/.asdf/installs/python/3.3.6/bin; ln -s pydoc3.3 pydoc3)
rm -f $HOME/.asdf/installs/python/3.3.6/bin/2to3
(cd $HOME/.asdf/installs/python/3.3.6/bin; ln -s 2to3-3.3 2to3)
rm -f $HOME/.asdf/installs/python/3.3.6/bin/pyvenv
(cd $HOME/.asdf/installs/python/3.3.6/bin; ln -s pyvenv-3.3 pyvenv)
rm -f $HOME/.asdf/installs/python/3.3.6/share/man/man1/python3.1
(cd $HOME/.asdf/installs/python/3.3.6/share/man/man1; ln -s python3.3.1 python3.1)

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.1 LTS
Release:    20.04
Codename:   focal

$ which python3
$HOME/.asdf/shims/python3

$ asdf --version
v0.8.0-rc1-e0142ee

$ asdf list python
  3.8.5

$ asdf plugin list --refs
python                       master b544ac9

$ sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev \
> libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
> xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version (12.8ubuntu1).
git is already the newest version (1:2.25.1-1ubuntu3).
libbz2-dev is already the newest version (1.0.8-2).
libffi-dev is already the newest version (3.3-4).
libncurses5-dev is already the newest version (6.2-0ubuntu2).
libncursesw5-dev is already the newest version (6.2-0ubuntu2).
libreadline-dev is already the newest version (8.0-4).
libssl-dev is already the newest version (1.1.1f-1ubuntu2).
wget is already the newest version (1.20.3-1ubuntu1).
zlib1g-dev is already the newest version (1:1.2.11.dfsg-2ubuntu1).
llvm is already the newest version (1:10.0-50~exp1).
python-openssl is already the newest version (19.0.0-1build1).
tk-dev is already the newest version (8.6.9+1).
curl is already the newest version (7.68.0-1ubuntu2.2).
liblzma-dev is already the newest version (5.2.4-1ubuntu1).
libsqlite3-dev is already the newest version (3.31.1-4ubuntu0.2).
xz-utils is already the newest version (5.2.4-1ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

$ sudo apt-get install libssl1.0-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libssl1.0-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libssl1.0-dev' has no installation candidate

Installing Python 3.5.0 produces a similar error.  Installing 3.6.0 works like a charm:
$ asdf install python 3.5.0
python-build 3.5.0 $HOME/.asdf/installs/python/3.5.0
Downloading Python-3.5.0.tar.xz...
-> https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tar.xz
Installing Python-3.5.0...
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

Please consult to the Wiki page to fix the problem.
https://github.com/pyenv/pyenv/wiki/Common-build-problems

BUILD FAILED (Ubuntu 20.04 using python-build 1.2.20-3-g58c776a1)

Inspect or clean up the working tree at /tmp/python-build.20200824231621.215456
Results logged to /tmp/python-build.20200824231621.215456.log

Last 10 log lines:
(cd $HOME/.asdf/installs/python/3.5.0/share/man/man1; ln -s python3.5.1 python3.1)
if test "xupgrade" != "xno"  ; then \
    case upgrade in \
        upgrade) ensurepip="--upgrade" ;; \
        install|*) ensurepip="" ;; \
    esac; \
     ./python -E -m ensurepip \
        $ensurepip --root=/ ; \
fi
Ignoring ensurepip failure: pip 7.1.2 requires SSL/TLS

$ asdf install python 3.6.0
python-build 3.6.0 $HOME/.asdf/installs/python/3.6.0
Downloading Python-3.6.0.tar.xz...
-> https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
Installing Python-3.6.0...
Installed Python-3.6.0 to $HOME/.asdf/installs/python/3.6.0

$ asdf list python
  3.6.0
  3.8.5

This is a possible instance of this issue:
https://github.com/pyenv/pyenv/issues/945

Hi, thanks for reporting. This plugin is mostly a wrapper of pyenv, so tracking the upstream issue is probably the only thing to do.
I'll close here but feel free to comment if you think something could be done on this plugin's side.

any updates?

Same behavior with Python 3.11.2 in WSL.


push code to support 7.x

Hi all:
I want contribute code to support es 7.x, i have already done something
can i push my merge request?
thx

Can you open a pull request for this? So everybody can have a look of it and the project owner can decide to merge it into the master.

Hi, when is it expected for this library to support es7.x?

@WeijieZheng any PR for support 7.x?


App service windows container start error

I've an asp.net core app that I want to run as windows container inside app service.
The app is built as self contained and uses docker file as (snippets):
FROM mcr.microsoft.com/windows/servercore:ltsc2019 AS base
....
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
.. -c Release -o /app/publish --self-contained --runtime win-x64
...
and then
FROM base AS final
ENTRYPOINT ["App.exe"]
The docker file is used to correctly build and push to ACR from azure devops pipeline, but when running the image in App Service it says:
Unable to start container. Error message: Index was outside the bounds of the array
I've also tried couple of other base images:
FROM mcr.microsoft.com/dotnet/aspnet:6.0-windowsservercore-ltsc2019 AS base
and
FROM mcr.microsoft.com/dotnet/runtime:5.0-windowsservercore-ltsc2019 AS bas
and they give same error.
What windows images does app service support?

@apwestgarth have you seen this issue before? Another user who hit a similar issue apears to have resolved the issue by changing the base image target

Thanks for adding me @cwilhit
As per our documentation - https://docs.microsoft.com/azure/app-service/configure-custom-container?pivots=container-windows - we have the following images cached locally on our workers to help with startup time - https://docs.microsoft.com/azure/app-service/configure-custom-container?pivots=container-windows#supported-parent-images
mcr.microsoft.com/windows/servercore:20H2
mcr.microsoft.com/windows/servercore:ltsc2019
mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-20H2
mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
mcr.microsoft.com/dotnet/runtime:5.0-nanoserver-20H2
mcr.microsoft.com/dotnet/runtime:5.0-nanoserver-1809
mcr.microsoft.com/dotnet/aspnet:5.0-nanoserver-20H2
mcr.microsoft.com/dotnet/aspnet:5.0-nanoserver-1809
mcr.microsoft.com/dotnet/runtime:3.1-nanoserver-20H2
mcr.microsoft.com/dotnet/runtime:3.1-nanoserver-1809
mcr.microsoft.com/dotnet/aspnet:3.1-nanoserver-20H2
mcr.microsoft.com/dotnet/aspnet:3.1-nanoserver-1809
As such any Windows Container based on LTSC2019 to 20H2 should be fine.
This is an example dockerfile from a sample app I created this afternoon:
`#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
#Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed.
#For more information, please see https://aka.ms/containercompat
FROM mcr.microsoft.com/dotnet/aspnet:6.0-windowsservercore-ltsc2019 AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/sdk:6.0-windowsservercore-ltsc2019 AS build
WORKDIR /src
COPY ["NetCoreWindowsCoreContainerSample/NetCoreWindowsCoreContainerSample.csproj", "NetCoreWindowsCoreContainerSample/"]
RUN dotnet restore "NetCoreWindowsCoreContainerSample/NetCoreWindowsCoreContainerSample.csproj"
COPY . .
WORKDIR "/src/NetCoreWindowsCoreContainerSample"
RUN dotnet build "NetCoreWindowsCoreContainerSample.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "NetCoreWindowsCoreContainerSample.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "NetCoreWindowsCoreContainerSample.dll"]`
Our support engineers can take a look at the specific issue you are hitting, if you open a support case in the Azure Portal.

@pevgeniev have you taken a look at the above links and did it resolve your issue? I think this issue is solidly not a Windows containers platform issue (rather App Service, if anything) so I am going to mark this as closed.


Fixes #1161 Cannot find Python install dir when profiling

Fixes #1161 Cannot find Python install dir when profiling
Allows callers to PythonToolsInstallPath.GetFile to override the assembly used for locating files.

:+1:


[BUG] Send to recheck crash

Describe the bug
when go to hits and send to recheck software will be crashed
To Reproduce
Steps to reproduce the behavior:

Go to 'Hits'
Select the config and type you want
Select all the hits or one hit
Mouse right-click
Click 'send to recheck'
See error

Screenshots

Version

Version 1.2.0

This will be fixed as part of https://github.com/openbullet/openbullet/issues/522


  Not that it is relevant to the problem, but it may help me reproduce.
Cheers
-steve

root@m-1:~# istioctl version
Version: 1.0.2
GitRevision: d639408fded355fb906ef2a1f9e8ffddc24c3d64
User: root@66ce69d4a51e
Hub: gcr.io/istio-release
GolangVersion: go1.10.1
BuildStatus: Clean

Do I need some pre-actions for this upgrade? for example, repo set, or others.

It is unclear if anyone has tested ingress enabled in the RC candidates.  While ingress gateway is heavily tested by our gating system, ingress itself is not.
I was able to duplicate this issue.
Here is what the deployments file looks like (rendered):
# Source: istio/charts/ingress/templates/deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: istio-ingress
  namespace: istio-system
  labels:
    app: ingress
    chart: ingress
    heritage: Tiller
    release: release-name
    istio: ingress
spec:
  template:
    metadata:
      labels:
        app: ingress
        chart: ingress
        heritage: Tiller
        release: release-name
        istio: ingress
      annotations:
        sidecar.istio.io/inject: "false"
        scheduler.alpha.kubernetes.io/critical-pod: ""
    spec:
      serviceAccountName: istio-ingress-service-account
      containers:
        - name: ingress
          image: "istionightly/proxyv2:1.1.0-rc.0"
          imagePullPolicy: Always
          ports:
            - containerPort: 80
            - containerPort: 443
          args:
          - proxy
          - ingress
          - --domain
          - $(POD_NAMESPACE).svc.cluster.local
          - --log_output_level
          - 'info'
          - --drainDuration
          - '45s' #drainDuration
          - --parentShutdownDuration
          - '1m0s' #parentShutdownDuration
          - --connectTimeout
          - '10s' #connectTimeout
          - --serviceCluster
          - istio-ingress
          - --zipkinAddress
          - zipkin:9411
          - --statsdUdpAddress
          - :
          - --proxyAdminPort
          - "15000"
          - --statusPort
          - "15020"
          - --controlPlaneAuthPolicy
          - NONE
          - --discoveryAddress
          - istio-pilot:15010
          readinessProbe:
            failureThreshold: 30
            httpGet:
              path: /healthz/ready
              port: 15020
              scheme: HTTP
            initialDelaySeconds: 1
            periodSeconds: 2
            successThreshold: 1
            timeoutSeconds: 1
          resources:
            requests:
              cpu: 10m

          env:
          - name: POD_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.name
          - name: POD_NAMESPACE
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
          - name: INSTANCE_IP
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: status.podIP
          volumeMounts:
          - name: istio-certs
            mountPath: /etc/certs
            readOnly: true
          - name: ingress-certs
            mountPath: /etc/istio/ingress-certs
            readOnly: true
      volumes:
      - name: istio-certs
        secret:
          secretName: istio.istio-ingress-service-account
          optional: true
      - name: ingress-certs
       secret:
          secretName: istio-ingress-certs
          optional: true
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: beta.kubernetes.io/arch
                operator: In
                values:
                - amd64
                - ppc64le
                - s390x
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 2
            preference:
              matchExpressions:
              - key: beta.kubernetes.io/arch
                operator: In
                values:
                - amd64
          - weight: 2
            preference:
              matchExpressions:
              - key: beta.kubernetes.io/arch
                operator: In
                values:
                - ppc64le
          - weight: 2
            preference:
              matchExpressions:
              - key: beta.kubernetes.io/arch
                operator: In
                values:
                - s390x

@xianke9 to answer your question, yes, you need to install istio-init first prior to upgrading.  We are working on improving the documentation for 1.1 prior to release, but this is the current upgrade documentation:
https://preliminary.istio.io/docs/setup/kubernetes/upgrade/#helm-upgrade

statsd is deprecated.  I believe it has been entirely removed, however, the ingress chart keys off of it's values.  @douglas-reid can you confirm?
Cheers
-steve

@xianke9 this is user error:
You are specifying the following
 --set global.proxy.envoyStatsd.enabled=true

From values.yaml, (the current canonical documentation):
    envoyStatsd:
      # If enabled is set to true, host and port must also be provided. Istio no longer provides a statsd collector.
      enabled: false
      host: # example: statsd-svc.istio-system
      port: # example: 9125

This problem would occur during install as well as upgrade.
I recognize the error is vague and doesn't explain this problem.  This is a limitation of the underlying technology in use (Helm).  We are correcting this problem in later versions of Istio by validating user input.
Cheers
-steve

@sdake we left it in so that those that wished to use a statsd exporter (of their own deploying) could still.

This is just a doc issue - this is not blocking the release.

agreed on doc issue for this with @sdake.
Also, I don't think we no longer support the ingress.enabled=true in v1.1.

in summary, we should refer to https://preliminary.istio.io/docs/setup/kubernetes/upgrade/#helm-upgrade for upgrade, and remove param ingress.enabled=true, global.proxy.envoyStatsd.enabled=true, right?

Being pedantic here, sorry, I'd love to see a doc PR or P0 doc bug created before we demote this one.  Otherwise it'll fall of our short list of frequently revisited bugs

@duderino ack, no problem - I won't move around priorities in iissues in istio/istio repo.
Cheers
-steve

in summary, we should refer to https://preliminary.istio.io/docs/setup/kubernetes/upgrade/#helm-upgrade for upgrade, and remove param ingress.enabled=true, global.proxy.envoyStatsd.enabled=true, is it right?

you may want ingress enabled - it depends on your deployment.  As far as statsd enabled goes this also depends on your deployment, if you enable this, you must also enable the statsd server and statsd port as Istio no longer provides one.

@linsun if we don't support ingress.enabled=true in 1.1, then we should probably remove ingress.  I don't know the state of ingress, as it is outside of my current focus areas.  @andraxylia or @rshriram can you comment?
Cheers
-steve

cc @costinm to comment, I'd be happy to remove it.  I recall discussing this in a TOC mtg recently.

@philrud got the ingress to work, let's wait for his input, I do not think we need to remove ingress.

lets remove it from the main install and docs.. While people get it to "work" for some definition, we have not tested it as extensively as the gateway. Since we have been gating other improvements (e.g., concurrency level, etc.) based on how extensively they have been tested, we should do the same for ingress - i.e. its 100% untested. Our defaults disable ingress. Scale issues are unknown, especially with the leader election thing in the client.

how does someone migrate from ingress to ingressgateway?  The docs wg led by @geeknoid will need guidance...

+1 on removing it from the main install.
We did actually test ingress extensively - including with Certmanager and SDS, as well as multiple ingresses. However it is far better for anyone using k8s ingress to move to the new installer and not install ingress with the 'demo'-based installer.

Thanks, I'll submit a PR for it shortly.

From what I found over last couple of weeks: user experience with K8S Ingress has greatly improved since 1.0. I haven't found any functional issues besides what's known to be not supported. As @costinm mentioned Ingress + TLS + SDS + cert-manager now works pretty much out of the box, here's an "Example" of this (as part of the docs effort): https://github.com/istio/istio.io/pull/3498 (preview link: https://deploy-preview-3498--preliminary-istio.netlify.com/docs/examples/advanced-gateways/ingress-certmgr/)
We're not talking making this change for 1.1, are we? The new installer is right around the corner, I don't see what are we gaining by removing it now right ahead of the release.

@philrud yes this is open for debate for 1.1.
I don't have a strong opinion, and everyone tells me ingress isn't qualified properly...  So I am more happy to delete code that isn't used and won't be.
Cheers
-steve

From what I found over last couple of weeks: user experience with K8S Ingress has greatly improved since 1.0. I haven't found any functional issues besides what's known to be not supported. As @costinm mentioned Ingress + TLS + SDS + cert-manager now works pretty much out of the box, here's an "Example" of this (as part of the docs effort): istio/istio.io#3498 (preview link: https://deploy-preview-3498--preliminary-istio.netlify.com/docs/examples/advanced-gateways/ingress-certmgr/)

where the value we provide is just SDS plus some metrics for ingress? the user cannot use any other aspect of gateway or virtual service. No routing rules or any form of customization, for various reasons. IF these users start asking for the ability to customize, we will end up directing them to use the Gateways.

Discussion from slack and comments on  https://github.com/istio/istio/pull/12259 say keep k8s ingress.
slack networking channel:
costin [10:04 AM]
New data... It seems Philip did actually test and has a doc PR.
My testing was all done in 'separate namespace' with the new installer.
So we have a choice to keep it - my preference is to still simplify the install and point to the new installer
But I'm also ok if Lin's instructions for 'only gateway' can be tested to work for ingress as well
And I can live with Philip's PR and leaving it in as well - my primary concern is that it's far better for users to have the ingress in separate namespaces and manage it separately
Also AFAIK most of Philip's testing was also done with 'separate namespace for ingress' scenario, and that's what the users are using.

Joshua Blatt [12:52 PM]
So what's the call here on k8s ingress?  Keep it because Phil had done a bunch of testing and updated the docs or scramble to drop it?

costin [1:24 PM]
I would say: leave it as is ( disabled by default ), since we know it works and minimizes risk for people who were using it in 1.0
But new documentation that Phils has should go with Lin's 'standalone gateway / different namespace' method of install
( or with the new installer - which is basically doing almost the same thing )
This way we double check Lin's standalone gateway setup as well, not sure how much testing it got
New problem: '''if nt.Type == model.Router && (nt.ServiceInstances == nil || len(nt.ServiceInstances) == 0) {
        return errors.New("gateway has no associated service instances")
    } - '''
With a clean install ( no options at all ) - it seems there is no Gateway created so Ingress gateway will crash loop until one is created.
Not a major problem I think
I mean not blocking - workaround is to just create a Gateway or not install the gateway if it won't be used.

costin [1:45 PM]
And it seems to recover.
So all good

@philrud @sdake @xianke9 how can we close out this bug?  What needs to be doc'd?

This bug can be closed.  I am unclear what needs to be documented.  I understand (someone) has a document on this topic - not sure where - not sure what state it is in.  @costinm had more context.
Cheers
-steve

After this is merged: https://github.com/istio/istio/pull/12284 (remote old "ingress" from the installer, keep "k8sIngress"), we will need to remove "ingress.enabled" flag from the docs and mention in the release notes that "ingress.enabled" installer flag is obsolete and has been removed (in favor of gateways).

@philrud is that handled by https://github.com/istio/istio.io/pull/3498?  ingress.enabled is used throughout the install codebase.  For some reason @costinm indicated this has indicated you ahve fixed this?

@sdake looks like there are several conversations in different threads. Let me summarize everything here.

"ingress.enabled" != Kubernetes Ingress resource support
"ingress.enabled" is known to be broken and should not be used, we need to remove it. Here's a PR for this: https://github.com/istio/istio/pull/12284 (similar to your PR from yesterday, see the PR notes highlighting the key differences).
After that PR is merged, we will need to remote "ingress.gateway" installer flags from the Istio.io documentation, there's no PR for that yet, I can do it once 12284 is merged. Also we probably need to indicate that "ingress.enabled" flag is removed in the 1.1 release notes (not sure how to handle this one).
Kubernetes Ingress resource support works and is tested, it can be enabled via "global.k8sIngress.enabled" flag and will by default be handled by "ingressgateway" since https://github.com/istio/istio/pull/12284
This is documented in my docs PR that demonstrates the use of k8sIngress, this example does not rely on "ingress.enabled" (that is what's being removed): https://github.com/istio/istio.io/pull/3498

I think this is all there is to it. Let me know if this makes sense. Also would appreciate any help with getting those 2 PRs in. Thanks!

thanks @philrud - we were struggling to understand the state of these things.
Cheers
-steve

Remaining work here is captured in steps 3 and 5 from https://github.com/istio/istio/issues/12015#issuecomment-470299110 and these are both doc issues that will be done with @philrud

Steps 3 and 5 are done.  @philrud can this now be closed?

"ingress.*" flags are removed from 1.1 installer. related PRs:

https://github.com/istio/istio/pull/12284
https://github.com/istio/istio.io/pull/3588
https://github.com/istio/istio.io/pull/3558
closing this one if nobody has any objections


Update setup.py

Fixed UnicodeDecodeError.

Hi @Xestph,
Thanks for submitting a PR.
The default encoding in Python 3 is UTF-8 (https://docs.python.org/3/howto/unicode.html#python-s-unicode-support).
I'd like to diagnose what is causing the error first, so please open an issue with details of your environment such as Python version and locale, as well as relevant code snippets.
I'm happy to reopen this PR once we establish the need for it.
Many thanks,
Misa

Please refer to
https://github.com/google/tangent/issues/11
https://github.com/rkern/line_profiler/issues/37
Although sys.getfilesystemencoding() call reports the encoding that Python will use by default for most operations related to the filesystem, locale.getpreferredencoding() call reports the encoding that Python will use for reading in a text file without a specified encoding. The former generally returns utf-8 while the latter may vary on different systems.


Support matrix doc update

What type of PR is this?
/kind documentation
What this PR does / why we need it:
Delfin supports heterogenous monitoring for several vendor and model. Support matrix captures details for all those drivers.
Currently support matrix is updated only for huawei oceanstor and emc vmax drivers.
For the remaining supported drivers, these support info need to be updated in future
Currently, just a note is added about this
Which issue(s) this PR fixes:

Fixes #
Test Report Added?:
/kind TESTED
Test Report:

Special notes for your reviewer:

@anvithks @NajmudheenCT @kumarashit pls have a look


closes issue #205 Disclaimer saving state

writes 'agree' or 'disagree' to redux store on click of respective buttons on popup. Current logic has it so that the popup will only go away upon clicking agree. if user clicks disagree and goes to another page then comes back, popup still appears

Nice job!


[SPARK-24718][SQL] Timestamp support pushdown to parquet data source

What changes were proposed in this pull request?
Timestamp support pushdown to parquet data source.
Only TIMESTAMP_MICROS and TIMESTAMP_MILLIS support push down.
How was this patch tested?
unit tests and benchmark tests

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/807/
Test PASSed.

Merged build finished. Test PASSed.

Test build #92796 has started for PR 21741 at commit b2a9000.

Test build #92796 has finished for PR 21741 at commit b2a9000.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/92796/
Test FAILed.

retest this please

Test build #92799 has started for PR 21741 at commit b2a9000.

Test build #92799 has finished for PR 21741 at commit b2a9000.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/92799/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/886/
Test PASSed.

Test build #92908 has started for PR 21741 at commit 5471d79.

Test build #92908 has finished for PR 21741 at commit 5471d79.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/92908/
Test PASSed.

cc @michal-databricks @mswit-databricks @rdblue @cloud-fan

LGTM

+1

Test build #93006 has started for PR 21741 at commit f206457.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/955/
Test PASSed.

Test build #93006 has finished for PR 21741 at commit f206457.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
  class SerializableConfiguration(@transient var value: Configuration)
  class IncompatibleSchemaException(msg: String, ex: Throwable = null) extends Exception(msg, ex)
  case class SchemaType(dataType: DataType, nullable: Boolean)
 implicit class AvroDataFrameWriter[T](writer: DataFrameWriter[T])
 implicit class AvroDataFrameReader(reader: DataFrameReader)
class KMeansModel (@Since(\"1.0.0\") val clusterCenters: Array[Vector],
abstract class ArraySetLike extends BinaryArrayExpressionWithImplicitCast
case class ArrayUnion(left: Expression, right: Expression) extends ArraySetLike

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/93006/
Test PASSed.

Merged to master.


Installation from source instructions

The instructions on how to install from source that we have in the README do not work. Doing
pip install -e .

works but the [dev,docs] options don't. I suspect this was changed when we had some improvements in the pyproject.toml, but would be worth double checking.

Good spot I will look over this now

Im getting a solid ‘works on my machine’ here.
Can I get the following information from you:
Platform
Python/pip Version
Terminal
Anything else…
I will spin up a VM and try building this in Debian.

No problems installing this on Debian

We tried in Mac. It was @WDWidanage's laptop, but I think @muhammedsogut had a similar issue so they can provide more info.


STARTTLS support for LDAP in s_client

It would be great to be able to run openssl s_client -connect localhost:389 -starttls ldap for TLS related debugging purposes at LDAP where the classical SSL variant with TCP port 636 isn't available. As per http://stackoverflow.com/questions/11549731/is-it-possible-to-send-ldap-requests-via-telnet it does not make much sense to try to speak LDAP "by hand", but having STARTTLS support for LDAP in s_client would be still appreciated for TLS related testing and debugging.

I don't think it is a good idea to create a mutual dependency between OpenSSL and OpenLDAP.  If speaking LDAP starttls "by hand" is too difficult, then such debugging tools should be created on the OpenLDAP side and not in s_client.

I also wouldn't speak FTP or XMPP "by hand", but openssl s_client supports it. My intention behind STARTTLS support for LDAP is more the TLS part to check certificate chains, force some TLS versions or ciphers etc. I guess only less people are doing more than that "by hand" with the FTP or XMPP support in openssl s_client, too. And I'm definately not interested in creating a real dependency, but sending some LDAP-ish sequences to initiate a STARTTLS for LDAP should be possible without any OpenLDAP code dependency, I assume (that's about what happens for XMPP at the moment).

Now that I did #2293, I was made aware by Ryan Tandy that @quanah pointed out an existing patch at https://rt.openssl.org/Ticket/Display.html?id=2665 already years ago – which meanwhile lead to #1733 and #1735 (it seems to do indeed more than my PR does, but I'm unfortunately not knowledged enough to follow up #1735 though).

so many ldap PR's :)  we'll have to sort this out.

Only two PRs, really...  and they really do the same, one just happens to be a bit more verbose than the other (and easier to change, should it come to that)

Can this issue be closed as a duplicate of #1733 and possibly the PR moved forward?

Yes, dup of #1733.


Ability to link to steps directly

Could it be possible to link directly to a step? For example, I imagine someone may want to skip step 1 because they already know how to run vagrant so they may want to skip the step -- they could click the number 2, but it may be nice if they could we had a link for  "skip to the next step" that automatically switched steps.
Skipping from step 1 to step 2 is the only place in the Aurora tutorial where I currently see a need for this, but perhaps it's useful for other tutorials as well.

I added a property where I can define wchich step can skip.
skipsteps: '1,2',

done =D


Default @return on explicit writer method

This is best shown with a real life example using a default attribute reader along with an explicit attribute writer which should be documented with overloads as per your comment here:
class Arc
  # Center point
  #
  # @overload center_xy
  #   @return [AIXM::XY]
  # @overload center_xy=(value)
  #   @param value [AIXM::XY]
  attr_reader :center_xy

  def center_xy=(value)
    # do some stuff here
    @center_xy = value
  end
end

However, this documents the writer as follows:
#center_xy=(value) ⇒ Object

While technically correct, it should be:
#center_xy=(value) ⇒ AIXM::XY

It's of course possible to add an explicit @return to the writer docstring.
However, shouldn't the default return of the writer better be the return of the corresponding reader – given how Ruby attribute writer methods work these days?
Update: Actually, that's not true: Ruby these days always returns the parameter of the writer, so a better default for the writer return would be whatever is set for the @param (in this case AIXM::XY from @param value [AIXM::XY]).
Btw: Thanks for YARD, love the generated docs and how well they work with Dash. 🥳

It's of course possible to add an explicit @return to the writer docstring.

Typically you would document @return [void] for an explicit setter. If you couple this with --hide-void-return, you get a realistic representation of your typical attr_* contract.
Even though Ruby's implementation of attr_writer will return the value outright, the actual contract should not be to use attribute setters as return values, i.e., value = obj.center_xy = 1 is a notable code smell that most modern linters will warn you about pretty quickly. This is specifically because your subsequent code that overloads the setter may decide to do fun things after setting the value, and you probably don't want to sign yourself up to follow a contract that shouldn't exist in the first place. Consider the following:
attr_reader :center_xy

def center_xy=(value)
  @center_xy = value
  notify_listeners # best case this returns nil, more likely it will be the array of listener objects
end

A seemingly normal implementation that now breaks the contract. These kinds of regressions can sneak into many codebases, and I almost guarantee you don't have any unit tests ensuring the return values of your attr_writers.
That said, if you're truly set on enforcing that your setters return the object back to the caller, you can absolutely document this with YARD in the following way:
class Arc
  # Center point
  #
  # @overload center_xy
  #   docs for reader
  # @overload center_xy=(value)
  #   docs for writer
  #   @param value [AIXM::XY] param docs
  # @return [AIXM::XY]
  attr_reader :center_xy
end

Note the @return tag is outside of the overloads. This gets properly applied on the overload signatures and renders the following in the default template, which is probably more streamlined for this specific use case anyway:

But you should really @return [void] IMO.
Hope that helps!

attr_reader :center_xy

def center_xy=(value)
  @center_xy = value
  notify_listeners # best case this returns nil, more likely it will be the array of listener objects
end

Note that this comment is incorrect. As pointed out in the original issue, Ruby always returns the parameter as the result of an assignment expression. No amount of funny business in an assignment method can change its return value.

Ruby always returns the parameter as the result of an assignment expression

"assignment expression" is the key term here. The (lexical) assignment expression syntax is the reason Ruby returns the right-hand-side value, not the method. The method still returns the wrong value. This is actually even more misleading when you consider this syntax-vs-method gotcha:
class A
  attr_reader :value
  def value=(v) :NEVER_ASSIGNED_A_VALUE end
end

a = A.new

puts(a.value = 1) # Assignment syntax is what returns 1 here
puts(a.send(:value=, 1)) # The actual method return value

# Finally, inspect the attribute only to find that Ruby never set it
# in the first place. The first assignment return value was a lie :)
p(a.value)

Playground link
Remember, YARD documents semantic behavior of your API, not Ruby syntax. It's actually fairly important to distinguish between the convenience of Ruby syntax and what your API actually does for the very reason above.


Accessing resource symbols in the Python Plugin Stub

@donovankeith
Using the c4d. module for resource symbols defined in description resources of your plugin is dangerous because of how easily Cinema 4D's symbol cache goes out of date. If you create the resource files for your plugin once, then add a parameter and update the resource files again, the newly added parameter is likely not in the symbol cache.
Personally, I prefer to use the c4ddev symbols command to generate Python code that contains all resource symbols. The automatic code generation makes it very easy to update the symbol information in the Plugin, just run the command again and copy&paste the output into the plugin source code.
I am not sure how easily this can be combined with the automatic plugin source code generator in the UserData to Description Resource Convert. One possibility would be to use res. instead of c4d. everywhere in the generated plugin stub, and add a note at the top of the stub
import c4d

# Note: It is not recommended to access your plugin's resource symbols via the c4d
# module due to how quickly the Cinema 4D symbol cache goes out of date. We
# recommend hard-coding your resource symbols in your source file. This code can
# be automatically generated with C4DDev (see https://github.com/NiklasRosenstein/c4ddev).
res = c4d

class MyPluginData(c4d.plugins.ObjectData):
  # ...
  def InitAttr(self, node):
    node[res.MY_PLUGIN_FOOBAR] = 42
    return True

This way, the user could easily drop in a replacement object with the name res and he/she will not need to modify the code further.

Let's do the 'res.' solution. Seems like the simplest method. Also, thanks for the reminder, I need to update some of my plugins to not use the 'c4d.' style.

I was just thinking about actually rendering the plugin stub as
# Note: The name `res` is used to access your plugin's resource symbols. It is not
# recommended to use the `c4d` module due to the high chance that the symbol
# cache is not in sync with your plugin's description once you made changes to it.
# If you want, you can still exchange this list of hardcoded symbols with `res = c4d`.
# Alternatively, C4DDev can generated this kind of code for you.
#   (https://github.com/NiklasRosenstein/c4ddev)
class res(object):
  MY_PLUGIN_FOOBAR = 1000
res = res()

Example output:
# Copyright (C) <year> <author>

import c4d
import os

# Note: The name `res` is used to access your plugin's resource symbols. It is not
# recommended to use the `c4d` module due to the high chance that the symbol
# cache is not in sync with your plugin's description once you made changes to it.
# If you want, you can still exchange this list of hardcoded symbols with `res = c4d`.
# Alternatively, C4DDev can generated this kind of code for you.
#   (https://github.com/NiklasRosenstein/c4ddev)
class res(object):
  TEST_OFFSET = 1000
  TEST_TARGET = 1001
  TEST_ = 1002
  TEST_VERBOSE = 1003
  TEST_DYNAMIC_OBJECTS = 1004

res = res()

class TestData(c4d.plugins.ObjectData):

  PLUGIN_ID = 32423432
  PLUGIN_NAME = 'Test'
  PLUGIN_INFO = 0
  PLUGIN_DESC = 'Otest'
  PLUGIN_ICON = None
  PLUGIN_DISKLEVEL = 0

  @classmethod
  def Register(cls):
    return c4d.plugins.RegisterObjectPlugin(
      cls.PLUGIN_ID, cls.PLUGIN_NAME, cls, cls.PLUGIN_DESC, cls.PLUGIN_INFO,
      cls.PLUGIN_ICON, cls.PLUGIN_DISKLEVEL)

  def Init(self, node):
    self.InitAttr(node, c4d.Vector, [res.TEST_OFFSET])
    self.InitAttr(node, c4d.BaseList2D, [res.TEST_TARGET])
    self.InitAttr(node, bool, [res.TEST_VERBOSE])
    self.InitAttr(node, int, [res.TEST_DYNAMIC_OBJECTS])

    node[res.TEST_OFFSET] = c4d.Vector(100, 0, 0)
    node[res.TEST_VERBOSE] = True
    return True

  def Message(self, node, msg_type, data):
    return True

if __name__ == '__main__':
  TestData.Register()

I've added a parameter that allows you to switch between res = c4d and the class res: versions.


Avoid requiring node-fibers when sync == false

We enjoy using jasmine with WebdriverIO. We prefer to use async/await over the synchronous code with node-fibers and therefore have set sync: false in our config. With the change to node 7 we had issues with node-fibers binding not being compatible. I looked through some issues and found that others had problems with fibers as well.
Would it be possible to avoid requiring node-fibers (or wdio-sync) if synchronous mode is disabled anyways? I understand that it needs to be in the dependencies, but I imagine it wouldn't need to be required.
I am happy to provide a PR if you think this is a good idea. Any pointers to code are appreciated. Thanks!

Would it be possible to avoid requiring node-fibers (or wdio-sync)

Not without making the installation process more difficult. wdio-sync is used by most of the people who use webdriverio's testrunner. Telling them to additional install fibers would make the installation more confusing. I recommend to fork this project and remove the dependency if you have problems with fibers. Thanks for understanding.

Thanks for your feedback. I wasn't suggesting to drop fibers as a dependency. For my use case it would be sufficient to just not do the require(...) call.

If you set async: false we don't execute any fiber method. What happens when the package requires fibers?

The fibers package had some problems compiling correctly with recent node.js versions on both Mac and Linux. Therefore, it would crash the whole process. I suspect this will become an issue again, once new node.js versions are released.

The guy behind fibers is actively working on making it compatible with latest node versions. I have no issues using Mac with Node v7.4.0 (besides some deprecation warnings)


Cannot grab vertical scrollbar

Windows 7 sp1 x64, Atom 0.156.0
I can scroll with mouse wheel, but cannot click on the vertical scroll slider and mouse-drag to scroll. I can do this with the horizontal scroll.
Related to #2751 ?

@simurai Following what I did in https://github.com/atom/atom/issues/4563#issuecomment-66824881 and what you recommended in https://github.com/atom/atom/issues/4563#issuecomment-68032493 , if I add the attribute style="display: none" to the <atom-notifications> node, I can grab the scrollbar. Removing it makes it so I can no longer grab the scrollbar.

I don't know enough about Atom to know what that means though

@jimgraham Thanks, that already helped a lot. For some reason pointer-events: none; was missing. Might got lost in a merge conflict.. Anyways, should be fixed in the next update.


⚠ ClamAV has degraded performance

In 39dd73c, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 303 ms

Resolved: ClamAV performance has improved in 2526d49.


Update MD file on new branch 2017-21-09_20-11-02

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Review Online Documentation for areas that could use improvement or expansion

Unique indexes / constraints
How AGE works underneath (useful for contributors)

The contributing section can require expansion discussing the different aspects of AGE, and providing a brief yet concise overview of the other sub-projects.

Ready to get started!

@gerarjon Thanks for your interest! Let me open an issue regarding proofreading the documentation and assign it to you if that's okay

@gerarjon Could you comment on this thread: https://github.com/apache/age-website/issues/82
So that I may assign this issue to you? Thank you!

hello Ready to get started!

Hello I'm ready to start!

Hi @dehowef, while working on a recent task, I realized that the 'vertex_stats' and 'delete_global_graphs' commands are not documented in the AGE's online manual. If that's a priority for you, I can help with these two commands.

Hi @dehowef, while working on a recent task, I realized that the 'vertex_stats' and 'delete_global_graphs' commands are not documented in the AGE's online manual. If that's a priority for you, I can help with these two commands.

Thanks for mentioning this @rafsun42 -- as John mentioned, these are internal functions so I don't think we need to document them for now.


Revert "MM-17519: do not stringify booleans (#3717)"

Summary
This reverts commit 765545570f88fd99c186c2b7927787b939ea90e3, with the original and now larger set of improvements to checkbox handling in interactive dialogs deferred until the next release.
Ticket Link
Fixes: https://mattermost.atlassian.net/browse/MM-21632

@lieut-data
Can you please add the test steps and build an app for testing. Thanks.

@lieut-data
Can you please add the test steps and build an app for testing. Thanks.

Correction: I found steps on the linked issue. Just need mobile build to verify.

@migbot, can you help build a mobile release for @jgilliam17, or share how I can do this preemptively?

@jgilliam17:
Android: https://pr-builds.mattermost.com/mattermost-mobile/build-pr-3717/Mattermost_Beta.apk
iOS: itms-services://?action=download-manifest&url=https://pr-builds.mattermost.com/mattermost-mobile/build-pr-3717/Mattermost_Beta.plist

@lieut-data
Error trying doing the automated Cherry picking. Please do this manually
+++ Updating remotes...
Fetching upstream
Fetching origin
+++ Updating remotes done...
+++ Creating local branch automated-cherry-pick-of-#3803-upstream-release-1.27-1578948448
Branch 'automated-cherry-pick-of-#3803-upstream-release-1.27-1578948448' set up to track remote branch 'release-1.27' from 'upstream'.
+++ Downloading patch to /tmp/3803.patch (in case you need to do this again)

+++ About to attempt cherry pick of PR. To reattempt:
  $ git am -3 /tmp/3803.patch

Applying: Revert "MM-17519: do not stringify booleans (#3717)"
Using index info to reconstruct a base tree...
M	app/components/widgets/settings/bool_setting.js
M	app/components/widgets/settings/bool_setting.test.js
Falling back to patching base and 3-way merge...
No changes -- Patch already applied.

+++ I'm about to do the following to push to GitHub (and I'm assuming origin is your personal fork):

  git push origin automated-cherry-pick-of-#3803-upstream-release-1.27-1578948448:automated-cherry-pick-of-#3803-upstream-release-1.27

+++ Creating a pull request on GitHub at mattermost-build:automated-cherry-pick-of-#3803-upstream-release-1.27

+++ Returning you to the master branch and cleaning up.


[1pt] Setup kanban board - final group capstone

Group members:
Facilitator: @Salimer
Timekeeper: @tamoorsaeed22
Code checker: @isume295
Task-assigner: @MarcoDiaz2000
Link to the back-end repo:
Link to the front-end repo:
Link to the project: here
Screenshot of the project board:

Hi @Salimer
Good job so far!
There are some issues that you still need to work on to go to the next project but you are almost there!
To highlight:

All cards have been assigned✔

Required Changes ♻

[ ] According to the project requirements:

This card does not have any points:

Kindly add some points to this card, in order to meet this particular requirement.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

Hi @Salimer,
Wow, you did it 🎉

Thank you for implementing the changes requested by the previous reviewer 💪 🥇 ㊗
Well done!
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
To highlight

All cards now have pointings✔

Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

Thanks


Add GSSR

gssr.edu.pl
The Graduate School for Social Research, Institute of Philosophy and Sociology Polish Academy of Sciences

@AdamPiorko Pull request merged. Thank you!


achieve mysql dump and restore in one command

i wanted to run this command using golang how can i achieve it using exec.Command
mysqldump -u root -p database_name | mysql -h remote_host -u root -p remote_database_name
please anyone help me
Thanks
Mike

Unlike many projects, the Go project does not use GitHub Issues for general discussion or asking questions. GitHub Issues are used for tracking bugs and proposals only.
For questions please refer to https://github.com/golang/go/wiki/Questions


feat(gridster): add ability to remove widgets via a clickable icon

Optionally, the gridster widget can be configured to display an icon at the top right of each widget which, when clicked, removes the widgets from the board.

Hmm I think something like this is better left up to the user, and instead focus this lib on providing a better API. As a user I'm always going to want to customize the HTML and insert some sort of html5 data attribute "id" to track each element. I like that that is left up to the user.
What I don't like is that a user I have to do stuff like:
// Sorting is necessary to prevent bugs in following "offset calculation" if not doing rows in order
        s = Gridster.sort_by_row_and_col_asc(s);

Instead of adding new UI elements, I'd rather see the API cleaned up, so as a user I can add new UI elements on my own. Just my 2 cents from someone who only first used gridster 1 day ago.

You should use delegated events  in removable method. Thanks to it removing elements will work with dinamically added elements.
Use this

   this.$el.on("click", "li ."+this.remove_handle_class, function(event) {
       if (ui.remove_enabled) {
           $player = $(event.target).closest('.gs-w');
           ui.remove_widget($player, ui.options.remove.silent, ui.options.remove.on_complete);
       }
   });

instead of that

   this.$el.find('li .' + this.remove_handle_class).click(function(event) {
       if (ui.remove_enabled) {
           $player = $(event.target).closest('.gs-w');
           ui.remove_widget($player, ui.options.remove.silent, ui.options.remove.on_complete);
       }
   });


RFC: Small Result with external error

Scope & Purpose
Previously, our Result held an int (for the error code) and an std::string (for the message), usually resulting in a size of 40 bytes. In order to be returned in a register, this PR changes the Result to an std::unique_ptr<result::Error> only, where the Error in turn still holds an int and an std::string. The unique_ptr will be nullptr in case of success, making the "success" case as fast as possible.
The error could be changed to monolithically allocate error code and message in one block later, to also improve the error case a little.
Enterprise companon PR: https://github.com/arangodb/enterprise/pull/639 (empty as of this writing, just so it can't be forgotten)

[ ] :hankey: Bugfix (requires CHANGELOG entry)
[ ] :pizza: New feature (requires CHANGELOG entry, feature documentation and release notes)
[X] :fire: Performance improvement
[X] :hammer: Refactoring/simplification
[ ] :book: CHANGELOG entry made

Backports:

[X] No backports required
[ ] Backports required for: (Please specify versions and link PRs)

Testing & Verification
(Please pick either of the following options)

[ ] This change is a trivial rework / code cleanup without any test coverage.
[ ] The behavior in this PR was manually tested
[ ] This change is already covered by existing tests, such as (please describe tests).
[ ] This PR adds tests that were used to verify all changes:

[ ] Added new C++ Unit tests
[ ] Added new integration tests (e.g. in shell_server / shell_server_aql)
[ ] Added new resilience tests (only if the feature is impacted by failovers)

[ ] There are tests in an external testing repository:
[ ] I ensured this code runs with ASan / TSan or other static verification tools

http://jenkins.arangodb.biz:8080/job/arangodb-matrix-pr/13776/

http://jenkins.arangodb.biz:8080/job/arangodb-matrix-pr/13776/

http://jenkins.arangodb.biz:8080/job/arangodb-matrix-pr/13789/

http://jenkins.arangodb.biz:8080/job/arangodb-matrix-pr/13789/

http://jenkins.arangodb.biz:8080/job/arangodb-matrix-pr/13796/

http://jenkins.arangodb.biz:8080/job/arangodb-matrix-pr/13796/

http://jenkins.arangodb.biz:8080/job/arangodb-matrix-pr/13806/

http://jenkins.arangodb.biz:8080/job/arangodb-matrix-pr/13806/

http://jenkins.arangodb.biz:8080/job/arangodb-matrix-pr/13807/

http://jenkins.arangodb.biz:8080/job/arangodb-matrix-pr/13809/


Additional columns from NASC file are loaded in reports.py rather than in the main input data loading routines

It turns out the reports.py module re-loads the NASC file, this time bringing in 4 columns that were not loaded in the main data loading functions because they're not used in computations:
https://github.com/uw-echospace/EchoPro/blob/78ce64952ef1171a1fd3497cd0c58696bddf5db3/EchoPro/reports.py#L393-L400
Two of those columns (depth columns) are also used in some of the plots (see #145).
It would probably be best if these columns were loaded from the outset in the main data loading functions, so they're available for the report and plot generation. That would also eliminate the duplicated reading of the NASC file that's currently going on in reports.py.
While addressing this, review the column names to "sanitize" them as previously done with all other input file columns (eg, replace blank spaces with underscores, make all lowercase whenever possible). Also decide if all four columns are actually needed. For the reports, I think they're being loaded only so the report files have an identical set of columns as the existing Matlab EchoPro report files.

@brandynlucca : tagging you here as it is relevant to the input data loader. See #154, which adds these into the documentation. I think for now we can load them in the data loader and produce the report files as is. Later once we are at a stage to verify all report files and figures, let’s work with FEAT to determine if some columns can to be trimmed.

This has been addressed by the changes incorporated into how Echopop ingests acoustic data via Survey.load_acoustic_data(). This can therefore be closed.


Prefix function introspection

What
This PR adds support for introspecting prefix-functions (i.e. functions which are not infix operators) as comparison operators.
How
There are a myriad of functions defined in Postgres that have a type compatible with that of a comparison operator, but which are not useful as such, or which are simply prefix-function versions of the more well know infix operators.
For instance, has_schema_privilege (et. al.) interrogates the server's user authorization rules, and texteq is simply (=) specialized to the text type.
Since we don't want to clutter up the default introspected metadata with at best useless and at worst insecure functions we provide the new configuration option introspectPrefixFunctionComparisonOperators which lists out the functions that will be selected for introspection. By default this list includes various functions on builtin Postgres types and the types of PostGIS.

subsumed by #220 #221 and #223.


Option to truncate output

I want to use this tool to pipe content into llm - so I'd like to be able to truncate the output in order to stay within the token limit.

There are three ways I could do this:

Limit based on characters
Limit based on "words"
Limit based on "tokens"

The "tokens" one would be most useful for working with LLMs, but for which tokenizer? Maybe that should be a separate tool.

On that basis, I'm not going to do this with this tool - I'll build something else I can pipe through instead.


[gevent] doesn't work with CELERY_DISABLE_RATE_LIMITS=False

I'm using celery + django-celery and running the worker as
./manage.py celeryd -v2 --pool=eventlet -c100 -Q io -l debug

This worker hangs if CELERY_DISABLE_RATE_LIMITS=False:
> ./manage.py celeryd -v2 --pool=eventlet -c100 -Q io -l debug
/Users/kmike/envs/zina/lib/python2.6/site-packages/djcelery/loaders.py:80: UserWarning: Using settings.DEBUG leads to a memory leak, neveruse this setting in production environments!
  warnings.warn("Using settings.DEBUG leads to a memory leak, never"
[2011-07-02 11:56:19,598: WARNING/MainProcess]

 --------------<EMAIL_ADDRESS>v2.2.7
---- **** -----
--- * ***  * -- [Configuration]
-- * - **** ---   . broker:      djkombu.transport.DatabaseTransport://guest@localhost:56728/
- ** ----------   . loader:      djcelery.loaders.DjangoLoader
- ** ----------   . logfile:     [stderr]@DEBUG
- ** ----------   . concurrency: 100
- ** ----------   . events:      OFF
- *** --- * ---   . beat:        OFF
-- ******* ----
--- ***** ----- [Queues]
 --------------   . io:          exchange:io (direct) binding:io

[Tasks]
  . celery.backend_cleanup
  . celery.ping
  . kuponator.parse
  . scraping.apply_rule
  . scraping.download
  . scraping.dummy_parse

[2011-07-02 11:56:19,599: DEBUG/MainProcess] Instantiating thread components...
[2011-07-02 11:56:19,606: DEBUG/MainProcess] Starting thread TaskPool...
[2011-07-02 11:56:19,612: DEBUG/MainProcess] Starting thread Mediator...
[2011-07-02 11:56:19,612: DEBUG/MainProcess] Starting thread Timer...
[2011-07-02 11:56:19,612: DEBUG/MainProcess] Starting thread Consumer...
[2011-07-02 11:56:19,613: WARNING/MainProcess]<EMAIL_ADDRESS>has started.
[2011-07-02 11:56:19,613: DEBUG/MainProcess] Consumer: Re-establishing connection to the broker...
[2011-07-02 11:56:19,614: DEBUG/MainProcess] Consumer: Connection Established.
[2011-07-02 11:56:19,626: DEBUG/MainProcess] (0.003) SELECT "djkombu_queue"."id", "djkombu_queue"."name" FROM "djkombu_queue" WHERE "djkombu_queue"."name" = E'io' ; args=('io',)
[2011-07-02 11:56:19,630: DEBUG/MainProcess] (0.001) SELECT "djkombu_queue"."id", "djkombu_queue"."name" FROM "djkombu_queue" WHERE "djkombu_queue"."name" = E'io' ; args=('io',)
[2011-07-02 11:56:19,638: DEBUG/MainProcess] (0.001) SELECT COUNT(*) FROM "djkombu_message" WHERE "djkombu_message"."queue_id" = 3 ; args=(3,)
[2011-07-02 11:56:19,638: DEBUG/MainProcess] basic.qos: prefetch_count->400
[2011-07-02 11:56:19,641: DEBUG/MainProcess] Consumer: Starting message consumer...
[2011-07-02 11:56:19,641: DEBUG/MainProcess] Consumer: Ready to accept tasks!
[2011-07-02 11:56:19,658: DEBUG/MainProcess] (0.004) SELECT "djkombu_queue"."id", "djkombu_queue"."name" FROM "djkombu_queue" WHERE "djkombu_queue"."name" = E'MacBook.local.celeryd.pidbox' ; args=('MacBook.local.celeryd.pidbox',)
[2011-07-02 11:56:19,660: DEBUG/MainProcess] (0.007) SELECT "djkombu_queue"."id", "djkombu_queue"."name" FROM "djkombu_queue" WHERE "djkombu_queue"."name" = E'io' ; args=('io',)

This worker also can't be killed with Ctrl-C  (looks like #247). OS is Mac OS X

gevent now automatically disables rate limits,
still need to find a way to add support.


Feature Request - Leagues Support

I was thinking about building a Twitch Extension for Leagues that is able to show the viewer what fragments are currently equipped. Your extension would support this functionality perfectly!
Essentially you would add a new tab for fragments, read the fragments from the fragment interface when it is opened, and then make the fragments viewable. Depending on what information is shown in the interface, the extension could even display the active set bonuses.

Hi there! Great suggestion, I was thinking about this as well myself. Challenge is to find the time of course, but with the current syncing framework in place it is very much doable.
Do you know whether there are already things known about how the relics and stuff are exposed in the client API? Perhaps based on previous leagues?
Also, last leagues Jagex implemented an overlay to the left of the screen where all the active perks were shown. I was planning on integrating it back then as well, but cancelled that plan because Jagex was already doing it themselves. Did you come across any of those plans? Have not seen it in the reveals until now.
Happy to work together if you already have some knowledge ready. The Twitch extension currently has around 10k users each day, so might be worthwhile looking into this!

Leagues is only going to be there a few weeks, but due to time limitations not possible to work on these features for this leagues. Renamed to more general discussion about how to approach and generalise functionality for future Leagues.

@maxrenke I have recently been looking at preparing for a next possible League and I noticed some Varbits that relate to the relic slots that seem to be a permanent addition (see: https://static.runelite.net/api/runelite-api/net/runelite/api/Varbits.html#LEAGUE_RELIC_1).
Have you been looking at the API's for the last few leagues before looking at this plugin and Twitch extension? And if yes, are these things indeed being re-use across leagues? This would make it more interesting to have some integrations possible instead of building it from scratch each league.

Closing this as it was added to the current main branch (not released yet). Made in such a way to support future leagues and other seasonals (like DMM) as well.
https://github.com/pepijnverburg/osrs-runelite-twitch-live-loadout-plugin/assets/15874104/ce6ed936-feae-47da-88f0-0541fa169a49


fix(test): upgrade test all suspicious postgres entry

Description
If central is upgraded in the middle of some longer postgres operations it can get an error of:
FATAL:  terminating connection because protocol synchronization was lost

Central reconnects when it comes back up and everything functions as it should.  This issue is caused by central going down due to the upgrade.
Checklist

[ ] Investigated and inspected CI test results
~- [ ] Unit test and regression tests added~
~- [ ] Evaluated and added CHANGELOG entry if required~
~- [ ] Determined and documented upgrade steps~
~- [ ] Documented user facing changes (create PR based on [openshift/openshift-docs]~(https://github.com/openshift/openshift-docs) and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
CI

/test gke-upgrade-tests

/test gke-upgrade-tests

/test gke-upgrade-tests


Get current route stack/stack size

Is there an exposed API for this? Right now Im reading the internal navigator's getCurrentRoutes value but would prefer not to have to dig into the __navigator ref.

Please check latest 2.0 version and Actions.currentRouter property.

Excellent API redesign, thanks!

what happened to this?


chore: misc

:tada: This PR is included in version 2.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Move registry based relying party URL configuration to service provider configuration

Refer: https://docs.wso2.com/display/IS540/Customizing+the+Authentication+Endpoint#CustomizingtheAuthenticationEndpoint-Handlingbrowserbackbuttonandbookmarkedloginpage

We need to think about the migration from registry based configs too.

Fixing this would require to below.

Changing the persistence layer to persist the request initiation URI as SP related properties rather than registry
Support configuring the request initiation URI via UI under service provider configurations

Very important improvement, currently its tedious and also complex additional effort for DCR use cases.

We can rely on the discoverable url of the application for this.

@ayshsandu you mean the access URL of the service provider?

@ayshsandu you mean the access URL of the service provider?

Yes.

Fixed in following PRs

https://github.com/wso2/carbon-identity-framework/pull/3274
https://github.com/wso2/product-is/issues/10667

Migration effort is captured in https://github.com/wso2/product-is/issues/10667


OBS viewport is very glitchy

When resizing OBS at smaller sizes, the viewport becomes squished vertically. If the OBS window is then grown, the bottom of the viewport will be stretched downward.
Video of the issue:
https://user-images.githubusercontent.com/44881120/233792847-82d5b502-300d-4040-b0c9-dd54ed8b348c.mp4
Additionally, though I believe this is known and not a major issue, the viewport gets its corners incorrectly rounded, and it is not animated alongside the OBS window.
https://user-images.githubusercontent.com/44881120/233792959-2dfc4657-d708-49cf-854b-c51f4cb19de1.mp4

dupe of #1462 and #1558


Update sbt-pgp to 2.1.1

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

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

labels: sbt-plugin-update, semver-minor

Codecov Report

Merging #22 (a92bbc0) into master (f8f1fb4) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #22   +/-   ##
=======================================
  Coverage   90.77%   90.77%
=======================================
  Files          10       10
  Lines         347      347
  Branches       14       13    -1
=======================================
  Hits          315      315
  Misses         32       32

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 f8f1fb4...a92bbc0. Read the comment docs.


feat: add support for compiling open/r on 64-bit arm linux

Description:
Prior to this patch it was not possible to run open/r on linux running on ARM due to cmake and openssl being harded to download/compile for the x86_64 arch.
In order to prevent such problem this patch actively compiles cmake instead of using pre-compiled binaries and also allows the OpenSSLBuilder to provide the correct build args to openssl, thus not trying to compile or run x86_64 software.
Test Plan:

built the project by using ./build/build_openr.sh

@cooperlees I'll fix the problems tonight. I did not know that you guys were using a linter. I'll make the create the setup.
Btw, I can't see the linter warning via the github CI. since it requires a facebook employee login. Which I'm not. :/

@cooperlees I'll fix the problems tonight. I did not know that you guys were using a linter. I'll make the create the setup.
Btw, I can't see the linter warning via the github CI. since it requires a facebook employee login. Which I'm not. :/

Yeah, my bad. I didn't set it up here. One day I will.
If you just run black over the .py files it should auto fix all the linter errors. If not, I'll fix them post merge due to me sucking and not having CI running the linter here.

@cooperlees btw, at all. I executed the black linter and also removed the env = self._compute_env(install_dirs)
Thank you very much for your support.

I guess that the "update branch" button created a merge commit :/

did i break something? :[

@cooperlees  np at all. please let me know if you need help.

@cooperlees np at all. please let me know if you need help.

Looking into this today:
CMake Error at cmake_install.cmake:559 (file):
  file INSTALL cannot copy file
  "/data/sandcastle/temp/fbcode_builder_getdeps/build/openr/rib_policy_test"
  to
  "/data/sandcastle/temp/fbcode_builder_getdeps/installed/openr/sbin/tests/openr/decision/rib_policy_test".
FAILED: CMakeFiles/install.util

Let me know if you can spot it.

Btw, ty very much for merging!

Btw, ty very much for merging!

Thanks for contributing, sorry it took me so long to dig into what we needed internally. Was caching the new tar to stop transient download failures and lints … error was very misleading.


Build error (on Mac):Error:Could not find property 'lanternVersion' on project ':app'.

Android studio version 2.1

You can add   lanternVersion='1.0.1'  in your build.gradle file.
Such as


Stuck on "Searching for Teslacam"

When opening the app on Win10Pro 64, it hangs when searching for the files.
Are you scanning every subdirectory you can find?  Or just the root levels?
Request:  Allow specification of drive letter, either in UI or config file.

This issue should be fixed in V0.4.1. Thanks for reporting this. I'll look into a manual option for specifying a drive to search.

Opened v0.4.1 and I am experiencing the same issue.  Win10 x64 Build 1903.   I don't see any activity (CPU/Disk) from the TeslaCamViewer.exe.  Memory hovering around 22-24 MB.

Same issue running v0.4.1 as of today. Windows 10 x64 (1809).


Implement async sprite animation

Thoughts:

Should support, at least, async versions of the currently existing move, move_to, rotate, and rotate_to.
Animation speed, frames-per-second, and easing should be supported too.

Closing after having merged #35.


Support for collection/item STAC files?

User Story
So that we can import more diverse datasets, as a dataset maintainer, I might want to import collection or item STAC files in addition to the currently supported catalogues.
Acceptance Criteria

[ ] Given [a pre-condition], when [an event happens], then [an expected outcome occurs]
[ ] Given [a pre-condition], when [an event happens], then [an expected outcome occurs]

Additional context
STAC spec 1.0 has ways to unambiguously determine whether a file is a catalogue, collection or item. Unfortunately differentiating between a catalogue or collection requires actually parsing the JSON file before validating it, so it might be too slow:

When crawling a STAC implementation, one can also make use of the relation type (rel field) when following a link. If it is an item rel type then the file must be a STAC Item. If it is child, parent or root then it must be a Catalog or a Collection, though the final determination between the two requires looking at the the type field in the Catalog or Collection JSON that is linked to.

Tasks

[ ] ...
[ ] ...

Definition of Ready

[ ] This story is ready to work on, according to the team's definition

Definition of Done

[ ] This story is done, according to the team's definition

Replaced by another story


Run functional tests on LXD VMs

Run functional tests on LXD VMs
testing juju-crashdump

closing since we will wait for the private endpoint integration in the IS-hosted runners


Update hash functions security estimates

We should either update the security estimate of our (algebraic) hash functions or add an argument for the current one.

Given the proof in the last paragraph of Appendix C in the updated version of the xHash paper the following can be closed.

I can make a small PR with an explicit reference.

Closed by #320.


Header / Sidebar Mobile Styles

Shea has provided us with a solution for the header and sidebar on mobile here
Images if you don't have access

This execution will not require a complete rewrite of existing components. (Header and sidebar components are already segmented). However, the sidebar, only on mobile, will require some extra logic to render top sections as part of the transitioning logic.
There is a question currently posed for how we'll handle the experience of page changes (cause clicking a label should route you to the page) and the sliding transition of the sidebar on mobile. Awaiting an answer prior to starting.

There was a conflict in the original spec provided by Shea where clicking a link meant traversing to a new page. Because of this she decided it'd be best if the sidenav is thought about in 2 ways.

The Main Menu

This menu is visible at the top level. If someone opens the hamburger menu from the homepage they will see the image above. It is a carbon copy of the links provided in the header now.
If the user is in a top level section like Work with us, Funding, or Learn, this will instead render a "sub-menu" (aka the current top sections Sidenav)
Clicking a link here will take you to the appropriate page and hide the hamburger menu.

The Submenu

This menu renders when our user is currently on a top level section (ie. Work with Us / Learn / ect.). If the user clicks a link here it will function just like the sidenav and take the user to the appropriate page.
It is a carbon copy of the sidenav, except it offers a back tab at the top ("< Home") that can take the user back to the header related links. The label name is up for debate as "< Home" and "Home" signify a link to the homepage and can create confusion for what clicking it does at a glance. (Maybe "Main Menu"?)
TLDR: Main Menu = Header | Sub Menu = Sidenav
Acceptance Criteria:

Create a hamburger mobile menu that meets the expectations of this spec.
When clicking on a link on either menu, take the user to the page and hide the hamburger menu.
While in the submenu if the user taps  "< Home", the menu should update to render the Main Menu.
If the submenu is taller than the screen, ensure that when the menu is opened that the scroll position is to that of the currently active page.
When on the main menu and the user is currently on a page with a top level section, render it's link as expected (Bold, Active green, like Desktop).


Ability to change details of a registry with auth, without need to re-enter password

Is your feature request related to a problem? Please describe.
Currently if you want to change the details (e.g name) of a registry which has auth enabled, you need to re-enter your password, otherwise the Update registry button is disabled.
Alongside this, Portainer doesn't warn the user why the button is disabled. This whole process isn't user friendly.

Describe the solution you'd like
Don't disable the registry button, and update the password only if a new one is entered.
Also If Portainer can detect that there is missing information or something is misconfigured, it could warn the user on what is wrong and disable the button until the problem is amended.

This issue along with some others should be addressed in changes in 2.15 which should be released soon.


ContainerClient + akka http alternative to HttpUtils

Description

HttpUtils (http client for invoker -> action container) uses org.apache.http client that is synchronous and poor performing for concurrent requests. I ran into problems using it with concurrent activation support. Instead of trying to force that client to work, this PR is to work towards replacing it (or re-replacing it) with akka http based client.
This PR provides:

add a ContainerClient trait to define the http client interface
refactoring of HttpUtils to implement this trait (HttpUtils remains default for now)
add a PoolingContainerClient to provide a akka http based impl (based on PoolingRestClient)

Related issue and scope

[ ] I opened an issue to propose and discuss this change (#????)

My changes affect the following components

[ ] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[x] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[ ] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[x] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

Initial tests using this client to support this PR (for adding concurrency support in nodejs container) https://github.com/apache/incubator-openwhisk-runtime-nodejs/pull/41 were good, where tests requiring coordinated completion of 128 concurrent requests succeeded, while same tests with existing HttpUtils/org.apache.http client failed with as few as 3 concurrent requests.
More tests will be done, but wanted to get early feedback on this in general (wip labelled).

Codecov Report

Merging #3812 into master will decrease coverage by 0.34%.
The diff coverage is 7.4%.

@@            Coverage Diff             @@
##           master    #3812      +/-   ##
==========================================
- Coverage   75.19%   74.85%   -0.35%
==========================================
  Files         136      137       +1
  Lines        6383     6414      +31
  Branches      387      393       +6
==========================================
+ Hits         4800     4801       +1
- Misses       1583     1613      +30

Impacted Files
Coverage Δ

...la/src/main/scala/whisk/core/mesos/MesosTask.scala
86.11% <ø> (ø)
:arrow_up:

...la/whisk/core/containerpool/ContainerFactory.scala
100% <ø> (ø)
:arrow_up:

...containerpool/kubernetes/KubernetesContainer.scala
91.66% <ø> (ø)
:arrow_up:

...sk/core/containerpool/docker/DockerContainer.scala
78.08% <0%> (+1.05%)
:arrow_up:

...ala/whisk/core/containerpool/ContainerClient.scala
0% <0%> (ø)

...n/scala/whisk/core/database/CouchDbRestStore.scala
73.23% <100%> (ø)
:arrow_up:

...ain/scala/whisk/core/containerpool/HttpUtils.scala
53.06% <14.28%> (+2.08%)
:arrow_up:

...ain/scala/whisk/core/containerpool/Container.scala
75.38% <22.22%> (-0.81%)
:arrow_down:

...ols/admin/src/main/scala/whisk/core/cli/Main.scala
25.33% <0%> (-1.06%)
:arrow_down:

Continue to review full report at Codecov.

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

@chetanmeh this is close - let me know if you think I missed any of your comments? I think I got them all.
RE codecov - still some mysteries in the summary at top of PR conversation, but the report on codecov.io looks right to me. One anomaly in the PR conversation, I'm not sure where this is coming from?
...core/database/cosmosdb/RxObservableImplicits.scala | 0% <0%> (-100%)

@chetanmeh @markusthoemmes I think I have addressed all comments

@markusthoemmes I added one more forgotten required change: enable ActionContainer based tests to explicitly use akka vs apache http client. While it is true that this could be accomplished by coercing test's akka config to include akka-client: true,  I think that until akka is the default client, tests should not be forced to run with multiple configs, but we still need to be able to force tests to run via a specific client (e.g. concurrency tests will fail on apache client, but not the akka client...).
For example forcing use of akka client will be done in container tests by changing:
withContainer(nodejsContainerImageName, env)(code) to
withContainer(nodejsContainerImageName, env, true)(code)
WDYT?

If the additional parameter doesn’t cause breaking downstream changes 👍 otherwise a separate method that tests can opt into.

I'm a bit unsure about a "per-test" flag here. I'd be okay to make the new akka-client the default for all those tests straight away (after a decent amount of local test runs to squash out obvious heisenbugs). No need to gradually enable them one after the other. WDYT?

@rabbah we would need to run the same test cases twice for each test, with a different config each run. I'm not sure how to simply enable this structure without rewriting the tests?
Separately, if that is possible, we still need a way to disable some clients from being used in some tests - the reason I arrived at creating the new client is the concurrency tests simply don't work with the old apache client (at least they don't work in travis).

@markusthoemmes @rabbah I'm ok to switch all the tests to use akka http (and not apache http) after running them locally to verify, if that works? (we can either run all akka, or a mix of akka and apache, but NOT all apache)

i'd say run them all with the new client -- if it can't handle the unit tests, we have a problem ;)

Testing runtime repos, I ran into (so far) an issue with the proxy test in incubator-openwhisk-runtime-docker, where instead of receiving a Timeout we now (with akka client) receive java.lang.IllegalStateException: The http server closed the connection unexpectedly before delivering responses for 1 outstanding requests

So for docker "bad proxy" and "bad action" tests, to keep behavior parity, we need to change retry logic from:
case t: StreamTcpException if retry

to
case t: RuntimeException if retry

because in some cases, akka http throws UnexpectedConnectionClosureException, which is private but extends RuntimeException.
Some discussion is here: https://github.com/akka/akka-http/issues/768 in case you wonder about catching this specific exception...
Alternatively, we can update test cases for this edgy behavior handling?

OK, tested all runtime repo tests; one change required in incubator-openwhisk-runtime-docker (see https://github.com/apache/incubator-openwhisk-runtime-docker/pull/54)
This is OK to merge once @markusthoemmes approves.

@markusthoemmes any other concerns here?

PG2 3412 🔵


PQMT:[Express Route] "Office 365 URLs and IP address ranges" and "Routing by ExpressRoute for Office 365" have some inconsistencies in content

[URL]
https://docs.microsoft.com/en-us/microsoft-365/enterprise/routing-with-expressroute?view=o365-worldwide#deciding-which-applications-and-features-route-over-expressroute
https://docs.microsoft.com/ja-jp/microsoft-365/enterprise/urls-and-ip-address-ranges?view=o365-worldwide#microsoft-365-common-and-office-online
[Description]
"Office 365 URLs and IP address ranges" and "Routing by ExpressRoute for Office 365" have some inconsistencies in content.
There is a discrepancy in the following description of the domains.
・*.microsoftonline.com
・provisioningapi.microsoftonline.com
・adminwebservice.microsoftonline.com
"*.microsoftonline.com" is set to No in "Office 365 URLs and IP address ranges" but is set to YES in "Routing with ExpressRoute for Office 365".
・Office 365 URLs and IP address ranges

・Routing by ExpressRoute for Office 365

"provisioningapi.microsoftonline.com" and "adminwebservice.microsoftonline.com" are set to YES in "Office 365 URLs and IP address ranges" but are set to No in "Routing with ExpressRoute for Office 365".
・Office 365 URLs and IP address ranges

・Routing by ExpressRoute for Office 365

Would like to see the inconsistency eliminated between the two Docs.
[Actual result]
Inconsistencies between "Office 365 URL and IP address ranges" and "Routing with ExpressRoute for Office 365".
[Expected result]
"Office 365 URL and IP address ranges" and "Routing with ExpressRoute for Office 365" are consistent.
[Source]
Japan Internal Feedback
[Copied from]
https://microsoft.sharepoint.com/:li:/t/ntojapan/pqmt/E2pxnFXU9GpGnzR2E6Z1D4UB_ZXJzijsNzt4gGxllWNuWA?e=NdrdTU

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

ID: 66bd8666-3566-a901-b25b-eb6baba6264a
Version Independent ID: e9f6310f-2207-8c81-d31a-3d5a80beb26b
Content: Office 365 URLs and IP address ranges - Microsoft 365 Enterprise
Content Source: microsoft-365/enterprise/urls-and-ip-address-ranges.md
Service: o365-administration
GitHub Login: @kelleyvice-msft
Microsoft Alias: kvice

@kelleyvice-msft Please help us in resolving this issue. Thanks

Here, there doesn't seem to be any change in the documents, is there any update? Thanks.

We appreciate your feedback. This page is automatically generated from a database so we can’t manually update the page. However, if you suspect there is an error in this list of URLs and IP addresses or have questions, please contact Microsoft Support.
To contact Microsoft 365 Support:

Sign in to Microsoft 365 admin center with your Microsoft 365 admin account, and select Support > Help and support, enter your question, and then select Contact support.

If you're an admin on the account, you can call<PHONE_NUMBER> (toll-free, US only).


AKS Learn feedback: the cmd to enable/disable "network-observability" should be updated.

Type of issue
Outdated article
Feedback
Hi team,
from the doc, the way to enable/disable "network-observability" is running:
az aks update --resource-group myResourceGroup --name myAKSCluster --enable-network-observability
but this cmd doesn't work, the retina-agent will still be running and kappie helm release will still exsit.
in the doc https://learn.microsoft.com/en-us/cli/azure/aks?view=azure-cli-latest , we can see  the cmd should be:
--enable-advanced-network-observability
--disable-advanced-network-observability
and after running :  az aks update --disable-advanced-network-observability , the Daemonset  retina-agent is gone, the kappie helm release is gone.
Page URL
https://learn.microsoft.com/en-us/azure/aks/network-observability-managed-cli?source=recommendations&tabs=non-cilium
Content source URL
https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/aks/network-observability-managed-cli.md
Author
@asudbring
Document Id
50b9d966-3d6b-ae96-5b2d-358de17ca374

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

ID: 9db6908d-76e7-6654-e9ee-60fe0a264cbe
Version Independent ID: 50b9d966-3d6b-ae96-5b2d-358de17ca374
Content: Setup of Network Observability for Azure Kubernetes Service (AKS) - Azure managed Prometheus and Grafana - Azure Kubernetes Service
Content Source: articles/aks/network-observability-managed-cli.md
Service: azure-kubernetes-service
Sub-service: aks-networking
GitHub Login: @asudbring
Microsoft Alias: allensu

@nituowei
Thanks for your feedback! We will investigate and update as appropriate.

@nituowei
Thank you for bringing this to our attention.
I've delegated this to content author @asudbring, who will review it and offer their insightful opinions.

#reassign:schaffererin

Hi, @nituowei. Thank you for your feedback. I created a PR with updates to the enable network observability commands. The PR has been merged, and the updated article will be live in the AKS documentation soon. I will now close this GitHub issue. Thanks again!
#please-close


Can you elaborate the intuition behind "parse_poses" and "get_root_relative_poses" functions in parse_poses.py?

Can you elaborate the intuition behind "parse_poses" and "get_root_relative_poses" functions in parse_poses.py ?
For example, why do we need to "read all pose coordinates at neck location" and "refine keypoints coordinates at corresponding limbs locations"
and also why "features" (inference_results[0]) has different shape sometime. ( for example feature.shape = (57, 32, 12) or
(57, 32, 9) or (57, 32, X), but most of them are (57, 32, 12)
Thanks in advance.

Hi! You can find the details in the paper, in short this adds robustness to pose prediction: neck is usually visible, so it is ok to encode other keypoints coordinates at the neck location. If other keypoints are also visible, then their coordinates can be substituted by coordiantes at their own location. Regarding the second question, I believe shapes should be always the same, possibly there is a bug somewhere.

Hope, it helped.


use HTTPS in gitops run S3 bucket server

When installing the dev bucket server on the cluster, it is now configured with a self-signed certificate generated on demand. The certificate is valid for 3 days which should be enough for a typical gitops run use case.
Instead of using HTTP in the forwarding from the host machine into the bucket server pod, the CLI now uses HTTPS so that traffic can't be intercepted on its way between the developer's machine and the cluster.
The certificate, after being generated, is put into a Kubernetes Secret which is in turn mounted into the bucket server pod.

@pjbgf as discussed, I changed the code to use a custom transport instead of relying on the env var consumed by the minio lib.


Create migrations for tests

We use hardhat, so we need hardhat compatible migration scripts here.

Yeah, I've managed to deploy the contract to ganache without the use of truffle (npx hardhat --network localhost test). I don't think this PR is needed then.


Add link to parallel_policy_tree

See #146. @beniaminogreen does this look good to you?

Looks fantastic to me, thanks!


Can't migrate with sqlite3: SQLITE_ERROR: no such table: knex_migrations_lock

Environment
Knex version: 0.14.6
Database + version: sqlite3 (tried 3.11.0 and 3.19.3)
OS: OS X, Ubuntu
Node.js version: 8.9.3
Bug
I have a problem with running the migrations. I'm trying to use knex with sqlite3 driver. The knex migrate:latest command fails with an error SQLITE_ERROR: no such table: knex_migrations_lock;
Here is my knexfile.js:
module.exports = {
  client: 'sqlite3',
  connection: {
    filename: './test.db',
  },
  useNullAsDefault: true,
};

This issue reproduces for me both on OS X and Ubuntu with different sqlite3 versions.
As far as I understand, both knex_migrations and knex_migrations_lock tables should be created automatically, whilte it seems they are not.
Will appreciate your help.

You are initializing knex in a wrong way in your code (which you haven't included here).

Now I guess the problem is the NODE_ENV=development in my environment which makes knex CLI think that it should read the config from development section when I run the migration, and at the same time when I initialize knex, I don't pass any environment, so it reads it from the root of the config object. Am I right?

I dont use knex commanline client myself. I'm not sure if it accepts configuration without that internal property.
If it is necessary, then having few extra chars in your app code shouldn't be too much boilerplate to add:
const knex = require('knex');
const knexConf require('../knexfile').development;

module.exports = knex(knexConf);

Sure, but I don't want to have .development in my production code. Also in this case I don't need different configs for development and production environments. So I tried to achieve this.

How about:
const knex = require('knex');
const knexfile = require('../knexfile');
const knexConf = knexfile[Object.keys(knexfile)[0])];
module.exports = knex(knexConf);

or
const knex = require('knex');
const knexfile = require('../knexfile');
const knexConf = knexfile[process.env.NODE_ENV];
module.exports = knex(knexConf);

or in knexfile:
const conf = {
  client: 'sqlite3',
  connection: {
    filename: './test.db',
  }
};

const knexFile = {};
knexFile[process.env.NODE_ENV || 'development'] = knexFile;

module.exports = knexFIle;

or having separate knex-config.js and knexfile.js and require('knex-config') in your app and let commandline client to use knexfile which require knex-config.js.
Anyways what you are trying to achieve is pretty trivial to implement and there are many ways to do it. Main restriction being that if you are using knex commandline client and NODE_ENV variable then it seems that you need to have correct property for environment in your knexfile.

PRs to documentation are always welcome.
Your migrations have probably failed before being able to cleanup migration lock table, just delete all rows in that table.

Migrations table weren't even created. Neither knex_migrations nor knex_migrations_lock.
BTW I was able to reproduce the same error using PostgreSQL driver. I got error: relation "knex_migrations_lock" does not exist, fixed it the same way as for sqlite3.


gitian: "base-trusty-amd64 already exists, please remove it first"

./gitian-build.sh --setup throws this. Not sure if it's a warning or an error.

It seems safe to ignore.

Let me know if this is still an issue with the most recent version of gitian-build.py

I just hit this.
The debian setup instructions suggest you run bin/make-base-vm --lxc --arch amd64 --suite bionic. Then (later) in the actual build instructions you run ./gitian-build.sh --setup. which will execute make-base-vm again, which generates the error/warning. This could cause problems if checks at the end of the function fail to execute.
I think the cleanest way to improve this situation would be to add a --trusty flag gitian-builder.py's setup() function. If this flag is passed we add --suite trusty to make-base-vm otherwise we add --suite bionic.
Then we could delete this section (and fedora analogue)[https://github.com/bitcoin-core/docs/blob/master/gitian-building/gitian-building-setup-gitian-fedora.md#setting-up-the-gitian-image] and mention in this section that you can pass a --trusty flag if you're building pre-0.17.0. And obviously the script would stay backwards-compatible since bionic is hard-coded right now and would be the default after this change.
Happy to make a PR if this makes sense.

I just hit this, but with base-bionic-amd64 already exists, please remove it first. I assume you were building pre-0.17.0 before the trusty->bionic switch.
The debian setup instructions suggest you run bin/make-base-vm --lxc --arch amd64 --suite bionic. Then (later) in the actual build instructions you run ./gitian-build.sh --setup. which will execute make-base-vm again, which generates the error/warning. This could cause problems if checks at the end of the function fail to execute.
I think the cleanest way to improve this situation would be to add a --suite flag gitian-builder.py's setup() function. We could pass this to make-base-vm, and default to bionic.
Then we could delete this section (and fedora analogue) and mention in this section that you can pass a --suite trusty flag if you're building pre-0.17.0. And obviously the script would stay backwards-compatible since bionic is hard-coded right now and would be the default after this change.
Happy to make a PR if this makes sense.

cc @theuni / @dongcarl / @fanquake

You can only use the manual setup, or the python helper script setup, not both

Gitian has been archived and is no longer actively maintained by us, see #76


dateutils twice in the requirements

Can one of the admins verify this patch?

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@980b35f). Click here to learn what that means.

@@           Coverage Diff            @@
##             master    #121   +/-   ##
========================================
  Coverage          ?   94.4%
========================================
  Files             ?      30
  Lines             ?    1018
  Branches          ?      44
========================================
  Hits              ?     961
  Misses            ?      48
  Partials          ?       9

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 980b35f...ac25f07. Read the comment docs.


Adding recursive capabilities

See the USAGE.adoc update for the adjustment provided.

conflicted

Conflict resolved, @jtnord @timja any approval to merge it to prevent further conflicts? :p

@jtnord @timja @Wadeck This PR breaks --additionalMethods. Steps to reproduce:
$ cat /tmp/additionalMethods.txt
hudson.XmlFile#write
$ mvn process-classes exec:exec -Dexec.executable=java -Dexec.args='-classpath %classpath org.jenkinsci.deprecatedusage.Main --additionalMethods /tmp/additionalMethods.txt --onlyIncludeSpecified'

Before this PR, output/usage-by-api.html finds all usages of hudson/XmlFile#write(Ljava/lang/Object;)V. After this PR, it doesn't find anything.

@jtnord @timja @Wadeck Gentle ping.


Update README.md adding Meterian badges

This commit will add the Meterian badges to the README file

Codecov Report

Merging #8 (f5507bc) into main (cd7cc03) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #8   +/-   ##
=======================================
  Coverage   96.94%   96.94%
=======================================
  Files          16       16
  Lines         523      523
=======================================
  Hits          507      507
  Misses         16       16

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

@bbossola Thanks for your contribution!


Url in server.js is region specific for IMF Push Service /notifyAllDevices

The url in server.js is only working in Bluemix US region in function /notifyAllDevices.
URL should be read from VCAP.
url: "https://mobile.ng.bluemix.net/imfpush/v1/apps/

I've made the update to dynamically use the hosted region.