Update event-hubs-faq.yml

Added another question that has come up in DLs and with the customer I'm working with. Seems it's not possible to change a deployed resource from Standard tier to Premium tier (or Premium to Standard).

Maybe we can make a table showing the tiers that can be changed between? Or make a general question about changing tiers and provide guidance that changing tiers is only possible between Basic and Standard?

We can make a table showing the tiers that can be changed between? Or make a general question about changing tiers and provide guidance that changing tiers is only possible between Basic and Standard?

@spelluru
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off

@Court72 - I am supposed to be the author of this article. I just checked the docfx.json file in the azure-docs-pr root folder and it looks like I set myself as a default author only for MD files. I will need to update that file. For now, could you please merge this PR? Thanks


Fix the previous release benchmark

The benchmark was broken by the behavior major versions change.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

LGTM—should we at least be running cargo-check on this in additional-ci?

It's unfortunately not so trivial. I filed https://github.com/smithy-lang/smithy-rs/issues/3273 to track this as an ops improvement.


picking up random bluetooth devices, not ember mug

I have an ember 2 bug and can't get it connected. It is not showing up automatically. When I click + Add Integration the wizard runs and it tries to connect to misc bluetooth devices I have that I know are not the ember mug. (One is my bhyve sprinkler, and it also tries to add my Xiaomi miija plant 'flower care' sensors.
I have followed all the steps, removing the mug from the ember app, then forgetting bluetooth entry from iPhone, then full reset to flashing red.
The mug stays in pairing mode flashing blue and nothing coming in from home assistant.
running 0.4.0 beta 2 version

hmmm, restarted the whole system and now when I click add integration->ember mug I get
Error:
"Config flow could not be loaded: Unknown error"

Hey, you shouldn't need to use the "Add integration" wizard. It should be automatically detected.
However, I fixed the discovery of random devices in beta 3. I had forgotten to filter that way, because I hadn't used it.
Have you previously used the mug with Home Assistant before? You might need to manually remove it via `bluetoothctl remove macaddress" in order for it to be detected as a "new" device.

I have not ever gotten the mug setup correctly. I tried yesterday and at one point it did find the mug, but it happened right as I was holding the reset button and I think I messed up the workflow. And it was at the same time that I noticed the directions indicating to use v0.4.0 and I had the prior version installed. So probably my fault I messed it up trying to click too many buttons too fast.
I bet you are right with needing to manually remove it since it did find it at one point. I'm not sure where to go to run that command. If you can point me where to go I bet that will fix it. While im waiting for your response I'll do some googling and try to figure it out on my own.
Thanks for your work on this!!!

Oh ok! Yeah, I'm sorry I can't make it more intuitive. It's a bit finicky, but once it's connected for the first time, it works pretty well.
No worries. I know it's not super straightforward. It should be easier with the new version, I just didn't want to release the latest version until it had been tested a bit.
If you use Home Assistant OS, you can install the "Terminal + SSH" Addon and if not you can just run bluetoothctl on the computer you are using. I know it's annoying, but if you don't remove it this way, Home Assistant won't discover it.

Then you can go into the terminal and type bluetoothctl devices to list known devices. If you see your Mug in the list, then type bluetoothctl remove mugmacaddress Obviously with the MAC address of your mug. As soon as you remove it, home assistant should discover it as long as this integration is installed along with the Home Assistant Bluetooth Integration.

I loaded beta 3. I didn't know the Mac address for the mug so haven't run the command yet. I clicked add integration and it found the mug this time - and now because of this I am able to know the Mac address. I added the mug and its now giving this error (first it says initializing):
"Retrying setup: An error occurred updating mug: e=BleakAbortedError(' (F7:66:57:75:5B:EC) - /org/bluez/hci0/dev_F7_66_57_75_5B_EC: Failed to connect: [org.bluez.Erro"
Now that I have the Mac address I am going to run the command to remove the mug, reset everything, and see if I can get it to work. I'll report back soon

yay!! Its working now, thank you so much!!

@austin202220 Thank you! I'll release the stable version soon. Just a few things I'd like to tweak first. :)


netty cves needed looking at

https://github.com/pgjdbc/r2dbc-postgresql brings in a dependency on netty 4

https://github.com/apache/incubator-pekko-persistence-r2dbc/security/dependabot
it might be possible just to upgrade netty explicitly
or we could upgrade r2dbc-postgresql
or both

it might be better to wait until a release after pekko-persistence-r2dbc 1.0.0 to make this release as compatible as possible with akka-persistence-r2dbc
it might then be easier to upgrade all the r2dbc-postgresql and other r2dbc dependencies instead of explicitly upgrading netty (hopefully a newer version of r2dbc-postgresql will rely on a newer netty 4 jar)

#89 merged


Fix rtrim for strings with invalid UDF-8 characters

Modify rtrim function to traverse input string backwards to correctly handle
invalid encodings and improve performance.
Before this change, rtrim used to traverse the string from the start looking for
the last non-whitespace character. The complexity of that algorithm is O ( N )
while the complexity of the new algorithm is O(number of whitespace
characters at the end of the string).
Also, the previous version used to stop processing if there was an incorrectly
encoded character in the middle of the string, e.g. it would not trim white
spaces at the end of such strings. This behavior doesn't match Presto.
While working on this change, I noticed that the set of supported whitespace
characters is less than the set supported in Presto. A follow-up diff will
expand the set to match Presto.
Differential Revision: D33037624

address comments.

@laithsakka is something off with formatting ? looks like lot of older code is getting reformatted .


Add more beginner questions for recursion

I would like to contribute in it, are there any language specifications?

Hi Please go ahead. There is some contribution rules. please go through them. After you are done raise a pr. Thanks

please assign me on this issue


Field of view seems really zoomed in in comparison to 360 videos on YouTube. Is it possible to adjust the FoV?

What do you want to do with Clappr?
I want to zoom out the field of view a bit further as it feels too zoomed in.

Hi @TheGreatestZenMaster, your doubt is related to clappr-video-360 plugin?

Closing this issue. @TheGreatestZenMaster fell free to open again if you have more info (:


Update Customer.io Flutter SDK to use iOS SDK 3.4.1

The current Customer.io Flutter SDK needs to be updated to support the latest iOS SDK version 3.4.1. This is help with supporting the latest Firebase SDK version.
https://github.com/customerio/customerio-ios/releases/tag/3.4.1

Hi @vendoshi the flutter SDK still relies on the 2.x version of our native iOS SDK. We are reviewing the feasibility of updating the 2.x iOS native SDK to support firebase 11 vs. the effort to complete the work to enable our Flutter SDK to utilize the 3.x version of our native iOS SDK. Once we review and decide on an approach we will have a better estimate on when this could be completed.

@scotttwittrockcio I submitted a PR for the update for the 2.x version of the iOS SDK to support firebase newest version already customerio/customerio-ios#824 - please go with this faster alternative

That sounds great. Could you please explain how to incorporate this into the Customer.io Flutter SDK?

We've released iOS SDK v2.14.2 with support for Firebase 11. I'll go ahead and close this issue, but feel free to reach out if you encounter any problems while upgrading.

Hi @ami-aman, I might be wrong, but it is not yet incorporated in the flutter SDK, so we cannot use it until the next release of the flutter SDK. Is there another way to use the latest version of firebase when using flutter?

Hey @ThHareau,
We’ve added support for the latest Firebase dependencies with version 2.14.2 of the iOS SDK. To make use of this update, follow these steps:

Run flutter pub get to fetch all the dependencies listed in your pubspec.yaml, if they haven’t been downloaded already.
From your root directory, run pod install --repo-update --project-directory=ios to update your iOS dependencies.

This will fetch the latest version of the iOS SDK, v2.14.2.
You may verify the version from Podfile.lock file.
Let us know if you encounter any further issues!


Cannot install sqlite via CLI - Can't resolve dependency

When trying to install @capacitor-community/sqlite via the CLI, it throws an error saying the dependency cannot be resolved.
While resolving<EMAIL_ADDRESS>Found<EMAIL_ADDRESS>node_modules/@capacitor/core
<EMAIL_ADDRESS>from the root project

Could not resolve dependency:
peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>node_modules/@capacitor-community/sqlite
  @capacitor-community/sqlite@"*" from the root project

Fix the upstream dependency conflict, or retry
this command with --force, or --legacy-peer-deps
to accept an incorrect (and potentially broken) dependency resolution.

To Reproduce
Steps to reproduce the behavior:

Open an Ionic application
Navigate to your terminal and run npm install @capacitor-community/sqlite
Error outputs in terminal window

Expected behavior
SQLite node to install successfully.
Environment:

Local machine (macOS).

Additional context
I could run --force which does install it but I'm concerned about breaking changes.

@rgbaman you have to install the next version of the plug-in which is compatible with capacitor 3

@rgbaman npm install --save @capacitor-community/sqlite@next as shown in the readme


Sync patient data from server to user

We need to think this through
We need to batch records that need to be sent from server to user. Do we use pagination mechanisms? How do we define last_sync_at? Should we record server_updated_at in addition to device_updated_at?

Further thoughts:

[ ] Sync all records first time. First time syncing should be indicated by absence of last_synced_at or a more specific field in the request
[ ] We should store updated_on_server_at during the POST request, so that we can compute the diff of records to send to each device during the sync.
[ ] We should separate the notions of request and response timestamps from updated_at timestamps of the records. To compute the diff, we should only ever use timestamps of records, not request/response timestamps.
[ ] At the end of the GET request, we should compute the latest_record_updated_at, and send that to the device with the response. The device can send this value with the next request to receive the next batch of records. This makes the pulls batch-able as a stream of independent requests, without needing to keep a track of when the sync 'ends'. Do not use last_sync_at for this reason.
[ ] Devices should store latest_record_updated_at per API endpoint.
[ ] Devices should push before they pull
[ ] If we want to send back only the diff of changed records per user, we should store last_updated_by_user_id
[ ] If we use last_sync_at, it should be set at the beginning of the GET request, not the end.
[ ] We could include a margin of error in the time range we use to retrieve records to sync, to account for some race conditions or time differences across devices/servers.

Patterns for office mobile syncing architecture: https://www.dre.vanderbilt.edu/~schmidt/PDF/PatternPaperv11.pdf

@timcheadle: @govindkrjoshi and I are in agreement about the above. Thoughts?


put less popular parameters into kwargs

Can one of the admins verify this patch?

Using azure.data.appconfiguration would require us to create a namespace package for azure.data.

AzureAppConfigurationClient's constructor should not take a connection string. The connection string parsing logic should be in the from_connection_string class method.

I'm not seeing a retry policy in the pipeline?

The network logging policy should be after the request credentials/signing policy.

get_configuration_setting's mapping of 412 errors to ResourceNotFoundError does not look correct. Under what circumstances would this happen?

How can I clear a value using update_configuration_setting?

There is duplicated code between the sync and async client that I'm not sure why it is there (e.g. escape_reserved)

How can I clear a value using update_configuration_setting?

In our design, set value to None or not setting a value means "not change", set to empty string can clear a value

There is duplicated code between the sync and async client that I'm not sure why it is there (e.g. escape_reserved)

Good catch. I moved the shared code into utils.

get_configuration_setting's mapping of 412 errors to ResourceNotFoundError does not look correct. Under what circumstances would this happen?

Good catch. Get_Config_Setting will not get 412

I'm not seeing a retry policy in the pipeline?

Added

The network logging policy should be after the request credentials/signing policy.

Updated

How can I clear a value using update_configuration_setting?

In our design, set value to None or not setting a value means "not change", set to empty string can clear a value

I would strongly prefer omitting the parameter for "not change" and setting to None to clear. Which implies that they are kwargs. The alternative is to have them as parameters with an explicit clear sentinel value.


chore: release 1.1.0

:robot: I have created a release beep boop
1.1.0 (2024-11-20)
Features

allow remove listener by passing no argument to listener function (d9d91c2)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v1.1.0
:sunflower:


[Bug] Adding GCS FT breaks incremental RayService deployments

Search before asking

[X] I searched the issues and found no similar issues.

KubeRay Component
ray-operator
What happened + What you expected to happen
When deploying a new custom image in RayService, KubeRay would spin up a new RayCluster. This RayCluster then connects to the same Redis as the currently running RayCluster. It thinks that all deployments are running and everything is healthy, so it cuts over all traffic to the new RayCluster and terminates the old one. However, it did not spin up any new deployments in the new RayCluster. So now it marks everything unheatlhy and spins everything back up. So we have a downtime until everything spins up.
Reproduction script

    demo.py

import time

from ray import serve
from ray.serve.drivers import DAGDriver

@serve.deployment(name="model1")
class Model1:
    def __int__(self):
        # Simulate an init method
        time.sleep(60)

    async def __call__(self, http_request):
        data: dict = await http_request.json()
        data["model"] = "model1"
        return data

@serve.deployment(name="model2")
class Model2:
    def __int__(self):
        # Simulate an init method
        time.sleep(60)

    async def __call__(self, http_request):
        data: dict = await http_request.json()
        data["model"] = "model2"
        return data

driver = DAGDriver.bind({"/model1": Model1.bind(), "/model2": Model2.bind()})  # type: ignore

    Dockerfile

FROM rayproject/ray:2.6.1-py310 as common

ENV WORKING_DIR /home/ray/models

WORKDIR ${WORKING_DIR}

ADD ./demo.py ${WORKING_DIR}

    rayservice_config.yaml

apiVersion: ray.io/v1alpha1
kind: RayService
metadata:
  name: rayservice-sample
  annotations:
    ray.io/ft-enabled: 'true'
    ray.io/external-storage-namespace: rayservice-sample
spec:
  serviceUnhealthySecondThreshold: 900 # Config for the health check threshold for service. Default value is 60.
  deploymentUnhealthySecondThreshold: 900 # Config for the health check threshold for deployments. Default value is 60.
  serveConfig:
    importPath: demo:driver
    deployments:
    - name: model1
      numReplicas: 1
    - name: model2
      numReplicas: 1

  rayClusterConfig:
    rayVersion: 2.6.1   # should match the Ray version in the image of the containers
    enableInTreeAutoscaling: true
    ######################headGroupSpecs#################################
    # Ray head pod template.
    headGroupSpec:
      # the following params are used to complete the ray start: ray start --head --block --redis-port=6379 ...
      rayStartParams:
        port: '6379' # should match container port named gcs-server
        dashboard-host: <IP_ADDRESS>
      #pod template
      template:
        spec:
          containers:
          - name: ray-head
            image: DOCKER_IMAGE_URL
            imagePullPolicy: Always

            env:
            - name: RAY_LOG_TO_STDERR
              value: '1'
            - name: RAY_REDIS_ADDRESS
              value:
                redis://xxxxx.ng.0001.use1.cache.amazonaws.com:6379
            resources:
              limits:
                cpu: 2
                memory: 8Gi
              requests:
                cpu: 2
                memory: 8Gi
            ports:
            - containerPort: 6379
              name: gcs-server
            - containerPort: 8265     # Ray dashboard
              name: dashboard
            - containerPort: 10001
              name: client
            - containerPort: 8000
              name: serve
    workerGroupSpecs:
      # the pod replicas in this group typed worker
    - replicas: 1
      minReplicas: 1
      maxReplicas: 15
        # logical group name, for this called small-group, also can be functional
      groupName: small-group
      rayStartParams: {}
        #pod template
      template:
        spec:
          containers:
          - name: ray-worker     # must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name',  or '123-abc'
            image: DOCKER_IMAGE_URL
            imagePullPolicy: Always
            lifecycle:
              preStop:
                exec:
                  command: [/bin/sh, -c, ray stop]
            resources:
              limits:
                cpu: 2
                memory: 8Gi
              requests:
                cpu: 2
                memory: 8Gi

Build the docker image, modify DOCKER_IMAGE_URL to point to the image in rayservice_config.yaml. Apply the changes with kubectl apply -f rayservice_config.yaml. Once everything spins up, see the deployment statuses on the dashboard using kubectl port-forward service/rayservice-sample-head-svc 8265:8265.
Make a small change to demo.py, like adding a comment to the code. Build the new image and apply the same rayservice_config.yaml but with the new image URL. Monitor the Serve dashboard while the new changes are deployed. When the old ray pods start Terminating, you will notice the deployments turn unhealthy. Then the entire application disappears and a new application is deployed.
(This script was tested on AWS EKS, with the image present on ECR and using non-clustered Elasticache Redis)
Anything else
Using Ray 2.6.1 and Kuberay 0.6.0
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

A workaround here is to either not use ray.io/external-storage-namespace or change it at every deploy

Update the doc in https://github.com/ray-project/ray/pull/39450.

Experiment 1: Create a RayService with ray.io/external-storage-namespace
# Step 0: Install KubeRay v0.6.0

# Step 1: Create a RayService with `ray.io/external-storage-namespace`
# https://gist.github.com/kevin85421/0da88f8a2df905cc2bfbde0b9897878f

# Step 2: Update `rayVersion` to `2.6.100` to trigger zero-downtime upgrade.

The old RayCluster is terminated 95 seconds after the creation of the new RayCluster.

Experiment 2: Create a RayService without ray.io/external-storage-namespace
# Step 0: Install KubeRay v0.6.0

# Step 1: Create a RayService without `ray.io/external-storage-namespace`
# https://gist.github.com/kevin85421/97d17bce92b5ca08902064205654667a

# Step 2: Update `rayVersion` to `2.6.100` to trigger zero-downtime upgrade.

The old RayCluster is terminated 337 seconds after the creation of the new RayCluster.

I set torch in runtime_env, so the Ray Serve applications need several minutes to be ready after the RayCluster is created because torch requires several minutes to install. That is, "Experiment 1" terminates the old RayCluster without waiting the new RayCluster to be ready.

I will close this issue after https://github.com/ray-project/ray/pull/39525 is merged.


Modernise codebase

Because it can't hurt to flesh this out publicly.
Closes #42
Closes #43

Yup yup, I intend to cut a 0.3.0 release before merging this.


Azure Resource Group Deployment task: [error]The template deployment '' is not valid according to the validation procedure. [...] See inner errors for details.

Required Information
Entering this information will route you directly to the right team and expedite traction.
Question, Bug, or Feature?
Type: Question
Enter Task Name: AzureResourceGroupDeploymentV2
Environment

Azure Pipelines on the service:
https://dev.azure.com/nenoalm/E2E/_releaseProgress?_a=release-pipeline-progress&releaseId=7

Agent: private/self hosted

If using private agent, provide the OS of the machine running the agent and the agent version:
Agent.Version: 2.155.1
Agent.OSVersion: 10.0.14393

Issue Description
Error message:

[error]The template deployment '' is not valid according to the validation procedure. The tracking id is ''. See inner errors for details. Please see https://aka.ms/arm-deploy for usage details.

The message refers to "inner errors", which are not shown. Where can I see them?
Task logs
<snippet>
2019-08-25T19:40:47.5867257Z Starting template validation.
2019-08-25T19:40:47.5886171Z ##[debug]System.DefaultWorkingDirectory=B:\A1\_work\r1\a
2019-08-25T19:40:47.5886378Z ##[debug]defaultRoot: 'B:\A1\_work\r1\a'
2019-08-25T19:40:47.5886537Z ##[debug]findOptions.followSpecifiedSymbolicLink: 'true'
2019-08-25T19:40:47.5886950Z ##[debug]findOptions.followSymbolicLinks: 'true'
2019-08-25T19:40:47.5887150Z ##[debug]matchOptions.debug: 'false'
2019-08-25T19:40:47.5887297Z ##[debug]matchOptions.nobrace: 'true'
2019-08-25T19:40:47.5887597Z ##[debug]matchOptions.noglobstar: 'false'
2019-08-25T19:40:47.5887844Z ##[debug]matchOptions.dot: 'true'
2019-08-25T19:40:47.5887997Z ##[debug]matchOptions.noext: 'false'
2019-08-25T19:40:47.5888139Z ##[debug]matchOptions.nocase: 'true'
2019-08-25T19:40:47.5888280Z ##[debug]matchOptions.nonull: 'false'
2019-08-25T19:40:47.5888421Z ##[debug]matchOptions.matchBase: 'false'
2019-08-25T19:40:47.5888564Z ##[debug]matchOptions.nocomment: 'false'
2019-08-25T19:40:47.5888693Z ##[debug]matchOptions.nonegate: 'false'
2019-08-25T19:40:47.5888984Z ##[debug]matchOptions.flipNegate: 'false'
2019-08-25T19:40:47.5889378Z ##[debug]pattern: 'B:\A1\_work\r1\a\_aspnetcore22\ArmTemplates\windows-vm-template.json'
2019-08-25T19:40:47.5889553Z ##[debug]findPath: 'B:\A1\_work\r1\a\_aspnetcore22\ArmTemplates\windows-vm-template.json'
2019-08-25T19:40:47.5889809Z ##[debug]statOnly: 'true'
2019-08-25T19:40:47.5889942Z ##[debug]found 1 paths
2019-08-25T19:40:47.5890197Z ##[debug]applying include pattern
2019-08-25T19:40:47.5890458Z ##[debug]1 matches
2019-08-25T19:40:47.5890820Z ##[debug]1 final results
2019-08-25T19:40:47.5899200Z Deployment name is windows-vm-template-20190825-214047-4ab2
2019-08-25T19:40:47.5933181Z ##[debug][POST]https://management.azure.com***/providers/Microsoft.Resources/deployments/windows-vm-template-20190825-214047-4ab2/validate?api-version=2017-05-10
2019-08-25T19:40:48.9745808Z There were errors in your deployment. Error code: InvalidTemplateDeployment.
2019-08-25T19:40:48.9812192Z ##[error]The template deployment 'windows-vm-template-20190825-214047-4ab2' is not valid according to the validation procedure. The tracking id is 'c9babeb9-ba52-493c-82da-e0978add71f8'. See inner errors for details. Please see https://aka.ms/arm-deploy for usage details.
2019-08-25T19:40:48.9822606Z ##[debug]Processed: ##vso[task.issue type=error;]The template deployment 'windows-vm-template-20190825-214047-4ab2' is not valid according to the validation procedure. The tracking id is 'c9babeb9-ba52-493c-82da-e0978add71f8'. See inner errors for details. Please see https://aka.ms/arm-deploy for usage details.
2019-08-25T19:40:48.9823359Z ##[error]Details:
2019-08-25T19:40:48.9823634Z ##[debug]Processed: ##vso[task.issue type=error;]Details:
2019-08-25T19:40:48.9824062Z ##[error]TemplateFailedPrevalidation: The template request has multiple validation failures involving one or more Microsoft.Network resources. Please check details for information about each resource. [object Object],[object Object],[object Object],[object Object]
2019-08-25T19:40:48.9824474Z ##[debug]Processed: ##vso[task.issue type=error;]TemplateFailedPrevalidation: The template request has multiple validation failures involving one or more Microsoft.Network resources. Please check details for information about each resource. [object Object],[object Object],[object Object],[object Object]
2019-08-25T19:40:48.9824755Z ##[debug]task result: Failed
2019-08-25T19:40:48.9824965Z ##[error]Task failed while creating or updating the template deployment.
2019-08-25T19:40:48.9825242Z ##[debug]Processed: ##vso[task.issue type=error;]Task failed while creating or updating the template deployment.
2019-08-25T19:40:48.9825669Z ##[debug]Processed: ##vso[task.complete result=Failed;]Task failed while creating or updating the template deployment.
2019-08-25T19:40:48.9830918Z ##[section]Finishing: Validate ARM template
</snippet>

@NenoLoje We've updated the task to print error details better. We'll deploy it soon, Thanks!


Ubuntu 16.04 Exception caught

I tried to run the following code
"~/Downloads/drishti/_builds/cxx11/src/app/hci$ ./drishti-hci --factory=/home/william/Downloads/drishti-assets/drishti_assets_full.json --input=/home/william/Downloads/test.avi --focal-length=500 --min=0.5 --max=1.0 --output=/tmp/ --calibration=0.002 --scale=1.2 --window --resolution=0.5"
However I get the following error
Exception caught: OpenCV(3.4.1) /home/william/Downloads/drishti/src/app/videoio/VideoSourceCV.cpp:118: error: (-215) false in function create

That error is coming from a simple VideoSourceCV that is used for both continuous process and random access (batch processing) for mixed images.   It doesn't currently know anything about *.avi format but you can pass --cv
see : https://github.com/elucideye/drishti/blob/f0f5a9c629616b2a5f47ab6b344912e856cdc0bb/src/app/hci/hci.cpp#L201
And it will try to open it directly with the standard cv::VideoCapture , see:
https://github.com/elucideye/drishti/blob/f0f5a9c629616b2a5f47ab6b344912e856cdc0bb/src/app/hci/hci.cpp#L331-L349
So you could try --input=/home/william/Downloads/test.avi --cv.
I can make the exception more informative.
If you are testing on a desktop you could use drishti_assets_big.json.

Hello, thank you very much for your advice. After, I've added the --cv, I get the following error "(DEBUG) try_init_v4l2 VIDIOC_QUERYCAP "/home/william/Downloads/test.avi": Inappropriate ioctl for device

The OpenCV build doesn't support the AVI codec required for that video --  at least not on your platform with the current configuration.  This is related to the OpenCV videoio and highgui modules.  OpenCV has a long list of configuration options which may or may not help address the issue.
The customization is performed in the submodule config here src/examples/drishti-upload/config.cmake:
https://github.com/elucideye/drishti-upload/blob/167387de283c34175acb6cef8839a54f5fe5ab03/config.cmake#L22-L162
You can always experiment with changing the build arguments on your own.
More information on OpenCV codecs and the videoio module can be found here:
https://docs.opencv.org/3.4/d0/da7/videoio_overview.html
A quick search for "try_init_v4l2 VIDIOC_QUERYCAP" gets a few hits on SO, including this one:
https://stackoverflow.com/a/45893821
It seems you may need to use an ffmpeg back end for this.  That isn't currently available in Hunter, but you can try adding it as a local package on your system.  You will need
WITH_FFMPEG=ON         # "Include FFMPEG support"

In the config.cmake shown above.


Option to remove colons from filenames - use your own pattern

I'm finding the filenames are unusable when shared on Samba.
In the logs, for file creation, it shows:
[2021-05-25 16:38:54] [lib.recorder.frontwest ] [DEBUG ] - Concatenation command: ['ffmpeg', '-hide_banner', '-loglevel', 'error', '-y', '-protocol_whitelist', 'file,pipe', '-f', 'concat', '-safe', '0', '-i', '-', '-c:v', 'copy', '-movflags', '+faststart', '/recordings/2021-05-25/FrontWest/16:38:41.mp4']
But, because of the colons, the filename in the samba share appears as:
159ZX1~2.MP4
In samba they can be mapped to other characters but, even then, they're not opening correctly.
My Question: Is there a way to change the filename so they don't include colon? (Can't find a setting in the documentation as of 2021.05.25) Something like %Y-%m-%d %f

This is available now as a new config option under recorder, filename_pattern, in the dev tag.
You can use it like this for example:
recorder:
  filename_pattern: '%H%M%S'  # strftime pattern

Which would produce files named 235959.mp4 instead of 23:59:59.mp4

Thank you!

The filename_pattern option only affects the video file, not the snapshots.
I have configured the following patterns:
filename_pattern: '%H-%M-%S'
In the Windows share it looks like this:


Bluebird is no longer in use in Knex

Since<EMAIL_ADDRESS>Bluebird is no longer in use
So it produce the following error: Cannot find module 'bluebird' from 'node_modules/knex-hooks/src/run-hooks.js' with:

<EMAIL_ADDRESS><EMAIL_ADDRESS>

Just saw this too.


Discv5 harmony

WIP integration of Harmony discv5.
Working on interoperability with Lighthouse.

Closing as we've wound up putting this in http://github.com/PegaSysEng/discovery/


CiliumEndpoints missing for Pods

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Operations:

pod is deleted
pod is recreated (with same name)
cep for pod is deleted

Pod no longer has an identity so its traffic is considered world and thus has no labels.
This happens randomly when there are dozens of recreations per second in the local cluster (hundreds in the clustermesh)
Cilium Version
Client: 1.13.4 4061cdfc 2023-06-14T03:37:39+00:00 go version go1.19.10 linux/amd64
Daemon: 1.13.4 4061cdfc 2023-06-14T03:37:39+00:00 go version go1.19.10 linux/amd64
Kernel Version
Linux ip-10-194-100-11 5.15.0-1039-aws #44~20.04.1-Ubuntu SMP Thu Jun 22 12:21:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Kubernetes Version
v1.24.15-eks-a5565ad
Sysdump
No response
Relevant log output
No response
Anything else?
Seems awfully similar to https://github.com/cilium/cilium/issues/17047
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thanks for this report @dctrwatson, that does seem not great, would you be able to grab a sysdump file and upload it please? (Using https://docs.cilium.io/en/stable/operations/troubleshooting/#automatic-log-state-collection )?

Thanks for this report @dctrwatson, that does seem not great, would you be able to grab a sysdump file and upload it please?

Unfortunately, I cannot without sanitizing certain outputs from it. If you know what parts of the sysdump that would be helpful for this issue, it would make it easier for me to share.

Unfortunately, I cannot without sanitizing certain outputs from it

You can also send the sysdump via a non-public channel if that helps. Though I understand if you can't due to security concerns.

If you know what parts of the sysdump that would be helpful for this issue, it would make it easier for me to share.

Lets start with the following files:

logs-cilium-*-cilium-agent.log
k8s-pods-*.yaml
ciliumendpoints-*.yaml
k8s-events-*.yaml
cilium-bugtool-cilium-*/cmd/cilium-endpoint-list.md
cilium-bugtool-cilium-*/cmd/cilium-identity-list.md
cilium-bugtool-cilium-*/cmd/cilium-map-events-cilium_ipcache--o-json.md

It would also be helpful if you could mention one or more of the pods that are effected so we can narrow down the search in the sysdump files.

Hey @dylandreimerink! I'm one of @dctrwatson's coworkers and I spent some time this week diving deeper into this.
I don't have a sysdump for you, but I've been digging through the Kubernetes apiserver audit logs and I do think I have the series of events that cause this issue for us.
Our working theory
The problem seems to be a race condition that involves three controllers: Cilium agent, the Kubernetes core garbage collector, and our own custom operator that we use to schedule database pods.
It turns out that Cilium does correctly create the CiliumEndpoint (I checked that it was Cilium's service account doing this), but then the Kubernetes garbage collector ends up deleting it (I also checked the service account on this one and it was system:controller:generic-garbage-collector).
The series of events in the apiserver audit logs looks like this:

Our operator deletes a database pod with background propagation of the deletion (DeletePropagationBackground) to child resources (which includes the CiliumEndpoint)

From reading the docs, background deletion is also the default for kubectl, so we're not doing anything particularly out of the ordinary here
This means that deletion of the child CiliumEndpoint will happen asynchronously
It's important to note that Cilium endpoints always have the same name as their corresponding pod, and we recreate database pods with consistent names when they're being restarted.  This means that a delayed delete can end up deleting the wrong Cilium endpoint (i.e. one that’s just been recreated by Cilium agent for the new pod that our operator created)

Cilium agent deletes the corresponding endpoint for the old pod
We create the new database pod
Cilium agent tries to get the endpoint and finds nothing (I think this is part of its process of deciding whether to create or update an endpoint)
Cilium agent creates the endpoint for the new pod
The Kubernetes garbage collector runs, and starts by getting the endpoint by name, which succeeds (because it finds the new one Cilium just created)
The Kubernetes garbage collector deletes the endpoint, thinking it was cleaning up the old one when it’s really deleting the new one that Cilium agent just created!
We have a pod without a CiliumEndpoint, and we have to intervene manually by restarting it

In theory it could go wrong again when restarting it, but the window for this race condition seems fairly tight, so it doesn’t happen most of the time

I have copies of the specific logs from the apiserver, and I can get any extra info you'd like from them.
Our current proposed workaround
We've been talking about what we can do on our end and we think the right answer for now is to have our controller delete the CiliumEndpoint before it deletes the pod. That would avoid the background-cascaded delete from ever being created and should prevent the race condition from happening.
Longer term fix
If possible, we'd love to see Cilium handle this situation. It seems likely that this has happened elsewhere in the wild, but given that we only see it happen to a handful of pods when we roll the fleet, most people probably don't have enough workloads running to consistently trigger it. The race condition seems to happen within a window of 10-20ms, so I can see why it goes right most of the time.
I'm not familiar enough with the Cilium codebase to suggest how this could be fixed, but I'm hoping there's something reasonably easy you can do on your side!
Looking forward to hearing what you think.

Hey, I wanted to give you an update on this as we've been running that workaround for about a week now. Tl;dr: sadly it doesn't work, but we've got a new line of thinking that we're exploring because of what we've seen with it in place.
With the workaround in place, the series of events we see at the Kubernetes apiserver is:

Our operator deletes the CiliumEndpoint for the pod we're about to delete (successful)
Cilium tries to delete the endpoint in response to us deleting the pod (fails 404 because we already deleted it)
Cilium does a get on the same name (also 404, so at this point the series of events is the same as before we introduced the workaround)
Cilium creates a new endpoint with the same name, for the pod we just recreated (successful)
Kube system garbage collector gets the endpoint (successful as cilium has recreated it)
Kube system garbage collector deletes the new endpoint

This rules out my theory about it being a race between Cilium and the Kubernetes system garbage collector. With that out of the way, I spent some time looking at the kube-controller-manager logs and found something interesting (logs have been lightly redacted):
I0926 15:07:15.515291      11 garbagecollector.go:496] "Processing object" object="some-namespace/database-pod-123" objectUID=some-uid-123 kind="Pod" virtual=true
I0926 15:07:15.519930      11 garbagecollector.go:496] "Processing object" object="some-namespace/database-pod-123" objectUID=some-uid-456 kind="CiliumEndpoint" virtual=false
I0926 15:07:15.522892      11 garbagecollector.go:608] "Deleting object" object="some-namespace/database-pod-123" objectUID=some-uid-456 kind="CiliumEndpoint" propagationPolicy=Background

What stood out to me is that the garbage collector is processing the pod as a virtual node. If I understand right, this could imply that the Cilium agent is creating the new endpoint with an incorrect ownerRef. I'm very far from certain, but one thing I'm currently questioning is whether the call to GetPod here could be returning stale cached info, resulting in Kubernetes immediately deleting the endpoint because it references the old (now deleted) pod as its owner.
If I'm right in this line of thinking, it should only be possible for this to affect StatefulSets or anything that behaves similarly to them, where pod names remain consistent during rolling restarts (as is true in our operator).
We're very actively working on figuring this out, so I'll keep you updated with anything more that we learn.

Hello again 👋🏻
I've got a small update courtesy of something @dctrwatson noticed while debugging towards the end of last week.
It looks like whenever we see pods/endpoints reach this state, the agent on the corresponding node has internally deadlocked in some way. We think that might be the reason that the endpoint is created with stale data and why the 10s reconcile loop never runs to recreate the endpoint after the Kubernetes GC deletes it.
While we couldn't find any reference to a fix for this specific issue in the release notes, we're aware that a decent amount of the relevant parts of the agent have been reworked between 1.13 and 1.14, so we're in the process of making that upgrade. We'll check back in once it's rolled out and we've had enough time to either run into this issue or for 1.14 to have solved it for us.
Thanks again for checking in on Slack. Hopefully this ends up being a non-issue after the upgrade 🤞🏻

This sounds very similar to

https://github.com/cilium/cilium/issues/19931
https://github.com/cilium/cilium/issues/17047

which should've been fixed. If it's true that the ownerReference that's set by K8s is somehow incorrect, then I can see how that would cause problems again.

I have a same issue.

Perhaps this is the same problem
https://github.com/cilium/cilium/issues/28303

In my case, there are traces of the cilium operator moving to another node.
I found that many cilium endpoints do not exist.

I believe to see this too, more often in v1.14.x  then before.
After I delete a node, I see a lot of unmanaged pods, then node starts, cilium pods starts on that node and endpoitns are created.
So no more unmanaged, but after some seconds, It repeats...
used this script:
https://raw.githubusercontent.com/cilium/cilium/main/contrib/k8s/k8s-unmanaged.sh
I think this is the log, Identity of endpoint changed from oldIdentity="no identity" ?
What could be the issue here?

cilium-6xbxb cilium-agent level=info msg="Identity of endpoint changed" containerID=735c1fc3ed datapathPolicyRevision=0 desiredPolicyRevision=0 endpointID=581 identity=19295 identityLabels="k8s:app.kubernetes.io/instance=capsule,k8s:app.kubernetes.io/managed-by=Helm,k8s:app.kubernetes.io/name=capsule,k8s:app.kubernetes.io/version=0.3.3,k8s:app=capsule,k8s:helm.sh/chart=capsule-0.4.5,k8s:io.cilium.k8s.namespace.labels.goldilocks.fairwinds.com/enabled=true,k8s:io.cilium.k8s.namespace.labels.kubernetes.io/metadata.name=capsule-system,k8s:io.cilium.k8s.namespace.labels.pod-security.kubernetes.io/enforce=privileged,k8s:io.cilium.k8s.namespace.labels.pod-security.kubernetes.io/warn=baseline,k8s:io.cilium.k8s.policy.cluster=default,k8s:io.cilium.k8s.policy.serviceaccount=capsule,k8s:io.kubernetes.pod.namespace=capsule-system" ipv4=<IP_ADDRESS> ipv6="fe80::dcd0:caff:feeb:f2b1" k8sPodName=capsule-system/capsule-controller-manager-79d99b54d7-c859w oldIdentity="no identity" subsys=endpoint

Some additional notes:
I tracked the cilium pod on the same node of an unmanaged pod
In the whole log of this cilium pod since start, there is no entry of that unmanaged pod's name..
The cilium pod has cilium-agent startedAt: "2023-11-28T11:14:46Z"
The unmanaged pod has state running startedAt: "2023-11-28T11:14:58Z"
So the unmanaged pod started 12 seconds after the agent on the node was ready, still neglected and no mention of.
Next, I delete the unmanaged pod and lucky, this was rescheduled on the same node, same cilium agent :)
Now a cep was created....

➜  deploy git:(cilium_bump) ✗ k -n kube-system logs cilium-6zf5h | grep 6qjjd                                                                                aws:branch-cluster
Defaulted container "cilium-agent" out of: cilium-agent, config (init), mount-cgroup (init), apply-sysctl-overwrites (init), mount-bpf-fs (init), clean-cilium-state (init), install-cni-binaries (init)
level=info msg="Create endpoint request" addressing="&{<IP_ADDRESS>   fe80::c47b:a3ff:feec:bb50  }" containerID=3d37d33057f6b41007819ecc305b6ef26bc038883fb9dec0ff102b0de82f991e datapathConfiguration="&{false true true true true 0xc0021c8be0}" interface=eni14e3e134742 k8sPodName=gatemin-system/gatemin-ext-auth-filter-65b6c6bb99-6qjjd labels="[]" subsys=daemon sync-build=true
level=info msg="New endpoint" containerID=3d37d33057 datapathPolicyRevision=0 desiredPolicyRevision=0 endpointID=2898 ipv4=<IP_ADDRESS> ipv6="fe80::c47b:a3ff:feec:bb50" k8sPodName=gatemin-system/gatemin-ext-auth-filter-65b6c6bb99-6qjjd subsys=endpoint
level=info msg="Invalid state transition skipped" containerID=3d37d33057 datapathPolicyRevision=0 desiredPolicyRevision=0 endpointID=2898 endpointState.from=waiting-for-identity endpointState.to=waiting-to-regenerate file=/go/src/github.com/cilium/cilium/pkg/endpoint/policy.go ipv4=<IP_ADDRESS> ipv6="fe80::c47b:a3ff:feec:bb50" k8sPodName=gatemin-system/gatemin-ext-auth-filter-65b6c6bb99-6qjjd line=605 subsys=endpoint
level=info msg="Waiting for endpoint to be generated" containerID=3d37d33057 datapathPolicyRevision=0 desiredPolicyRevision=0 endpointID=2898 ipv4=<IP_ADDRESS> ipv6="fe80::c47b:a3ff:feec:bb50" k8sPodName=gatemin-system/gatemin-ext-auth-filter-65b6c6bb99-6qjjd subsys=endpoint
level=info msg="Resolving identity labels (blocking)" containerID=3d37d33057 datapathPolicyRevision=0 desiredPolicyRevision=0 endpointID=2898 identityLabels="k8s:app=gatemin-ext-auth-filter,k8s:io.cilium.k8s.namespace.labels.admission.gatekeeper.sh/ignore=true,k8s:io.cilium.k8s.namespace.labels.goldilocks.fairwinds.com/enabled=true,k8s:io.cilium.k8s.namespace.labels.kubernetes.io/metadata.name=gatemin-system,k8s:io.cilium.k8s.namespace.labels.pod-security.kubernetes.io/enforce=privileged,k8s:io.cilium.k8s.namespace.labels.pod-security.kubernetes.io/warn=baseline,k8s:io.cilium.k8s.policy.cluster=default,k8s:io.cilium.k8s.policy.serviceaccount=gatemin-ext-auth-filter,k8s:io.kubernetes.pod.namespace=gatemin-system" ipv4=<IP_ADDRESS> ipv6="fe80::c47b:a3ff:feec:bb50" k8sPodName=gatemin-system/gatemin-ext-auth-filter-65b6c6bb99-6qjjd subsys=endpoint
level=info msg="Identity of endpoint changed" containerID=3d37d33057 datapathPolicyRevision=0 desiredPolicyRevision=0 endpointID=2898 identity=17297 identityLabels="k8s:app=gatemin-ext-auth-filter,k8s:io.cilium.k8s.namespace.labels.admission.gatekeeper.sh/ignore=true,k8s:io.cilium.k8s.namespace.labels.goldilocks.fairwinds.com/enabled=true,k8s:io.cilium.k8s.namespace.labels.kubernetes.io/metadata.name=gatemin-system,k8s:io.cilium.k8s.namespace.labels.pod-security.kubernetes.io/enforce=privileged,k8s:io.cilium.k8s.namespace.labels.pod-security.kubernetes.io/warn=baseline,k8s:io.cilium.k8s.policy.cluster=default,k8s:io.cilium.k8s.policy.serviceaccount=gatemin-ext-auth-filter,k8s:io.kubernetes.pod.namespace=gatemin-system" ipv4=<IP_ADDRESS> ipv6="fe80::c47b:a3ff:feec:bb50" k8sPodName=gatemin-system/gatemin-ext-auth-filter-65b6c6bb99-6qjjd oldIdentity="no identity" subsys=endpoint
level=info msg="Rewrote endpoint BPF program" containerID=3d37d33057 datapathPolicyRevision=0 desiredPolicyRevision=20 endpointID=2898 identity=17297 ipv4=<IP_ADDRESS> ipv6="fe80::c47b:a3ff:feec:bb50" k8sPodName=gatemin-system/gatemin-ext-auth-filter-65b6c6bb99-6qjjd subsys=endpoint
level=info msg="Successful endpoint creation" containerID=3d37d33057 datapathPolicyRevision=20 desiredPolicyRevision=20 endpointID=2898 identity=17297 ipv4=<IP_ADDRESS> ipv6="fe80::c47b:a3ff:feec:bb50" k8sPodName=gatemin-system/gatemin-ext-auth-filter-65b6c6bb99-6qjjd subsys=daemon

@atamgp I believe cilium endpoint regenerate <id> would also do the trick (instead of deleting the pod)
What I noticed in my case (pod exists without cep) is that cilium endpoint list will show the endpoint in the list, but there's no cep object on k8s, so I took its ID and ran the command above, which I believe recreated the cep.

Keep

it seems to be fixed in 1.14.7?

I don't think we've seen it since we moved to 1.14. I've definitely not seen it in the last month or so.
I did take a look through our internal Slack for the last time this happened and found something I saw after my initial message above and forgot to share here. Whenever we saw the error, it was correlated with this in the logs:
level=warning msg="Status check error channel is full, dropping this error" error="quorum check failed 8578 times in a row: 95h50m38.701162167s since last heartbeat update has been received" subsys=kvstore

aha thanks for sharing.
I will move to latest 1.14 and see how that goes in prod.

@dctrwatson Would you be able to try https://github.com/cilium/cilium/pull/31605 and see if this fixes your issue?

Keep

#31605

Hi, why not change ciliumendpoint's owner to ciliumnode, not to the pod. And I have found doCiliumEndpointSyncGC to gc ciliumEndpoint

#31605

@Sinjo @christarazi Hi, why not change ciliumendpoint's owner to ciliumnode, not to the pod. And I have found doCiliumEndpointSyncGC to gc ciliumEndpoint

Because CiliumEndpoints need to be removed when a Pod is destroyed, otherwise there's a risk of overlapping endpoint IPs.

There has been a lot of fixes regarding CiliumEndpoints made into v1.15.5. Please upgrade to this version. If you still face any issues feel free to create a new GitHub issue. Thank you.


Not easy to obtain wallet address w/o wallet app

When in the messaging view of Web3Inbox, there is no easy way to obtain the wallet address, without Disconnecting or using your wallet app. This is particularly a blocker for Web3Account where there is no wallet app.

Requesting to either:

add a copy button next to the address, or
use the standard Web3Modal popup which already has a copy address button in it

https://walletconnect.slack.com/archives/C044SKFKELR/p1680809723151289?thread_ts=1680806893.688679&cid=C044SKFKELR

Actually, you can already click the address to copy it to your clipboard, but this isn't obvious from the UI. Keeping this open because we still need some UI updates to make this user-friendly.

Added a copy button to the address to make it more obvious


Fixed clickhouse query to always use the AS keyword for aliases

Fixes #390
Added a dialect option for requiring the "AS" keyword when declaring aliases and set it as True for Clickhouse queries.

Coverage decreased (-0.01%) to 97.754% when pulling 2c4a63b46e0991ac9af61fc88c301858656071ec on as_keyword_clickhouse into 1ac108de72e206ea1168b1b6989ce354301537b5 on master.


storage: reflect prefetch state from each blob cache object

The blob cache manager is associated with prefetch state, so we don't
have to clone it and pass it everywhere.
Thus simplifying code.

Otherwise LGTM.


fix comment

@CodiumAI-Agent /review

@CodiumAI-Agent /review [pr_reviewer]

PR Reviewer Guide 🔍

⏱ Estimated effort to review: 1 🔵⚪⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Key issues to review
Duplicate FunctionalityThe new route '/verify-email-new' uses the same validation and controller as the existing '/verify-email' route. This could be redundant unless there's a specific reason for the duplication which isn't mentioned in the PR.

@CodiumAI-Agent /review
--pr_reviewer.extra_instructions="
In the possible issues section, emphasize the following:

Is the code logic efficient?

"

Persistent review updated to latest commit https://github.com/Nikhil435/node-expressjs/commit/0b2f82c2759191d98918bd101963ae2833932c5e

@CodiumAI-Agent /review
--pr_reviewer.extra_instructions="
In the possible issues section, emphasize the following:

Is the code logic efficient?

"
--pr_reviewer.inline_code_comments=true

@CodiumAI-Agent /describe
--pr_description.publish_labels=true
--pr_description.generate_ai_title=true
--pr_description.final_update_message=true

Title
Add new email verification route to auth routes

PR Type
enhancement

Description

Added a new route /verify-email-new to the authentication routes for email verification.

Changes walkthrough 📝
Relevant filesEnhancement

auth.route.jsAdd new email verification route

src/routes/v1/auth.route.js
Added a new route for email verification.  The new route is /verify-email-new.

+1/-1

💡 PR-Agent usage:
Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

@CodiumAI-Agent /update_changelog
--pr_update_changelog.extra_instructions="
Focus on these files:
"
--pr_update_changelog.push_changelog_changes=true

@CodiumAI-Agent /review
--pr_reviewer.num_code_suggestions="0"

Persistent review updated to latest commit https://github.com/Nikhil435/node-expressjs/commit/0b2f82c2759191d98918bd101963ae2833932c5e


Galley Ingress missing

When Galley is enabled, I don't see any Ingress resource - AFAIK we still need to support k8s Ingress.
I think this is blocker for turning on galley - it doesn't seem possible to use both k8s config store and galley at the same time, and I don't think in 1.1 we can drop support for Ingress.

(tested by using /debug/configz in pilot, on a cluster that has Ingress resources)

Is there a test for this?

For Ingress conversion in pilot - pretty sure there are some.
E2E - we used to have one in simple test, but probably got converted to Gateway.

But we do test Ingress on load tests part of release qualification - just not automated yet.

Pilot k8s ingress code - https://github.com/istio/istio/tree/master/pilot/pkg/config/kube/ingress. The conversion functions are already exported, though we'll need to convert from Pilot's model.Config type to the k8s or MCP proto form.
I think the Ingress StatusSyncer is handled by the k8s registry path right now.


Bootstrap 4 multi-level navbar dropdown is not working.

@twbs-grunt

Navbar

Home

About

Dropdown

Action
Another action
Something else here

Dropdown

Action
Another action
Something else here

Contact

duplicate of https://github.com/twbs/bootstrap/issues/28953

But my question is still unanswered...

duplicate of #28953

But my question is still unanswered...


Factorize automatic generation from IANA database

Sorry for the not so short text below, but I thought some context was needed before exposing what I'd like to do.
Context
In the beginning of the year 2022, reacting to CVE-2020-26235, I migrated some of the repositories I was working on, from chrono to time, until I stumbled on some functionalities that needed to parse timezones. Then, I opened https://github.com/chronotope/chrono-tz/pull/93.
That said, the PR I proposed is not really satisfying:

with the name chrono_tz, you would expect to have chrono in it (so making chrono an optional feature sounds dumb)
it looks like the extract from the IANA Database is a functionality by itself that might live in its own repository

It's the second item that made me opened this issue (see below).
What I'd like to do?
I only found out today about your crate time-tz. I'm pretty happy about it because I'm pretty sure I'm gonna use it:smile:
I quickly parsed the code from build.rs and it seems mostly similar to chrono-tz-build. I was actually already trying to extract that part into an independent crate (when working on https://github.com/chronotope/chrono-tz/pull/93). Would you be interested in such a modification? I'd be interested to actually do the work but I'd like to know first if the idea is sound and acceptable in your project?

I'm not sure I understand what you're trying to do. In my understanding you want to avoid download and build of the entire IANA database by moving this part to it's own crate. Is that what you're trying to do?
I understand that this part can be very slow if you don't need it but currently there's no way to avoid download of the IANA database. In the current version there's already a feature which enables the IANA database (which is enabled by default).
The build.rs script is indeed very similar to chrono-tz, that's because I based my code on it except that I've included windows timezone name database (windows uses a less-precise database than IANA) and I've preferred to respect rust naming conventions.
Now if we agree on what you're trying to do that could be indeed better. However, there are several points to be aware of in the current setup:

You might need to move the FixedTimeSpan and FixedTimeSpanSet structs to that new crate because the build script is dependent over these (these are not dependent over the time-rs crate).
Do you plan on moving the windows name database as well?
Depending on how we chose to handle the 2 prior points what would be the shape of the API we expose from that crate?

All things considered, if we do end up extracting this to it's own crate I'd like it to be time crate agnostic, meaning it could be used with any time crate.

I'm not sure I understand what you're trying to do. In my understanding you want to avoid download and build of the entire IANA database by moving this part to it's own crate. Is that what you're trying to do?

I'm sorry if I was not precise enough, I'll try to answer your questions below.

I understand that this part can be very slow if you don't need it but currently there's no way to avoid download of the IANA database. In the current version there's already a feature which enables the IANA database (which is enabled by default).

I do not want to avoid downloading the IANA database. I actually want to extract the Rust code generation (in build.rs) from the IANA database... but in an agnostic way (no dependency to time or chrono).

The build.rs script is indeed very similar to chrono-tz, that's because I based my code on it except that I've included windows timezone name database (windows uses a less-precise database than IANA) and I've preferred to respect rust naming conventions.

Nice, if I understand well, what you did is actually an improvement for Windows user over the build.rs script from chrono-tz?

Now if we agree on what you're trying to do that could be indeed better. However, there are several points to be aware of in the current setup:
* You might need to move the `FixedTimeSpan` and `FixedTimeSpanSet` structs to that new crate because the build script is dependent over these (these are not dependent over the `time-rs` crate).

Thanks for the hint, that's actually one of the thing I was not sure. If both chrono-tz and time-tz use similar structures and traits, they sure should be both part of this new crate.
That said, aren't FixedTimeSpan and FixedTimeSpanSet part of the parse_zoneinfo? Is there a need to redefine them? Are they different from the one in time-tz?

* Do you plan on moving the windows name database as well?

Yes, sure. It seems that this is an improvement over what has been done in chrono-tz, so I intend to keep it.

* Depending on how we chose to handle the 2 prior points what would be the shape of the API we expose from that crate?

I didn't yet think about the details. From chrono-tz, I thought I would expose the enum Tz and probably associated traits like TimeSpans. But I parsed a bit time-tz and it seems relatively different... which is probably good. It's gonna be harder to figure out the common needs between both, but having very different solutions might help to extract the real business logic. If you have any suggestion, I'm happy to hear them.

All things considered, if we do end up extracting this to it's own crate I'd like it to be time crate agnostic, meaning it could be used with any time crate.

Yes, that's exactly the goal: to create a new crate, agnostic from chrono or time, and that can be used by both time-tz and chrono-tz in the end.
I hope it does answer some of your questions? Since I don't know yet all the implementation details, I might still miss things and be not precise enough, but I hope to figure out the details as I do it.

I see, I think separating IANA database generation to a different crate could indeed be better in the long term: that would avoid me having to periodically check for updates with the official IANA database.

Nice, if I understand well, what you did is actually an improvement for Windows user over the build.rs script from chrono-tz?

Indeed my build.rs includes support to convert the system timezone name which is given by WinAPI functions into an IANA timezone. Support for reading system timezone is available with the system feature of this crate and requires this windows timezone name database (actually downloaded from the unicode project).
I've thought of a possible API which could leave the FixedTimeSpan and FixedTimeSpanSet in this crate with a build script only API:

Create a struct like IanaDbReader which handles reading from the IANA files and returns all timezones in an iterator, this way both chrono-tz and time-tz could use the same iterator to generate different structures depending on their needs. Of course the iterator should provide a built-in way to access timespans (maybe use lazy loading, check my other crate bpx on a possible way to implement lazy loading without shared mut hell). Additionally, this IanaDbReader should also provide a member function to construct the tree of all IANA timezones (like the ModuleTree struct in my current build.rs). That tree would allow simple generation of a rust module tree if the crate needs it (currently both time-tz and chrono-tz needs it).
Create a struct like WindowsDbReader which handles reading from the windows timezone name database and proposes an iterator which then would be used by time-tz to generate the static map used to convert between windows timezone names and IANA names.

Such API would allow moving the tz submodule, the win_cldr_data and the update_repo.sh script to that new crate. This would also greatly simplify the build.rs script.
I also think we should create a new repository for this library.
What do you think?


Failed to legalize operation 'memref.alloca'

What happened?
error: failed to legalize operation 'memref.alloca' that was explicitly marked illegal
Running iree-compile on an internal google tflite model results in errors for the VMVX backend. This is the MLIR snippet that reproduces the error:
  func.func @main(%arg0: tensor<256xi8>, %arg1: tensor<2xi32>, %arg2: tensor<2x32xi8>, %arg3: tensor<32xi32>, %arg4: tensor<32x32xi8>, %arg5: tensor<32xi32>, %arg6: tensor<32x3360xi8>, %arg7: tensor<?x3360xi8>) -> (tensor<?x2xi8>) {
    %0 = "tosa.fully_connected"(%arg7, %arg6, %arg5) {quantization_info = #tosa.conv_quant<input_zp = -128, weight_zp = 0>} : (tensor<?x3360xi8>, tensor<32x3360xi8>, tensor<32xi32>) -> tensor<?x32xi32>
    %1 = "tosa.rescale"(%0) {double_round = true, input_zp = 0 : i32, multiplier = [1101627623 : i32], output_zp = -128 : i32, per_channel = false, scale32 = true, shift = [36 : i32]} : (tensor<?x32xi32>) -> tensor<?x32xi8>
    %2 = "tosa.clamp"(%1) {max_fp = 0.000000e+00 : f32, max_int = 127 : i64, min_fp = 0.000000e+00 : f32, min_int = -128 : i64} : (tensor<?x32xi8>) -> tensor<?x32xi8>
    %3 = "tosa.fully_connected"(%2, %arg4, %arg3) {quantization_info = #tosa.conv_quant<input_zp = -128, weight_zp = 0>} : (tensor<?x32xi8>, tensor<32x32xi8>, tensor<32xi32>) -> tensor<?x32xi32>
    %4 = "tosa.rescale"(%3) {double_round = true, input_zp = 0 : i32, multiplier = [1255393165 : i32], output_zp = -128 : i32, per_channel = false, scale32 = true, shift = [35 : i32]} : (tensor<?x32xi32>) -> tensor<?x32xi8>
    %5 = "tosa.clamp"(%4) {max_fp = 0.000000e+00 : f32, max_int = 127 : i64, min_fp = 0.000000e+00 : f32, min_int = -128 : i64} : (tensor<?x32xi8>) -> tensor<?x32xi8>
    %6 = "tosa.fully_connected"(%5, %arg2, %arg1) {quantization_info = #tosa.conv_quant<input_zp = -128, weight_zp = 0>} : (tensor<?x32xi8>, tensor<2x32xi8>, tensor<2xi32>) -> tensor<?x2xi32>
    %7 = "tosa.rescale"(%6) {double_round = true, input_zp = 0 : i32, multiplier = [1879992488 : i32], output_zp = 44 : i32, per_channel = false, scale32 = true, shift = [39 : i32]} : (tensor<?x2xi32>) -> tensor<?x2xi8>
    %8 = "tosa.table"(%7, %arg0) : (tensor<?x2xi8>, tensor<256xi8>) -> tensor<?x2xi8>
    return %8 : tensor<?x2xi8>
  }

Full error output:
https://gist.github.com/not-jenni/8d49048a65200dfa2a5ba19ae128a2ec
Steps to reproduce your issue

Download the mlir snippet
Run ./iree-compile  -iree-input-type=tosa -iree-hal-target-backends=vmvx sample.mlir

What component(s) does this issue relate to?
Compiler
Version information
https://github.com/iree-org/iree/commit/108c64a2bbdb3907969421f906c1c4437db6a356
Additional context
This model failure was pointed out by @lundong

@ScottTodd Are you available to please help triage this when you get a chance?  Thank you!

I haven't been tracking the status of vmvx and/or memref closely enough to help much with this, sorry. Does that program compile correctly for any other backends?

This is because
1.) it is dynamic case
2.) this is a quantized model.
The op is not vectorized because there are dynamic dims. If they are not vectorized, we'll need bufferization to reuse dest buffer for all of the operations. However, we can not update the result of matmul in-place because of (2). I.e., the element types mismatch. In this context, we allocate a stack buffer, which is not allowed in VMVX backend.
There are couple ways to fix it.
a.) Tile dynamic dims with size 1, so we can always vectorize it.
b.) Move the dispatch to peeling or padding approach.
(a) is a simple workaround, (b) needs more work and we probably don't have cycles.
IR from log:
func.func @main_dispatch_2_generic_Dx32() {
  %c0_i32 = arith.constant 0 : i32
  %c-128_i32 = arith.constant -128 : i32
  %c1101627623_i32 = arith.constant<PHONE_NUMBER> : i32
  %c36_i8 = arith.constant 36 : i8
  %c127_i32 = arith.constant 127 : i32
  %c-128_i8 = arith.constant -128 : i8
  %c127_i8 = arith.constant 127 : i8
  %c108800 = arith.constant 108800 : index
  %c107520 = arith.constant 107520 : index
  %c0 = arith.constant 0 : index
  %0 = hal.interface.constant.load[0] : i32
  %1 = arith.index_castui %0 : i32 to index
  %2 = hal.interface.binding.subspan set(0) binding(1) type(storage_buffer) offset(%c0) alignment(64) : !flow.dispatch.tensor<readonly:tensor<3360x32xi8>>
  %3 = hal.interface.binding.subspan set(0) binding(2) type(storage_buffer) offset(%c0) alignment(64) : !flow.dispatch.tensor<readonly:tensor<32xi32>>
  %4 = hal.interface.binding.subspan set(0) binding(1) type(storage_buffer) offset(%c107520) alignment(64) : !flow.dispatch.tensor<readonly:tensor<32xi32>>
  %5 = hal.interface.binding.subspan set(0) binding(0) type(storage_buffer) offset(%c0) alignment(64) : !flow.dispatch.tensor<readonly:tensor<?x3360xi8>>{%1}
  %6 = hal.interface.binding.subspan set(0) binding(3) type(storage_buffer) offset(%c108800) alignment(64) : !flow.dispatch.tensor<writeonly:tensor<?x32xi8>>{%1}
  %7 = flow.dispatch.tensor.load %5, offsets = [0, 0], sizes = [%1, 3360], strides = [1, 1] : !flow.dispatch.tensor<readonly:tensor<?x3360xi8>>{%1} -> tensor<?x3360xi8>
  %8 = flow.dispatch.tensor.load %2, offsets = [0, 0], sizes = [3360, 32], strides = [1, 1] : !flow.dispatch.tensor<readonly:tensor<3360x32xi8>> -> tensor<3360x32xi8>
  %9 = flow.dispatch.tensor.load %3, offsets = [0], sizes = [32], strides = [1] : !flow.dispatch.tensor<readonly:tensor<32xi32>> -> tensor<32xi32>
  %10 = flow.dispatch.tensor.load %4, offsets = [0], sizes = [32], strides = [1] : !flow.dispatch.tensor<readonly:tensor<32xi32>> -> tensor<32xi32>
  %11 = tensor.empty(%1) : tensor<?x32xi8>
  %12 = tensor.empty(%1) : tensor<?x32xi32>
  %13 = linalg.fill ins(%c0_i32 : i32) outs(%12 : tensor<?x32xi32>) -> tensor<?x32xi32>
  %14 = linalg.matmul ins(%7, %8 : tensor<?x3360xi8>, tensor<3360x32xi8>) outs(%13 : tensor<?x32xi32>) -> tensor<?x32xi32>
  %15 = linalg.generic {indexing_maps = [affine_map<(d0, d1) -> (d1)>, affine_map<(d0, d1) -> (d0, d1)>, affine_map<(d0, d1) -> (d1)>, affine_map<(d0, d1) -> (d0, d1)>], iterator_types = ["parallel", "parallel"]} ins(%9, %14, %10 : tensor<32xi32>, tensor<?x32xi32>, tensor<32xi32>) outs(%11 : tensor<?x32xi8>) {
  ^bb0(%in: i32, %in_0: i32, %in_1: i32, %out: i8):
    %16 = arith.muli %in_1, %c-128_i32 : i32
    %17 = arith.subi %in_0, %16 : i32
    %18 = arith.addi %in, %17 : i32
    %19 = "tosa.apply_scale"(%18, %c1101627623_i32, %c36_i8) {double_round = true} : (i32, i32, i8) -> i32
    %20 = arith.addi %19, %c-128_i32 : i32
    %21 = arith.cmpi slt, %20, %c-128_i32 : i32
    %22 = arith.select %21, %c-128_i32, %20 : i32
    %23 = arith.cmpi sgt, %20, %c127_i32 : i32
    %24 = arith.select %23, %c127_i32, %22 : i32
    %25 = arith.trunci %24 : i32 to i8
    %26 = arith.cmpi slt, %25, %c-128_i8 : i8
    %27 = arith.select %26, %c-128_i8, %25 : i8
    %28 = arith.cmpi sgt, %25, %c127_i8 : i8
    %29 = arith.select %28, %c127_i8, %27 : i8
    linalg.yield %29 : i8
  } -> tensor<?x32xi8>
  flow.dispatch.tensor.store %15, %6, offsets = [0, 0], sizes = [%1, 32], strides = [1, 1] : tensor<?x32xi8> -> !flow.dispatch.tensor<writeonly:tensor<?x32xi8>>{%1}
  return
}

@hanhanW Thanks very much for the fix and it does work. I just found another scenario (in which microkernel is enabled) that also results in the error "Failed to legalize operation 'memref.alloca". Could you please take a look at it? Thanks.
Steps to reproduce your issue:

Download model.mlir from another issue: https://github.com/iree-org/iree/issues/10855
Run path/to/iree-compile -iree-input-type=tosa -iree-hal-target-backends=vmvx -iree-vmvx-enable-microkernels path/to/model.mlir
See error
failed to legalize operation 'memref.alloca' that was explicitly marked illegal ...

@not-jenni  I can confirm this issue has been fixed by https://github.com/iree-org/iree/pull/12099. So this issue can be closed.


README.md files redirect to workshop directories

What's the deal with #21? Does this replace it? Does that replace this? Assigning back to you while we figure this out.

This isn't necessary after https://github.com/hackclub/hackclub/pull/911


target: family: psoc6: remove unnecessary sleep during reset.

self.reset() have a 0.5 second sleep when using hw reset and other reset types should not require any additional sleep.
by removing this sleep it is possible to aquire targets where the application disable the swd port.

Ah, that's where that sleep was!


Update modules removed in Python 3.13

Handle modules that have been removed in Python 3.13.
Ref: https://docs.python.org/3.13/whatsnew/3.13.html

Python 3.13a1 has been released. I'd be happy to have it available for testing. Thanks! :)


BUILD-275: add support for build csi volume source

https://issues.redhat.com/browse/BUILD-275

/test e2e-gcp-builds

/test 2e-aws-upgrade

proxy failure is unrelated to these changes
if I read tide correctly, the OCM repo does not appear to be a no feature freeze repo @jkhelil so you'll need to open a bz and associated it with this PR to get this in, unless @adambkaplan thinks he can change that
otherwise, I'll
/lgtm
and
/assign @adambkaplan
for the approve label

/hold
This PR needs https://github.com/openshift/openshift-apiserver/pull/264 to land first.

/retitle Bug 2037075: Add Support for Build CSI Volume Sources

/assign @adambkaplan
/cc @gabemontero
Can you approve please ?

/refresh

/close

/reopen

/lgtm
Still keeping the hold until the openshift-apiserver merges.

apiserver PR merged
/hold cancel


⚠ Bofrost.fr has degraded performance

In ea48086, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 977 ms

Resolved: Bofrost.fr performance has improved in 24b6291 after 9 minutes.


/V1/END-SUBSCRIPTION should remove the Operation -client under the LINKCHANGENOTIFICATION fc Port

Issue Description : /V1/END-SUBSCRIPTION should remove the Operation -client under the LINKCHANGENOTIFICATION fc Port

this Issue is duplicated : existing issue is https://github.com/openBackhaul/ApplicationPattern/issues/814


Elastalert source IP subnet range + destination IP range , any way to achieve this alert?

Creating Any rules to match if the IP range are NOT going to the specific destination IP range it will FIRE alert to email.

#Version : 1.0
name:  Any rule
type: any
index: graylog*
attach_related : TRUE
filter:

query:
query_string:
query:  source-ip: "<IP_ADDRESS>/22" AND NOT (destination-ip: "<IP_ADDRESS>" OR "<IP_ADDRESS>" OR "<IP_ADDRESS>") AND NOT destination-port: "123"

alert:

"email"
email:
<EMAIL_ADDRESS>

This project is dead. Don't expect support. If you really want to use it, it's a good idea to run the rule using --es_debug_trace to see what kind of query was submitted to elasticsearch. See yelp / elastalert issues below for usage.
https://github.com/Yelp/elastalert/issues/2701

https://github.com/Yelp/elastalert/issues/3178


FB Bots cant connect

i tested this with normal and with fb bots when i use fb bots they cant connect to the server but with normal bots they can i dont know why someone help me?

@KyraCloud Hey, First make sure that your cookies are working. You can see that when the bat file starts up. If it say failed to get toke it means the cookies are bad. If your cookies are working, its probably the dead proxies. So make sure that you are using latest working proxies. Get proxies from sites like http://proxybag.blogspot.com/ or http://www.vipsocks24.net/ . I use both of them and they have very good proxies . regularly update your proxies to get a good number of bots.

@nfsboy101 Thanks the cookies are working ill try to check for new proxies, also is it normal to not have tokens in the fb manager?

@nfsboy101 oh also where do i get more cookies or do i jusr create accounts like crazy.

@KyraCloud u cant create that Many acc its gonna ask for a phone nummer

@Nick8fr32 i have over 40 phone numbers.

Yea i know u Can use some sites to get that to but Maybe Someone already used all of them

@Nick8fr32 lol thats not what i mean theirs a web site where you can create email just by entering a name and then i use those email to create a phone number using and app

Can u help me with that?

@Nick8fr32 sure first let me find the email creating  site :)

@Nick8fr32 you have skype?

no but i have discord

@Nick8fr32 whats ur name

@Nick8fr32 When i create accounts, i use fake phone number :D

U need to confirm ur number so how

on gmail it dont require that i think


Smaller model for wav2vec2

Is there any plan to release a smaller model？The base one is also too large.

There is no easy way to reduce the size of the model. If you leave out information, your results won't be as good. You could reduce the final_dim: 256 in pretraining. This will lead to a smaller model. Or try searching for pruning in a bit, usually someone will find a way :-)


How can I append multiple files to the same variable?

I need to feed attach[] form variable for this API https://support.deskpro.com/api/api.html#!/tickets/newTicketAction_post_4.
        for (var attachment=0; attachment<attachments.length; attachment++) {           form.append("attach",new Buffer(attachments[attachment],'base64'), {contentType: 'image/png', filename: 'image' + attachment.toString() + '.png'});         }
But then only the last image is added.
Where I am going wrong?
Thanks.

Its actually working as it should, the API side is not processing multiple attachments.

Could you please clarify? I'm needing this feature as well. Were you able to get it to work or are you saying that the form-data api does not support adding multiple files to a single variable? If not I believe it should seeing as how that's possible using multi-part form data.


UnixPB: remove sudo from GIT_SOURCE role

Noticed whilst fixing the playbooks for SLES15 SP1, that the GIT_SOURCE role has tasks that use sudo. The SLES15 SP1 environment I was running didn't have sudo installed, and so the ./configure and make task failed. However, sudo isn't required to be used as become: yes is used.
VagrantPlaybookCheck Run: https://ci.adoptopenjdk.net/job/VagrantPlaybookCheck/365/

ref https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues/1141#issuecomment-587387607


narrator selector possible for Yandex too

Now Wiki says that selecting of narrator is for Bing only - but Yandex support few narrators through api too.

Thanks for suggesting. This is implemented now.
https://github.com/soimort/translate-shell/wiki/Narrator-Selection#yandex


Refactoring all errors in errors.go and [renamed] gocbcore/errors.go

Need to revisit variable names, and error text.
The purpose of these changes are so that one could do this:
if cas, err := bucket.Upsert(key, value, 0); err != nil {
    if err == gocbcore.ErrTmpFail || err == gocbcore.ErrQueueOverflow {
        // try again later
    } else {
        // handle other errors
    }
}

The way current master code is implemented prevents me from doing that.

Hey Igor,
I cannot find the post that spoke about this at the moment, but the way we have the errors set up is actually intentionally designed to allow the backing structures of those errors to change around without incurring a development penalty.
Checking for specific errors is not intended to be done, instead you can look for more generic attributes, for instance:
func isAuthError(err error) bool {
	te, ok := err.(interface { AuthError() bool })
	return ok && te.AuthError()
}

Cheers, Brett

Oh I see.  I didn't see that in the documentation.  Although I did see similar code in how net/http does errors.  Let me try that with my code, and see if that works out.  Although admittedly, err == gocbcore.ErrQueueOverflow is easier on the eyes`. :)

Oh, and AuthError isn't exported, so I can't use it in third-party code.

Hey Igor,
Thats the whole point of this error methodology.  You don't need anything except for the core error type to be able to deal with these kinds of errors!
If you look at the code above again, you will see that the AuthError that you are seeing is actually a function in an interface that we are casting to, not an type.  You can use that IsAuthClient code from anywhere! :)
Cheers, Brett

Right, sorry, I do see that it's exported.  I'll need to go pound at the keyboard some more. :)  Thanks for your attention, I'll keep you posted.

Sounds good.  I'll leave this PR open for now for the discussion to continue, please close it if you resolve your issue and are happy!
Cheers, Brett

OK, so looks like this prama is working, but I do need more methods. :)  I am getting gocbcore.overloadError{} error, and I'm not sure how to test if that's what I'm getting.  Any ideas?

Adding this to gocbcore/error.go helps:
func (e generalError) GeneralError() bool {
       return true
}
func (e overloadError) OverloadError() bool {
       return true
}
func (e agentError) AgentError() bool {
       return true
}

Also, some of the codes covered in memdError() aren't covered by a method: StatusNotStored, StatusTooBig, and a few others.

Hey Igor!
There are indeed some gaps in the exposed methods!  Please let me know if you find any others!
I've created a ticket mentioning this ticket to resolve the gaps that I'm aware of here: https://issues.couchbase.com/browse/GOCBC-26.
Cheers, Brett

I commended on the Jira you mentioned.
Some errors are missing interfaces that would allow one to do something like this:
func isAuthError(err error) bool {
    te, ok := err.(interface { AuthError() bool })
    return ok && te.AuthError()
}

The errors that are missing interfaces are:
gocb:
clientError
gocbcore:
generalError
overloadError
agentError

Additionally, in gocbcore, some status codes in memdError aren't available via interface.  These status codes are:
StatusTooBig
StatusNotStored
StatusBadDelta
StatusNotMyVBucket
StatusAuthContinue
StatusUnknownCommand
*unknown error code as default clause in memdError.Error() function

Feel free to close this pull request, and I'm going to drop my branch.

I'm lost, because of the error do you do... error.AuthError() ? I can't see how you either pass it in or.. reference it.
They also don't show up on godoc with this pattern

Brett told you exactly how to do it:
func isAuthError(err error) bool {
    te, ok := err.(interface { AuthError() bool })
    return ok && te.AuthError()
}

The above asserts the provided err to an interface that implements AuthError() function, which returns a bool.  If that assertion was successful, and if the result of call to AuthError() was true, then it's an authentication error.  The beauty and weirdness of Go interface, in action.
and
bucket, err := cluster.OpenBucket(config.Bucket, config.Password)
if err != nil {
    if isAuthError(err) {
         // handle authentication error
    }
}

So.. we have to copy this out? It's not exported? I'm kinda lost lol feels weird... I like the ErrAuth

Yeah, you have to implement it in your code.  I'm writing a wrapper around gocb, just like I did for perl-Couchbase - too much work is left as an excersise to the reader.

Feels to me like its just trying to be too clever.  Why doesn't the library just define these as actual interfaces so the caller can check them in one line like:
if _, ok := err.(AuthError); ok {
	// dead with auth error
}

Is there some other source using/advocating this pattern?

That would be nice, that's all I got to say.  Feels like error handling hasn't been worked out just yet.  Lack of godoc points to the same fact.

Hey guys,
The reason for the particular method of handling errors right now is it allows a lot of flexibility in terms of passing errors from the internal gocbcore library straight through without any additional marshalling.  It is also beneficial to external libraries wrapping gocb for the same reasons.
P.S. I'm still very open to changing how the error handling works, we are still in pre-beta development on the library, so please suggest alternatives and hopefully we can have a productive discussion and land someplace awesome.
Cheers, Brett

Well, whatever solution, I just hope it's a complete one.  Right now I can't even test for overloadError, in heavily multi-threaded (multi-goroutined?) environment.


Allow specifying custom FilterExpression

when doing QUERY or SCAN operations

Addressed with https://github.com/scale-tone/linq2dynamodb/commit/4d2270d902f3ea11b33ab17063c69bc710d15223.
WithFilterExpression() method added.


support empty address protection

Stop empty address notification from taking effect on consumer side.
application.yml
dubbo:
   registry:
     enable-empty-protection: true/false

dubbo.properties
dubbo.registry.enable-empty-protection: true/false

Related https://github.com/apache/dubbo/pull/9112

Codecov Report

Merging #9408 (e18ebc4) into 3.0.5-release (afa506f) will decrease coverage by 0.23%.
The diff coverage is 61.90%.

@@                 Coverage Diff                 @@
##             3.0.5-release    #9408      +/-   ##
===================================================
- Coverage            65.29%   65.05%   -0.24%
- Complexity             342      343       +1
===================================================
  Files                 1202     1202
  Lines                51879    51893      +14
  Branches              7729     7733       +4
===================================================
- Hits                 33873    33759     -114
- Misses               14391    14517     +126
- Partials              3615     3617       +2

Impacted Files
Coverage Δ

...org/apache/dubbo/registry/nacos/NacosRegistry.java
51.85% <0.00%> (-0.20%)
:arrow_down:

...vent/listener/ServiceInstancesChangedListener.java
78.13% <16.66%> (-5.68%)
:arrow_down:

...he/dubbo/common/config/CompositeConfiguration.java
67.85% <40.00%> (ø)

...ava/org/apache/dubbo/config/ApplicationConfig.java
82.82% <50.00%> (-2.46%)
:arrow_down:

...n/java/org/apache/dubbo/config/RegistryConfig.java
84.96% <50.00%> (ø)

...stry/client/ServiceDiscoveryRegistryDirectory.java
46.03% <50.00%> (-1.23%)
:arrow_down:

...apache/dubbo/common/config/ConfigurationCache.java
100.00% <100.00%> (ø)

...apache/dubbo/common/config/ConfigurationUtils.java
78.90% <100.00%> (+3.50%)
:arrow_up:

...che/dubbo/common/config/InmemoryConfiguration.java
100.00% <100.00%> (+5.26%)
:arrow_up:

.../dubbo/registry/integration/RegistryDirectory.java
49.63% <100.00%> (-0.55%)
:arrow_down:

... and 41 more

Continue to review full report at Codecov.

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

#1508


Default background colour isn't correct

It uses the default panel colour, when it should be the text area colour

Fixed in b8c73cf64b0a4fcf7abef31669271d1893a342df


Add pulumi import sections to kubernetes resources

File: themes/default/content/registry/packages/kubernetes/api-docs/rbac/v1beta1/clusterrole/_index.md
It would be nice if there was import syntax for all resources including kubernetes resources. For example like on the aws ec2 instance page here https://www.pulumi.com/registry/packages/aws/api-docs/ec2/instance/#import

@orcutt989 thx for opening an issue!


Bot: New user experience feedback

Based on user testing, it's confusing how to start

There's no welcome message
Also no getting started link
.help command is a bit daunting, contains crypto-native jargon

Need recipes / examples on how or what to use it

More explanation needed when admins invite the bot into the server for baseline understanding and for how to use it. Here are some ideas:

When bot is invited into the server, create a private channel with getting started (collab.land does this)
Replace .help with .man (short for manual) for the command list
.help contain overview explanation, getting started guide, links to examples and use-cases, and FAQ

I'll be working on these issues in the Webaverse docs first which can be repurposed into other places later.

Agreed with separating the lists - maybe the .help [topic] list could be seperated from the full command list - it's currently at the bottom of the list.
Currently .help [topic] gives commands for that topic which are already in the list - doesn't really help
Maybe it could give out a brief help / understanding for topic instead. Not sure.

Help is really well organized, can skim it
Wants to mint with URL
"Do I type the question mark as well?"
tried minting with brackets (.mint[10])

do I need to put a space in between?

"Can I send this to any wallet? or just webaverse sidechain wallets?"
"Can I transfer this to other chains?"

"I assume I have to pay a gas fee"

Only looks like has 1 NFT, not 10 which was minted.

Huge shoutout to in-game view mode
Wants WebXR ability to view NFTs
"This is awesome work!"

"Making it super accessible to get people involved"

Transferring

"Okay I see @user, address.."
"Can I do @jin or do I have to type full username?"

Unlockables

"How do you add unlockables, is that in instructions?"

Pack?
AddFT?

.gets/.sets -h in DMs doesn't give any feedback

"What's .play, it take me into Webaverse?"
"Am I the only person in Webaverse, or is it a separate instance?"
Would be cool to drop a portal in Discord

Dumping my notes here, might useful
User testing feedback
The .help is daunting, language is crypto-native
For inspiration: Collab.Land creates a private channel + message about getting started
Need voting feature for top.gg
More explanation, like text between topic and commands for .help [topic]
Tokens (how to mint tokens)
Bot command for cheat sheet (use-cases)

how to mint tickets

.update to add comments is broken
30 is the limit for # of editions to be minted at once
error message is confusing, says already minted for 40-100 editions
Minting images of tickets doesn't go far enough
Ticket needs to contain event information (secret message)
Not obvious how to do that, or how to distribute tickets (.store / per person)
Idea: Separate .help with .man
.help gives overview explanation + links to examples / getting started guides / case studies / FAQ
Want to understand how to use the bot, baseline things, before inviting it or when its in the server.
If I'm creator and I hold SILK, people who come to event are also non-crypto native, maximum they can do is ETH/BTC...
Scenario:

On website say we're holding event at this place, people click to buy tickets, check how much, description, instructions, then pay (whatever currency).
Confirm on website, with bot create tickets for people who pay (got their ETH address), sitting with 30 ETH address + SILK?
How to send tickets to each address in bulk?

Instead of ETH address, maybe users enter Discord IDs at checkout?
Really need to dog food this by hosting an event and using the Dicord bot for it
Could create a test event with partner server (MF)
Join discord server, get sent NFT to discord ID if whitelisted?
Could use .redeem command to automatically obtain roles
Discord server > add bot > mint tickets
about as far as gotten
people join discord server, how do users get tickets?
would have to do it 1 by 1, which is actually cool in a way like a teller
Some places in .help say id and others say NFT id
Can't transfer multiple different NFTs at once
How to add roles to unlock for .redeem?
Look at collab.land for tiers
Question asked:
What if someone doesn't want to go to the event?
Person wants to put ticket on Opensea, charge more
How to to transfer ticket to wallet for Opensea?
How to value align people without buying ticket with crypto?
Idea: .airdrop @role


Auto-importing for some items doesn't work

In the latest release I'm having trouble with many things not auto-importing.

It appears type synonyms are always importing with DCtor filter, which they aren't and so always fail.
It appears terms like _DbQuery (which is a value declaration of a prism) parse as a Type filter, so it always fails.

The log is very noisy and appears to be logging the entire file contents, instead of just what it's trying to import.

Downgrading to the previous release fixes these issues.

Same here: https://github.com/nwolverson/purescript-language-server/issues/97

I suspected this was doomed to failure. I did test with various things like type synonyms but obviously not great coverage.
Previously we were importing all unfiltered, leading to random results between a type and its data constructor, but the relevant information I think we have is the type/kind of the identifier (and of course its name).
I suspect the identifier namespace should just be added to the IDE server response but I wonder if someone more intelligent can come up with a proper heuristic before then - shame to wait for a compiler release.
(The logging is unfortunate, pardon me - I typod the document text for the import identifier in the log... - going to push a quick release that turns off this filtering and stomps that log)

For clarity this should currently be resolved, by disabling the problematic change - I'll have another run at it another time


Fixes #171: Packit supports copying directories

Signed-off-by: Petr "Stone" Hracek<EMAIL_ADDRESS>PR adds support for copying directories by packit.
Functions propose-update and sync-from-downstream are affected for now.
What is covered:

[x] propose-update is able to copy directories
[x] sync-from-downstream is able to copy directories
[x] tests for copying directories are covered.
[x] configuration document with the new .packit.yaml format is updated

Tests are PASSING but script on CI side failed.
10:35:24  TOTAL                                                                               3342   1503    55%
10:35:24
10:35:24
10:35:24  ==================== 126 passed, 4 skipped in 19.94 seconds ====================
10:35:24  ___________________________________ summary ____________________________________
10:35:24    py36: commands succeeded
10:35:24    congratulations :)
[Pipeline] }
[Pipeline] // timestamps
[Pipeline] }
[Pipeline] // ansiColor
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // parallel
[Pipeline] stage
[Pipeline] { (Cleanup)
[Pipeline] sh
+ cico node done d9cbb56d
+---------+------------+-------------+---------+------------+---------------+----------+--------+------+----------------+--------------+-----------+--------------+--------+
| host_id | hostname   | ip_address  | chassis | used_count | current_state | comment  | distro | rel  | centos_version | architecture | node_pool | console_port | flavor |
+---------+------------+-------------+---------+------------+---------------+----------+--------+------+----------------+--------------+-----------+--------------+--------+
|     165 | n38.crusty | <IP_ADDRESS> | crusty  |       3431 | Deployed      | d9cbb56d | None   | None | 7              | x86_64       |         1 |         2370 | None   |
+---------+------------+-------------+---------+------------+---------------+----------+--------+------+----------------+--------------+-----------+--------------+--------+
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Setting status of 254f3d8d40641a6a0daf90d8b0560afedb8f8ef2 to FAILURE with url https://ci.centos.org/job/packit-pr/341/ and message: 'Build finished. '
ERROR: script returned exit code 1
Finished: FAILURE

Tests are PASSING but script on CI side failed.

10:32:58  hookid: flake8
10:32:58  packit/distgit.py:313:5: E303 too many blank lines (2)
10:33:01  black....................................................................Failed
10:33:01  hookid: black
10:33:01  Files were modified by this hook. Additional output:
10:33:01  reformatted /root/packit/distgit.py
Failed in branch Linters


JAVA_HOME should be discriminating

I guess yes, at least for the sake of documenting it.
I see that in DaemonCompatibilitySpec, it has a special position among the other discriminating options. But still, it is de facto discriminating, so we should put the discriminating flag on it. WDYT @gnodet ?

I have added a commit to https://github.com/apache/maven-mvnd/pull/851 - so @gnodet please veto that one if needed.

I have added a commit to #851 - so @gnodet please veto that one if needed.

I think it should be documented as discriminated, but it is handled specifically in a bunch of cases (as shown by the failings ITs), I think it may better to add some javadoc that will end-up in the help, wdyt ?

it may better to add some javadoc that will end-up in the help
Good idea. Let me do it.


test: full integration test with testnet gateway

Task from https://github.com/graphops/indexer-service-rs/issues/7
Integrate with the rest of indexer components and serve for testnet gateway that has simulated query traffic

In progress with the additional help of InfraDAO


Update web-api-help-pages-using-swagger.md

Fix invalid author warning

Didn't see this when I put in https://github.com/aspnet/AspNetCore.Docs/pull/16067 ... and the updated id is RicoSuter.


kompose convert should validate dockerfilepath

Would it be possible for dockerfilepath to be validated with kompose convert on OpenShift? Suppose an absolute path is provided instead of relative path, it gets detected only with oc create.
docker-compose file here:
version: "2"

services:
 foo:
  build:
   context: "../../script/test_in_openshift/buildconfig"
   dockerfile: "/Dockerfile"
  command: "sleep 120"

...
$ kompose version
0.6.0 (ebd9dcf)

$ kompose --provider=openshift -f examples/buildconfig/docker-compose.yml convert -o /tmp/bc2
INFO Buildconfig using https://github.com/kubernetes-incubator/kompose.git::master as source.

$ oc create -f /tmp/bc2
Error from server: BuildConfig "foo" is invalid: spec.strategy.dockerStrategy.dockerfilePath: Invalid value: "/Dockerfile": dockerfilePath must be a relative path within your source location

@ashetty1 yes this should be done, thanks for reporting!

@surajssd @ashetty1 , I will take this up


Character aliasing

Remaining:

[x] Write tests
[x] Add alias to API endpoint join
[x] Include in Firefox refresh hack
[x] Add a way to create, update and delete aliases
[x] Rename stash and rebase it up
[x] Default to most recent?
[x] Display in profile somewhere
[x] Replace template_name with this intelligently? Follow up later, this will be more work

Fixes issue #49

It was not doing the thing at least locally for me until I used '' instead
of nil. Might be a browser thing? Meh, whatev, it's present now.
On Sun, Feb 19, 2017 at 9:02 PM, Edward Jones<EMAIL_ADDRESS>wrote:

@Throne3d commented on this pull request.
In app/views/posts/_editor.haml
https://github.com/Marri/glowfic/pull/106#discussion_r101938079:

@@ -14,13 +14,18 @@
- elsif current_user.avatar
= select_tag :icon_dropdown, options_for_select([[current_user.avatar.keyword, current_user.avatar.id]], current_user.avatar.id), prompt: "No Icon"
.post-info-text

 .post-character{class: ('hidden' unless item.character), data: {character_id: item.character_id}}= item.character.try(:name)

 .post-character{class: ('hidden' unless item.character), data: {character_id: item.character_id || '', alias_id: item.character_alias_id || ''}}

Pretty sure nil in the data gets made into a blank string – I at least
didn't have trouble at any point that I tested it with the previous setup –
but I'm not 100% sure.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Marri/glowfic/pull/106#discussion_r101938079, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAs60li9YGdFaGGdDSyAT9lJ6zdUuPeTks5rePQggaJpZM4L99pk
.


image_classification.ipynb cell hangs

In image-classification/image_classification.ipynb
Cell 27 train_results = trainer.train() ... appears to hang at
Graph compilation:   0%|          | 0/100 [00:00<?]

Rest of notebook blocked.

This could be intermittent; will confirm if time.

I think this is a manifestation of an intermittent system issue we're investigating.


Match page

Pull Request Test Coverage Report for Build 68

151 of 151 (100.0%)  changed or added relevant lines in 12 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 65:
0.0%

Covered Lines:
789

Relevant Lines:
789

💛  - Coveralls