[Bug] [RayServices] HTTPProxyActor restarting while upscaling on AKS

Search before asking

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

KubeRay Component
ray-operator
What happened + What you expected to happen
I'm trying to deploy a translator_app on Ray Serve found on the Ray Serve Get Started page on AKS with an autoscaling configuration. To test the autoscaling, I am using kubectl port-forward for the dashboard and service.
kubectl port-forward --address <IP_ADDRESS> service/${RAYCLUSTER_NAME}-head-svc 8265:8265
kubectl port-forward service/translator-auto-serve-svc 8000
When I run my multithreaded test queries on localhost:8000, the autoscaling seems to work as more replicas of the Translator deployment are created. However, I sometimes get the following error in the terminal used to port-forward the service (8000):
E0706 18:17:21.029061  517628 portforward.go:409] an error occurred forwarding 8000 -> 8000: error forwarding port 8000 to pod 9e5b24a9ac50d16d3f56d6807544332db4f023e1399dda763e04abb74f05bd59, uid : failed to execute portforward in network namespace "/var/run/netns/cni-7669e81f-b24a-4f08-3b26-412f2e54fbff": failed to connect to localhost:8000 inside namespace "9e5b24a9ac50d16d3f56d6807544332db4f023e1399dda763e04abb74f05bd59", IPv4: dial tcp4 <IP_ADDRESS>:8000: connect: connection refused IPv6 dial tcp6: address localhost: no suitable address found
As well as the following errors in the terminal used for running my querries:
('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
HTTPConnectionPool(host='<IP_ADDRESS>', port=8000): Max retries exceeded with url: / (Caused by NewConnectionError ('<urllib3.connection.HTTPConnection object at 0x7fba001fdba0>: Failed to establish a new connection: [Errno 111] Connection refused'))
When monitoring my dashboard, it seems like the HTTPProxyActors restart multiple times when the Translator deployment is upscaling. I'm noticing that when the pods are newly created, there are no errors when running my queries. When I wait for the replicas to downscale, and re-run my queries, the problem emerges as the replicas scale up. The HTTPProxyActors restart up to 200+ times, then the head and worker pods terminate and are replaced by new ones. With the new pods, everything works fine until the deployment downscales back - then the cycle repeats when upscaling.
Reproduction script
My Kuberay YAML config file is the following:
# File name: model_auto_config3.yaml
# This configuration file is used to deploy a Hugging Face model on a Ray cluster on AKS with autoscaling.

apiVersion: ray.io/v1alpha1
kind: RayService
metadata:
  name: translator-auto
spec:
  serviceUnhealthySecondThreshold: 300 # Config for the health check threshold for service. Default value is 60.
  deploymentUnhealthySecondThreshold: 300 # Config for the health check threshold for deployments. Default value is 6
  serveConfig:
    importPath: autoscale1.translator_app
    runtimeEnv: |
      {"working_dir": "https://github.com/Rowena2001/Final_Deployments/archive/refs/tags/1.2.zip",
      "pip": ["ray[default]", "torch==1.13.1", "transformers==4.30.2", "accelerate==0.20.3"]}
    deployments:
      - name: Translator
        rayActorOptions:
          numCpus: 0.5
  rayClusterConfig:
    # The version of Ray you are using. Make sure all Ray containers are running this version of Ray.
    rayVersion: '2.5.0'
    # If enableInTreeAutoscaling is true, the autoscaler sidecar will be added to the Ray head pod.
    # Ray autoscaler integration is supported only for Ray versions >= 1.11.0
    # Ray autoscaler integration is Beta with KubeRay >= 0.3.0 and Ray >= 2.0.0.
    enableInTreeAutoscaling: true
    # autoscalerOptions is an OPTIONAL field specifying configuration overrides for the Ray autoscaler.
    # The example configuration shown below below represents the DEFAULT values.
    # (You may delete autoscalerOptions if the defaults are suitable.)
    autoscalerOptions:
      # upscalingMode is "Default" or "Aggressive."
      # Conservative: Upscaling is rate-limited; the number of pending worker pods is at most the size of the Ray cluster.
      # Default: Upscaling is not rate-limited.
      # Aggressive: An alias for Default; upscaling is not rate-limited.
      upscalingMode: Default
      # idleTimeoutSeconds is the number of seconds to wait before scaling down a worker pod which is not using Ray resources.
      idleTimeoutSeconds: 60
      # image optionally overrides the autoscaler's container image.
      # If instance.spec.rayVersion is at least "2.0.0", the autoscaler will default to the same image as
      # the ray container. For older Ray versions, the autoscaler will default to using the Ray 2.0.0 image.
      ## image: "my-repo/my-custom-autoscaler-image:tag"
      # imagePullPolicy optionally overrides the autoscaler container's default image pull policy (IfNotPresent).
      imagePullPolicy: IfNotPresent
      # Optionally specify the autoscaler container's securityContext.
      securityContext: {}
      env: []
      envFrom: []
      # resources specifies optional resource request and limit overrides for the autoscaler container.
      # The default autoscaler resource limits and requests should be sufficient for production use-cases.
      # However, for large Ray clusters, we recommend monitoring container resource usage to determine if overriding the defaults is required.
      resources:
        limits:
          cpu: "900m"
          memory: "1000Mi"
        requests:
          cpu: "900m"
          memory: "1000Mi"
    # Ray head pod template
    headGroupSpec:
      serviceType: ClusterIP # optional
      # the following params are used to complete the ray start: ray start --head --block ...
      rayStartParams:
        dashboard-host: '<IP_ADDRESS>'
      #pod template
      template:
        spec:
          containers:
          # The Ray head container
          - name: ray-head
            image: rayproject/ray:2.5.0
            ports:
              - containerPort: 6379
                name: gcs-server
              - containerPort: 8265 # Ray dashboard
                name: dashboard
              - containerPort: 10001
                name: client
              - containerPort: 8000
                name: serve
            lifecycle:
              preStop:
                exec:
                  command: ["/bin/sh","-c","ray stop"]
            resources:
              limits:
                cpu: "3"
                memory: "2.5G"
              requests:
                cpu: "500m"
                memory: "2G"
          # tolerations are used to schedule pods if the node has the matching taints (i.e. AKS nodepool taints)
          tolerations:
            - effect: NoSchedule
              key: sku
              value: gpu
              operator: Equal
    workerGroupSpecs:
    # the pod replicas in this group typed worker
    - replicas: 2
      minReplicas: 2
      maxReplicas: 10
      # logical group name, for this called small-group, also can be functional
      groupName: small-group
      rayStartParams: {}
      template:
        spec:
          containers:
          - name: ray-worker
            image: rayproject/ray:2.5.0
            lifecycle:
              preStop:
                exec:
                  command: ["/bin/sh","-c","ray stop"]
            resources:
              limits:
                cpu: "2"
                memory: "2G"
              requests:
                cpu: "500m"
                memory: "1G"
          # tolerations are used to schedule pods if the node has the matching taints (i.e. AKS nodepool taints)
          tolerations:
            - effect: NoSchedule
              key: sku
              value: gpu
              operator: Equal

My python file is the following:
# file name: autoscale1.py
# This file deploys a translator application.
# The translator application uses a pre-trained model from the transformers library.

from starlette.requests import Request

from ray import serve

from transformers import pipeline

# Creates a Ray Serve deployment for a translator application.
# It specifies that the deployment should use 0.2 CPU cores.
# Refer to https://docs.ray.io/en/latest/serve/scaling-and-resource-allocation.html# for more information.
@serve.deployment(
    autoscaling_config={
        "min_replicas": 1,
        "initial_replicas": 2,
        "max_replicas": 10,
        "target_num_ongoing_requests_per_replica": 8,
        "upscale_delay_s": 5,
        "smoothing_factor": 1.5
    }
)
class Translator:
    def __init__(self):
        # Load model
        self.model = pipeline("translation_en_to_fr", model="t5-small")

    def translate(self, text: str) -> str:
        # Run inference
        model_output = self.model(text)

        # Post-process output to return only the translation text
        translation = model_output[0]["translation_text"]

        return translation

    # Asynchronously calls the translate function.
    async def __call__(self, http_request: Request) -> str:
        english_text: str = await http_request.json()
        translation = self.translate(english_text)
        return translation

# Binds the translator application and the driver to the same deployment.
translator_app = Translator.bind()

I created my test queries using WRITING FAST ASYNC HTTP REQUESTS IN PYTHON - Gen 2 as I'm new to multithreading in Python.
# file name: worker_threadpool.py
from queue import Queue

from threading import Thread

class Worker(Thread):
  """ Thread executing tasks from a given tasks queue """

  def __init__(self, tasks):
    Thread.__init__(self)
    self.tasks = tasks
    self.daemon = True
    self.start()

  def run(self):
    while True:
      func, args, kargs = self.tasks.get()
      try:
        func(*args, **kargs)
      except Exception as e:
        # An exception happened in this thread
        print(e)
      finally:
        # Mark this task as done, whether an exception happened or not
        self.tasks.task_done()

class ThreadPool:
  """ Pool of threads consuming tasks from a queue """

  def __init__(self, num_threads):
    self.tasks = Queue(num_threads)
    for _ in range(num_threads):
      Worker(self.tasks)

  def add_task(self, func, *args, **kargs):
    """ Add a task to the queue """
    self.tasks.put((func, args, kargs))

  def map(self, func, args_list):
    """ Add a list of tasks to the queue """
    for args in args_list:
      self.add_task(func, args)

  def wait_completion(self):
    """ Wait for completion of all the tasks in the queue """
    self.tasks.join()

# file name: autoscale_client.py
from queue import Queue
import requests
from threading import Thread
import time
from worker_threadpool import Worker, ThreadPool

start_time = time.time()
lines = [open("queries.txt", "r").readlines()][0]
pool = ThreadPool(40)

f = open("queries.txt", "r")

def post(line):
    r = requests.post("http://<IP_ADDRESS>:8000/", json=line)
    print(r.text)

pool.map(post, lines)
pool.wait_completion()

print("--- %s seconds ---" % (time.time() - start_time))

And this is my queries.txt:
The sun is shining brightly.
Cats are adorable creatures.
Books are a gateway to different worlds.
Water is essential for life.
The bird is soaring high above.
Dreams can inspire us to achieve.
Coffee is my morning elixir.
Time flies when you're having fun.
Laughter is the best medicine.
Music brings joy to my soul.
Learning never stops.
Happiness comes from within.
Rainbows are a beautiful sight.
Nature is full of wonders.
Patience is a virtue.
Kindness matters.
The ocean is vast and mysterious.
Butterflies are captivating creatures.
Art is a form of expression.
Adventure awaits around every corner.
Friendship is a precious gift.
Chocolate is irresistible.
Imagination has no limits.
Smiles are contagious.
Success comes with hard work.
Love conquers all.
Stars illuminate the night sky.
Silence can be golden.
Wisdom comes with experience.
Forgiveness heals wounds.
Dancing brings freedom.
Goals drive us forward.
Rain refreshes the earth.
Courage overcomes fear.
Science unlocks mysteries.
Inspiration sparks creativity.
Family provides unconditional love.
Mountains stand tall and majestic.
Dreams can become reality.
Artistic expression knows no boundaries.
Knowledge empowers us.
Honesty builds trust.
Kindness is a language everyone understands.
Challenges make us stronger.
Sunsets paint the sky with vibrant colors.
Memories last a lifetime.
Education opens doors to opportunity.
Birds sing melodies of nature.
Laughter brings people together.
Home is where the heart is.
Determination leads to success.
Compassion transforms lives.
Birds build intricate nests.
Imagination fuels innovation.
Beauty is found in the simplest things.
Joy is contagious.
Time spent with loved ones is priceless.
Reflection brings self-awareness.
Dreams inspire action.
Learning is a lifelong journey.
Kindness is never wasted.
Courageous acts leave a lasting impact.
Music transcends language barriers.
Gratitude opens doors to abundance.
Friendship enriches our lives.
Trees provide shade and oxygen.
Laughter is good for the soul.
Curiosity sparks discovery.
Teamwork achieves great things.
Sunflowers follow the sun's path.
Inspiration can be found everywhere.
Honesty breeds trust.
Self-care is essential for well-being.
Adventure fuels the spirit.
Challenges create opportunities for growth.
Rain cleanses the earth.
Compassion changes lives.
Dreams give us hope.
Success is a result of perseverance.
Nature's beauty is awe-inspiring.
Love knows no boundaries.
Creativity fuels innovation.
Books expand our horizons.
Friendship brings joy and support.
Laughter lightens the heart.
Resilience overcomes obstacles.
Dreams are the seeds of achievement.
Music lifts the soul.
Kindness is a gift we can all give.
Memories shape who we are.
Education is a lifelong pursuit.
Sunsets create breathtaking moments.
Curiosity leads to knowledge.
Inspiration drives progress.
Honesty is the foundation of trust.
Self-reflection fosters personal growth.
Dreams fuel ambition.
Beauty is found in diversity.
Love brings warmth to the heart.
Life is a precious gift.
I have a dream that one day this nation will rise up and live out the true meaning of its creed: 'We hold these truths to be self-evident, that all men are created equal.'
I have a dream that one day on the red hills of Georgia, the sons of former slaves and the sons of former slave owners will be able to sit down together at the table of brotherhood.
I have a dream that one day even the state of Mississippi, a state sweltering with the heat of injustice, sweltering with the heat of oppression, will be transformed into an oasis of freedom and justice.
I have a dream that my four little children will one day live in a nation where they will not be judged by the color of their skin but by the content of their character.
I have a dream today!

I have a dream today!
I have a dream that one day every valley shall be exalted, every hill and mountain shall be made low, the rough places will be made plain, and the crooked places will be made straight, and the glory of the Lord shall be revealed, and all flesh shall see it together.
This is our hope, and this is the faith that I go back to the South with.
With this faith, we will be able to hew out of the mountain of despair a stone of hope.
With this faith, we will be able to transform the jangling discords of our nation into a beautiful symphony of brotherhood.
With this faith, we will be able to work together, to pray together, to struggle together, to go to jail together, to stand up for freedom together, knowing that we will be free one day.
This will be the day when all of God's children will be able to sing with a new meaning, 'My country, 'tis of thee, sweet land of liberty, of thee I sing. Land where my fathers died, land of the pilgrim's pride, from every mountainside, let freedom ring.'
And if America is to be a great nation, this must become true.
So let freedom ring from the prodigious hilltops of New Hampshire.
Let freedom ring from the mighty mountains of New York.
Let freedom ring from the heightening Alleghenies of Pennsylvania.
Let freedom ring from the snow-capped Rockies of Colorado.
Let freedom ring from the curvaceous slopes of California.
But not only that:
Let freedom ring from Stone Mountain of Georgia.
Let freedom ring from Lookout Mountain of Tennessee.
Let freedom ring from every hill and molehill of Mississippi.
From every mountainside, let freedom ring.
And when this happens, when we allow freedom to ring, when we let it ring from every village and every hamlet, from every state and every city, we will be able to speed up that day when all of God's children, black men and white men, Jews and Gentiles, Protestants and Catholics, will be able to join hands and sing in the words of the old Negro spiritual:
'Free at last! Free at last! Thank God Almighty, we are free at last!'

Anything else
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Here's a picture of the dashboard when the deployment is upscaling:

@Rowena2001 can you please paste contents of the Serve Controller logs (found at Logs > "serve/" folder > controller_xxxx.log)?

serve_controller_165.log

I reran my queries.txt and the serve_controller died and a new one was created. This is the log/error file for the dead serve_controller.

Solved by using Kuberay nightly version!


Update wrong reducer name essentials tutorial

name: "\U0001F4DD Documentation Fix"
about: Fixing a problem in an existing docs page
Checklist

[ ] Is there an existing issue for this PR?
[ ] Have the files been linted and formatted?

What docs page needs to be fixed?

Section: Redux Essentials
Page: Tutorials

What is the problem?
In the Updating Post Entries while talking about creating the postUpdated reducer, at two places it mentions the postAdded reducer but it should be the newly created postUpdated reducer.
What changes does this PR make to fix the problem?
Changed postAdded to postUpdated.

Thanks!


Release version with error in Android

Steps to reproduce

apply the component in any react-native project
use the version 1.1.3
generate a release android APK

Expected behaviour
Generate a release signed apk
Actual behaviour
The command ./gradle assembleRelease gives the following error
Failed to generate resource table for split ''
.gradle/caches/transforms-1/files-1.1/appcompat-v7-28.0.0.aar/51d229a6f3b32738f6fbcfda621df688/res/values-v28/values-v28.xml:5:5-8:13: AAPT: No resource found that matches the given name (at 'dialogCornerRadius' with value '?android:attr/dialogCornerRadius').
Environment

React-Native version 0.57.1

react-native-share
Version: 1.1.3

hello @mendesfelipe87 why is this related to react-native-share?

Hi @jgcmarins, because of this info that the gradle display
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':react-native-share:verifyReleaseResources'.

com.android.ide.common.process.ProcessException: Failed to execute aapt

I just attempted to reproduce this:
mike@isabela:~/work/react-random/react-native-share/example/android (master *) % ./gradlew verifyReleaseResources
Starting a Gradle Daemon (subsequent builds will be faster)

> Configure project :app
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory.  It is currently set to /home/mike/Android/Sdk/ndk-bundle.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.

> Configure project :react-native-share
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory.  It is currently set to /home/mike/Android/Sdk/ndk-bundle.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.

BUILD SUCCESSFUL in 8s
6 actionable tasks: 6 executed

What am I doing wrong?
I´ll continue poking around myself for a little bit to try to make this happen, but currently I´m not seeing it :man_shrugging:

Hi @mikehardy are you trying to generate a release ? because this happens only when you create a release version of the RN project that uses this as component
when you use react-native run-android, works normally

My command line was included above. I directly called the gradle task that you posted had failed, using our example project

This also worked - and generated an apk. I want to be clear I'm not saying we don't have a problem! :-), just that I'm not seeing it. Maybe there's something subtle though. I'd just need a more explicit reproduction
mike@isabela:~/work/react-random/react-native-share/example/android (master *) % ./gradlew assembleRelease

> Configure project :app
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory.  It is currently set to /home/mike/Android/Sdk/ndk-bundle.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.

> Configure project :react-native-share
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory.  It is currently set to /home/mike/Android/Sdk/ndk-bundle.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.

> Task :app:bundleReleaseJsAndAssets
Scanning folders for symlinks in /home/mike/work/react-random/react-native-share/example/node_modules (6ms)
Scanning folders for symlinks in /home/mike/work/react-random/react-native-share/example/node_modules (8ms)
Loading dependency graph, done.
warning: the transform cache was reset.
bundle: Writing bundle output to: /home/mike/work/react-random/react-native-share/example/android/app/build/intermediates/assets/release/index.android.bundle
bundle: Done writing bundle output

> Task :react-native-share:compileReleaseJavaWithJavac
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /home/mike/work/react-random/react-native-share/example/node_modules/react-native-share/android/src/main/java/cl/json/ShareFiles.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :app:lintVitalRelease
Calling mockable JAR artifact transform to create file: /home/mike/.gradle/caches/transforms-1/files-1.1/android.jar/e235c904d4c75a682a36fa1e2a8c677a/android.jar with input /home/mike/Android/Sdk/platforms/android-28/android.jar

BUILD SUCCESSFUL in 36s
53 actionable tasks: 47 executed, 6 up-to-date
mike@isabela:~/work/react-random/react-native-share/example/android (master *) % ls -lat app/build/outputs/apk/release/
total 7368
drwxr-xr-x 2 mike mike    4096 Oct 25 16:18 ./
-rw-r--r-- 1 mike mike     252 Oct 25 16:18 output.json
-rw-r--r-- 1 mike mike 7532240 Oct 25 16:18 app-release-unsigned.apk
drwxr-xr-x 4 mike mike    4096 Oct 25 16:18 ../
mike@isabela:~/work/react-random/react-native-share/example/android (master *) %

I've tried clean the yarn cache and gradle dependencies, maybe is this ? try to clear it and rebuild again

Looks like it might be a classic Android gradle + support library + compile library version issue: https://stackoverflow.com/questions/49280632/error9-5-error-resource-androidattr-dialogcornerradius-not-found
Please confirm you have all your versions lined up (that link is pretty good about explaining how)

@mikehardy i agree with mike. all those fights with Gradle and support and compile version ...pfff


Update free-programming-books-id.md

Add E-book Cepat Mahir Python
What does this PR do?
Add resource(s)
For resources
Update free-programming-books-id.md
Description
This source has indeed uploaded a lot of ebooks that have been written by themselves and shared on their blogs/.
Why is this valuable (or not)?
As you know, very few ebooks in Indonesian are free, most of them are paid, I hope this ebook can be useful for Indonesian people who are looking for this topic.
How do we know it's really free?
You can see on their blogs https://gilacoding.com/ebook
For book lists, is it a book? For course lists, is it a course? etc.
E-book
Checklist:

[x] Read our contributing guidelines.
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction).
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

@kevinalfito69 In order to pass all tests, reorder your link alphabetically by moving it above in its correct position and also add (PDF) indication in last

Thanks, and welcome to free-programming-books!


Add basic filesystem functionality

button_go_up
button_refresh
button_go_home
button_go_current_path

Those are good functionalities. I marked this issue enhancement. It is in the queue!  Thanks.

Do you think it is OK @gilbertoca ?

I will try.
Why the latest releases are so big?

While trying the new functionality I clicked on the left arrow in the toolbar and it disappears. How can I restore it? I didn't find any reference to it in the site.

Latest release includes jre.  You can restore it by double clicking any Tab.

What about putting it in the tab's right menu as well?

Other thing, the Change WorkDir refers to the active open file. We can open some files (all of them in different folders) and switch between workdir with this option. The refresh option refers to active open WorkDir. This is how [Geany File Browser plugin] (http://www.geany.org/support/plugins) works, but you can implement it differently for AsciidocFX - will be a pleasure to help and use it.

Ah sorry, i undestood refresh differently. You can use Go to Workdir menuitem to change workdir.

You wanted to say Change WorkDir:

But it lost his purpose when you impose the user to navigate again in a open dialog - but he is already navigating using the tree in the toolbar.
That's the point when I said that the Change WorkDir refers to the active open file.

I mean this;

I've changed refresh button behaviour like you mention also. Is it OK for you?

Yes! Many thanks for such useful tool.


Update for TF 0.12.1

They moved BasicLSTMCell to a different package.

Sorry, I thought 0.12.1 is the newest TF, but now I see that it's 1.0, and so this PR makes no sense...


[PE-D][Tester A] Input format does not match the error shown

Although the error states that alphanum characters, numbers were not accepted as seen in picture.

Labels: type.FunctionalityBug severity.Medium
original: Bentimate/ped#4

Fixed in #245
regex for Name has been relaxed (and is now consistent with the error message)


Feature : Matched Question and Feedback Option

Thanks again for creating this PR. Great work!
Two comments:

Right now the answer displayed by the bot doesn't contain the "matched question". However, it might be helpful for the users to see that in order to judge if the answer is really relevant to their question. You find it in the response JSON in the field "question".
We now also have the option for user feedback (see API endpoint). So people can rate if the given answer was helpful or not and we will use the data to improve the NLP model. This could be also an helpful addition to the telegram bot.

Would be great to hear your thoughts on that and maybe address them in a separate PR.
Originally posted by @tholor in https://github.com/deepset-ai/COVID-QA/pull/58#issuecomment-602513354

@tholor
I've updated the reply format to
$emoji Answer Confidence : $confidence%
Q: ${ans.question}
A: ${ans.answer}
🌍 Source : ${ans.meta.source}

Is this okay ?

Yes, perfect!

one more format
Q: ${ans.question}
A: ${ans.answer}
💪 Answer Confidence : $confidence% $emoji
🌍 Source : ${ans.meta.source}

Which one is better? first or this?

Can u DM me at http://t.me/theapache64

@tholor When I try to post the feedback, am getting
{"detail":[{"loc":["body","request","questions"],"msg":"field required","type":"value_error.missing"}]}

from the server.
The swagger doc says feedback API needs 4 params.
{
  "question": "string",
  "answer": "string",
  "feedback": "relevant",
  "document_id": 0
}

but the python script only handles one.

@theapache64 yes, the API requires all four fields at the moment (and they are used in the python code you linked). Please also note that the value for "question" must be the one asked by the user and not the one we matched in the FAQs.
I see your limitations with 64bytes and can think of two solutions:

short term: we make "answer" an optional field as we could get this also via the document_id. Could you test if you already fulfill the 64 bytes requirement with this?
mid term: if this is still more than 64bytes, we could probably introduce a unique request_id and then reduce the request to {"request_id": 123, "feedback": "relevant"}. However, for this, we need quite some changes in our backend and the indexing in elastic.

Perfect. For now, we can go with the short term solution, but if the question is lengthy (more than 64bytes), the feedback won't be posted. I'd suggest you work on the midterm solution ASAP. Otherwise, we may lose some valuable feedback. What do you say?
and How much time do you need to make the answer variable optional?

How much time do you need to make the answer variable optional?
Implemented in #69. We can deploy it in the next hours. Will let you know once that's done.

I'd suggest you work on the midterm solution ASAP
Yes, we will tackle that. Can't promise a timeline though as most of us work in their regular jobs during the week.

@theapache64 latest master is deployed now (incl. the optional answer field)

It's done! Any changes? @tholor

Looking great! Thank you @theapache64


Fix incorrect aggregated status of commit statuses

I checked the commit history and found that in the last modification to modules/structs/commit_status.go, a status running was added, but it was not handled in time for the NoBetterThan function, which led to issue #25776. So I made a simple change to NoBetterThan.
This PR will close #25776

Maybe we could remove running and warning to keep consistent with GitHub.

That is another solution or feature if remove running and warning to keep consistent with GitHub. That should be a new PR. and I'll start by converting this PR to draft status.


Add HttpClientFactory and update Graph client to use it

Changes that differ from initial design doc

HttpClientFactory will only initialise a Guzzle client, not support other HTTP clients
Other clients will be usable through the Graph client, however the telemetry and auth headers will be added to the GraphRequest object
removed setting apiVersion() in the HttpClientFactory since setting the base URL to https://[national cloud]/[apiVersion] would mean customers need to pass and endpoint without a leading / for the correct URL to be resolved by Guzzle. Our docs provide endpoints with the leading /. Api version will be appended to nationalCloud in the GraphRequest before sending it
accepting a Guzzle client config array in the HttpClientFactory & Graph class as opposed to a Guzzle client object.
Guzzle plans to deprecate functionality (getConfig()) that would allow us to get the config array that was used to initialise a client in Guzzle 8. Impact is, if the SDK accepts a Guzzle client object, we would be unable to set default configs while preserving any custom configs the customer may have used.

FYI
Thought it would be easier to have this PR first to show the HttpClientFactory and its integration into the Graph client.
To reduce the number of changes per PR, I'll create other branches off philip/feat/http-client-factory with changes to other classes that are affected by this feature - GraphRequest, various failing tests etc.
Once this PR is approved, the other PRs will be merged into the current branch before merging to main.
Note: Tests currently failing. Will be fixed in subsequent "child" branches of the current branch then merged.
Closes https://github.com/microsoftgraph/msgraph-sdk-php/issues/438

Sorry about lots of whitespace changes. Trying to get that sorted.

Thanks for the thought-provoking feedback @nikithauc.! I've addressed all issues/comments raised.


Adding liquidty

Describe the bug
Description of the bug here.everytime i choose usdc and eth i cant enter the amount that i want to create pools
Steps to reproduce
Steps to reproduce here.make it faster sometime cant see the balance
Spam policy

[X] I verify that this issue is NOT SPAM and understand SPAM issues will be closed and reported to GitHub, resulting in ACCOUNT TERMINATION.

Currently, adding liquidity provides transaction fail error. Would be great to work on this also.

yes please
i faced the same issue, adding of liquidity seems to be an issue.
I can't seem to place a figure on both the eth & usdc space simultaneously.


Complex predicates with arguments

Background
According to the documentation, the following is possible:
def_node_matcher :global_const?, '(const {nil? cbase} %1)'
def_node_matcher :class_creator, '(send #global_const?({:Class :Module}) :new ...)'

where the argument to the predicate is {:Class :Module}.
Problem
I have a case with a number of similar node matchers, where I'd love to extract the common part:
def_node_matcher :expectation_with_return_block, <<~PATTERN
  (send
    (send nil? :expect ...) :to
    $(block #message_expectation? args _)
  )
PATTERN

def_node_matcher :expectation_with_configured_response, <<~PATTERN
  (send
    (send nil? :expect ...) :to
    $(send #message_expectation? #configured_response? _)
  )
PATTERN

The cop in question https://github.com/rubocop-hq/rubocop-rspec/pull/226
What I did
def self.expectation_with(matcher)
  "(send (send nil? :expect ...) :to #{matcher})"
end

def_node_matcher :expectation_with_return_block, expectation_with(<<~PATTERN)
    $(block #message_expectation? args _)
PATTERN

What I would love to do
def_node_matcher :expectation, <<~PATTERN
  (send (send nil? #{Expectations::ALL.node_pattern_union} ...) :to %1)
PATTERN

def_node_matcher :expectation_with_return_block, <<~PATTERN
  (#expectation(
    $(block #message_expectation? args _)
  ))
PATTERN

But it doesn't work this way. Doesn't seem that the capture is the culprit.
I might be doing it wrong, however. Or this might be too expensive to implement. In either case please feel free to close this - my current approach with expectation_with works quite fine already.

In the "What I would love" section, there's #{Expectations::ALL.node_pattern_union} which I assume you meant to write as :expect to correspond with the rest of the examples, right?
I think you simply have one too many () in your pattern...
def_node_matcher :expectation_with_return_block, <<~PATTERN
  #expectation(
    $(block #message_expectation? args _)
  )
PATTERN

Otherwise you are asking for a node with no children and a type that will match with expectaction...
That should work (can't test it now but could later if it doesn't work).
Another way to write it (I think I prefer yours though):
def_node_matcher :expectation, <<~PATTERN
  (send (send nil? :expect ...) :to $%with)
PATTERN

def_node_matcher :return_block, <<~PATTERN
  (block #message_expectation? args _)
PATTERN

def on_send
  if expectation(with: method(:return_block))
end

I think you simply have one too many () in your pattern...

You're right, thanks. I've never seen a node pattern without the outer braces of either kind, that confused me.
It kind of works, but the  problem is different now (this code is slightly simplified):
        def_node_matcher :expectation, <<~PATTERN
          (send
            $(send nil? :expect ...) :to % # expect(foo).to be_bop
          )
        PATTERN

        def_node_matcher :expectation_with_configured_response, <<~PATTERN
          #expectation(
            $(send #message_expectation? ... _)
          )
        PATTERN

The expectation_with_configured_response do |a, b| actually only yields the capture that is declared in expectation_with_configured_response itself, not the one declared in expectation.
I don't really care about the first one, only about the one from expectation, but it doesn't yield it.
This is the commit that makes the change https://github.com/rubocop-hq/rubocop-rspec/commit/f7d813c5abe2d4f8e184bb3798ecfebc5e7b45db
I've added captures to expectation_with_configured_response/expectation_with_return_block/expectation_with_blockpass_or_hash not because I need them, but to show that they are yielded, but not the one from expectation.
Again, if this is by design, I don't mind closing this.
Also, I'm impressed by how the node pattern evolved for the last year, child matching, descendant matching, now this. Thanks for moving it forward!

The expectation_with_configured_response do |a, b| actually only yields the capture that is declared in expectation_with_configured_response itself, not the one declared in expectation.
I don't really care about the first one, only about the one from expectation, but it doesn't yield it.

Yes, that's a limitation where patterns must know, at compile time, how many captures there are and where they come from. This is necessary for example so that the {} has the same number of captures no matter which branch was matched. So it is not possible to return captures from two node patterns at once. If you tried $#expectation, this would not capture the result of expectation, just the argument it was given.
That being said, we could consider a way to indicate that we want to capture the result of a method call, not it's argument, say #$expectation; that might be quite useful...
In this particular case, since the capture you really want is the expectation node pattern, then you need to call that directly. I think the other form I gave should work, and you can even capture both nodes:
        def_node_matcher :expectation, <<~PATTERN
          (send
            $(send nil? :expect ...) :to $% # expect(foo).to be_bop
          )
        PATTERN

        def_node_matcher :configured_response, <<~PATTERN
          (send #message_expectation? ... _)
        PATTERN

        def expectation_with_configured_response(node, &block)
          expectation(method(:configured_response), &block)
        end

I'm impressed by how the node pattern evolved for the last year, child matching, descendant matching, now this.

Thanks :-) I'm working on an actual lexer/parser/compiler for NodePattern that would allow a bit more flexibility and make it easier to debug

Thanks for the explanation, it all makes sense. Looking forward to the updates.
I'll close this for now, and will be looking at RuboCop core's cop improvements and will try to reflect those on RSpec-related cops.


should output error messages to stderr

When cue emits this error message, it exits with code 1, but the error message is emitted to stdout. It should be emitted to stderr.
cmd must be run as one of its subcommands: unknown subcommand "getimage"
Run 'cue help cmd' for known subcommands.

This issue has been migrated to https://github.com/cue-lang/cue/issues/101.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


Add GPU testing job

This runs all IREE tests on a machine with a GPU, making use of the
build directory already built with the build_all job.

I don't understand why it can't find gcloud. I'm literally logged in as the same user on the same machine and can run gcloud just fine :raised_eyebrow:

Ok for some reason, a few tests that usually run relatively quickly are timing out. They're all cuda and vulkan cts tests. Select extracts from the logs:

2022-07-26T22:15:33.2654508Z 1149/1157 Test #1078: iree/hal/drivers/vulkan/cts/vulkan_buffer_mapping_test ...................................................................***Timeout  60.15 sec
2022-07-26T22:15:33.2654952Z [==========] Running 16 tests from 1 test suite.
2022-07-26T22:15:33.2655621Z [----------] Global test environment set-up.
2022-07-26T22:15:33.2656039Z [----------] 16 tests from CTS/buffer_mapping_test
2022-07-26T22:15:33.2656745Z [ RUN      ] CTS/buffer_mapping_test.AllocatorSupportsBufferMapping/vulkan
2022-07-26T22:15:33.2657563Z [       OK ] CTS/buffer_mapping_test.AllocatorSupportsBufferMapping/vulkan (7151 ms)
2022-07-26T22:15:33.2657965Z [ RUN      ] CTS/buffer_mapping_test.ZeroWholeBuffer/vulkan
2022-07-26T22:15:33.2658303Z [       OK ] CTS/buffer_mapping_test.ZeroWholeBuffer/vulkan (10535 ms)
2022-07-26T22:15:33.2658649Z [ RUN      ] CTS/buffer_mapping_test.ZeroWithOffset/vulkan
2022-07-26T22:15:33.2659269Z [       OK ] CTS/buffer_mapping_test.ZeroWithOffset/vulkan (6593 ms)
2022-07-26T22:15:33.2659812Z [ RUN      ] CTS/buffer_mapping_test.ZeroSubspan/vulkan
2022-07-26T22:15:33.2660430Z [       OK ] CTS/buffer_mapping_test.ZeroSubspan/vulkan (6604 ms)
2022-07-26T22:15:33.2660777Z [ RUN      ] CTS/buffer_mapping_test.FillEmpty/vulkan
2022-07-26T22:15:33.2661096Z [       OK ] CTS/buffer_mapping_test.FillEmpty/vulkan (7974 ms)
2022-07-26T22:15:33.2661679Z [ RUN      ] CTS/buffer_mapping_test.FillWholeBuffer/vulkan
2022-07-26T22:15:33.2662159Z [       OK ] CTS/buffer_mapping_test.FillWholeBuffer/vulkan (9106 ms)
2022-07-26T22:15:33.2662504Z [ RUN      ] CTS/buffer_mapping_test.FillWithOffset/vulkan
2022-07-26T22:15:33.2662848Z [       OK ] CTS/buffer_mapping_test.FillWithOffset/vulkan (9514 ms)
2022-07-26T22:15:33.2663169Z [ RUN      ] CTS/buffer_mapping_test.FillSubspan/vulkan
2022-07-26T22:15:33.2663350Z
2022-07-26T22:15:33.2953547Z 1150/1157 Test #1079: iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test ...................................................................***Timeout  60.18 sec
2022-07-26T22:15:33.2954223Z [==========] Running 20 tests from 1 test suite.
2022-07-26T22:15:33.2955095Z [----------] Global test environment set-up.
2022-07-26T22:15:33.2955472Z [----------] 20 tests from CTS/command_buffer_test
2022-07-26T22:15:33.2955791Z [ RUN      ] CTS/command_buffer_test.Create/vulkan
2022-07-26T22:15:33.2956262Z [       OK ] CTS/command_buffer_test.Create/vulkan (7155 ms)
2022-07-26T22:15:33.2956723Z [ RUN      ] CTS/command_buffer_test.BeginEnd/vulkan
2022-07-26T22:15:33.2957214Z [       OK ] CTS/command_buffer_test.BeginEnd/vulkan (10517 ms)
2022-07-26T22:15:33.2957681Z [ RUN      ] CTS/command_buffer_test.SubmitEmpty/vulkan
2022-07-26T22:15:33.2958166Z [       OK ] CTS/command_buffer_test.SubmitEmpty/vulkan (6408 ms)
2022-07-26T22:15:33.2958658Z [ RUN      ] CTS/command_buffer_test.CopyWholeBuffer/vulkan
2022-07-26T22:15:33.2959137Z [       OK ] CTS/command_buffer_test.CopyWholeBuffer/vulkan (6627 ms)
2022-07-26T22:15:33.2959629Z [ RUN      ] CTS/command_buffer_test.CopySubBuffer/vulkan
2022-07-26T22:15:33.2960065Z [       OK ] CTS/command_buffer_test.CopySubBuffer/vulkan (7984 ms)
2022-07-26T22:15:33.2960534Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size1_offset0_length1/vulkan
2022-07-26T22:15:33.2961058Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern1_size1_offset0_length1/vulkan (9208 ms)
2022-07-26T22:15:33.2961586Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size5_offset0_length5/vulkan
2022-07-26T22:15:33.2962220Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern1_size5_offset0_length5/vulkan (9517 ms)
2022-07-26T22:15:33.2962722Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length1/vulkan
2022-07-26T22:15:33.2962999Z
2022-07-26T22:15:33.9264583Z 1151/1157 Test #1155: iree/samples/simple_embedding/simple_embedding_vulkan_test ...............................................................   Passed    7.28 sec
2022-07-26T22:15:34.1811378Z 1152/1157 Test #1139: iree/tools/test/multiple_exported_functions.mlir.test ....................................................................   Passed   11.14 sec
2022-07-26T22:15:34.6207530Z 1153/1157 Test #1135: iree/tools/test/iree-benchmark-module.mlir.test ..........................................................................   Passed   14.04 sec
2022-07-26T22:15:35.9905038Z 1154/1157 Test #1027: iree/hal/drivers/cuda/cts/cuda_command_buffer_test .......................................................................***Timeout  65.48 sec
2022-07-26T22:15:35.9905612Z [==========] Running 20 tests from 1 test suite.
2022-07-26T22:15:35.9906283Z [----------] Global test environment set-up.
2022-07-26T22:15:35.9906670Z [----------] 20 tests from CTS/command_buffer_test
2022-07-26T22:15:35.9907035Z [ RUN      ] CTS/command_buffer_test.Create/cuda
2022-07-26T22:15:35.9907504Z [       OK ] CTS/command_buffer_test.Create/cuda (5344 ms)
2022-07-26T22:15:35.9908053Z [ RUN      ] CTS/command_buffer_test.BeginEnd/cuda
2022-07-26T22:15:35.9908602Z [       OK ] CTS/command_buffer_test.BeginEnd/cuda (4431 ms)
2022-07-26T22:15:35.9909173Z [ RUN      ] CTS/command_buffer_test.SubmitEmpty/cuda
2022-07-26T22:15:35.9909746Z [       OK ] CTS/command_buffer_test.SubmitEmpty/cuda (5426 ms)
2022-07-26T22:15:35.9910219Z [ RUN      ] CTS/command_buffer_test.CopyWholeBuffer/cuda
2022-07-26T22:15:35.9910747Z [       OK ] CTS/command_buffer_test.CopyWholeBuffer/cuda (4812 ms)
2022-07-26T22:15:35.9911870Z [ RUN      ] CTS/command_buffer_test.CopySubBuffer/cuda
2022-07-26T22:15:35.9912580Z [       OK ] CTS/command_buffer_test.CopySubBuffer/cuda (3384 ms)
2022-07-26T22:15:35.9912942Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size1_offset0_length1/cuda
2022-07-26T22:15:35.9913536Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern1_size1_offset0_length1/cuda (2609 ms)
2022-07-26T22:15:35.9914373Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size5_offset0_length5/cuda
2022-07-26T22:15:35.9914827Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern1_size5_offset0_length5/cuda (2761 ms)
2022-07-26T22:15:35.9915224Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length1/cuda
2022-07-26T22:15:35.9915839Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length1/cuda (3055 ms)
2022-07-26T22:15:35.9916616Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length3/cuda
2022-07-26T22:15:35.9917321Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length3/cuda (3243 ms)
2022-07-26T22:15:35.9917752Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length8/cuda
2022-07-26T22:15:35.9918153Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length8/cuda (3476 ms)
2022-07-26T22:15:35.9918548Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset2_length8/cuda
2022-07-26T22:15:35.9918929Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset2_length8/cuda (3786 ms)
2022-07-26T22:15:35.9919320Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern2_size2_offset0_length2/cuda
2022-07-26T22:15:35.9919711Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern2_size2_offset0_length2/cuda (3902 ms)
2022-07-26T22:15:35.9920087Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset0_length8/cuda
2022-07-26T22:15:35.9920484Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset0_length8/cuda (4350 ms)
2022-07-26T22:15:35.9920886Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset0_length10/cuda
2022-07-26T22:15:35.9921283Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset0_length10/cuda (3961 ms)
2022-07-26T22:15:35.9921659Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset2_length8/cuda
2022-07-26T22:15:35.9922046Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset2_length8/cuda (4757 ms)
2022-07-26T22:15:35.9922436Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern4_size4_offset0_length4/cuda
2022-07-26T22:15:35.9922650Z
2022-07-26T22:15:37.0440318Z 1155/1157 Test #1026: iree/hal/drivers/cuda/cts/cuda_buffer_mapping_test .......................................................................***Timeout  66.56 sec
2022-07-26T22:15:37.0441040Z [==========] Running 16 tests from 1 test suite.
2022-07-26T22:15:37.0441951Z [----------] Global test environment set-up.
2022-07-26T22:15:37.0443638Z [----------] 16 tests from CTS/buffer_mapping_test
2022-07-26T22:15:37.0444065Z [ RUN      ] CTS/buffer_mapping_test.AllocatorSupportsBufferMapping/cuda
2022-07-26T22:15:37.0444504Z [       OK ] CTS/buffer_mapping_test.AllocatorSupportsBufferMapping/cuda (5387 ms)
2022-07-26T22:15:37.0444892Z [ RUN      ] CTS/buffer_mapping_test.ZeroWholeBuffer/cuda
2022-07-26T22:15:37.0445236Z [       OK ] CTS/buffer_mapping_test.ZeroWholeBuffer/cuda (4499 ms)
2022-07-26T22:15:37.0445560Z [ RUN      ] CTS/buffer_mapping_test.ZeroWithOffset/cuda
2022-07-26T22:15:37.0445965Z [       OK ] CTS/buffer_mapping_test.ZeroWithOffset/cuda (5441 ms)
2022-07-26T22:15:37.0446291Z [ RUN      ] CTS/buffer_mapping_test.ZeroSubspan/cuda
2022-07-26T22:15:37.0446608Z [       OK ] CTS/buffer_mapping_test.ZeroSubspan/cuda (4831 ms)
2022-07-26T22:15:37.0446906Z [ RUN      ] CTS/buffer_mapping_test.FillEmpty/cuda
2022-07-26T22:15:37.0447223Z [       OK ] CTS/buffer_mapping_test.FillEmpty/cuda (3391 ms)
2022-07-26T22:15:37.0447815Z [ RUN      ] CTS/buffer_mapping_test.FillWholeBuffer/cuda
2022-07-26T22:15:37.0448220Z [       OK ] CTS/buffer_mapping_test.FillWholeBuffer/cuda (2576 ms)
2022-07-26T22:15:37.0448556Z [ RUN      ] CTS/buffer_mapping_test.FillWithOffset/cuda
2022-07-26T22:15:37.0448931Z [       OK ] CTS/buffer_mapping_test.FillWithOffset/cuda (2767 ms)
2022-07-26T22:15:37.0449256Z [ RUN      ] CTS/buffer_mapping_test.FillSubspan/cuda
2022-07-26T22:15:37.0449563Z [       OK ] CTS/buffer_mapping_test.FillSubspan/cuda (3063 ms)
2022-07-26T22:15:37.0449875Z [ RUN      ] CTS/buffer_mapping_test.ReadData/cuda
2022-07-26T22:15:37.0450185Z [       OK ] CTS/buffer_mapping_test.ReadData/cuda (3300 ms)
2022-07-26T22:15:37.0450491Z [ RUN      ] CTS/buffer_mapping_test.ReadDataSubspan/cuda
2022-07-26T22:15:37.0450829Z [       OK ] CTS/buffer_mapping_test.ReadDataSubspan/cuda (3483 ms)
2022-07-26T22:15:37.0451179Z [ RUN      ] CTS/buffer_mapping_test.WriteDataWholeBuffer/cuda
2022-07-26T22:15:37.0451533Z [       OK ] CTS/buffer_mapping_test.WriteDataWholeBuffer/cuda (3746 ms)
2022-07-26T22:15:37.0451898Z [ RUN      ] CTS/buffer_mapping_test.WriteDataWithOffset/cuda
2022-07-26T22:15:37.0452260Z [       OK ] CTS/buffer_mapping_test.WriteDataWithOffset/cuda (4016 ms)
2022-07-26T22:15:37.0452614Z [ RUN      ] CTS/buffer_mapping_test.WriteDataSubspan/cuda
2022-07-26T22:15:37.0452944Z [       OK ] CTS/buffer_mapping_test.WriteDataSubspan/cuda (4233 ms)
2022-07-26T22:15:37.0453267Z [ RUN      ] CTS/buffer_mapping_test.CopyData/cuda
2022-07-26T22:15:37.0453576Z [       OK ] CTS/buffer_mapping_test.CopyData/cuda (4119 ms)
2022-07-26T22:15:37.0453876Z [ RUN      ] CTS/buffer_mapping_test.MapRangeRead/cuda
2022-07-26T22:15:37.0454202Z [       OK ] CTS/buffer_mapping_test.MapRangeRead/cuda (4880 ms)
2022-07-26T22:15:37.0454525Z [ RUN      ] CTS/buffer_mapping_test.MapRangeWrite/cuda
2022-07-26T22:15:37.0454706Z
2022-07-26T22:15:38.0232217Z 1156/1157 Test #1033: iree/hal/drivers/cuda/cts/cuda_graph_command_buffer_test .................................................................***Timeout  67.42 sec
2022-07-26T22:15:38.0232968Z [==========] Running 20 tests from 1 test suite.
2022-07-26T22:15:38.0234181Z [----------] Global test environment set-up.
2022-07-26T22:15:38.0234801Z [----------] 20 tests from CTS/command_buffer_test
2022-07-26T22:15:38.0235293Z [ RUN      ] CTS/command_buffer_test.Create/cuda
2022-07-26T22:15:38.0235610Z [       OK ] CTS/command_buffer_test.Create/cuda (5276 ms)
2022-07-26T22:15:38.0235918Z [ RUN      ] CTS/command_buffer_test.BeginEnd/cuda
2022-07-26T22:15:38.0236230Z [       OK ] CTS/command_buffer_test.BeginEnd/cuda (4512 ms)
2022-07-26T22:15:38.0236535Z [ RUN      ] CTS/command_buffer_test.SubmitEmpty/cuda
2022-07-26T22:15:38.0237177Z [       OK ] CTS/command_buffer_test.SubmitEmpty/cuda (5447 ms)
2022-07-26T22:15:38.0237839Z [ RUN      ] CTS/command_buffer_test.CopyWholeBuffer/cuda
2022-07-26T22:15:38.0238509Z [       OK ] CTS/command_buffer_test.CopyWholeBuffer/cuda (4857 ms)
2022-07-26T22:15:38.0239039Z [ RUN      ] CTS/command_buffer_test.CopySubBuffer/cuda
2022-07-26T22:15:38.0239372Z [       OK ] CTS/command_buffer_test.CopySubBuffer/cuda (3359 ms)
2022-07-26T22:15:38.0239726Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size1_offset0_length1/cuda
2022-07-26T22:15:38.0240122Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern1_size1_offset0_length1/cuda (2585 ms)
2022-07-26T22:15:38.0240513Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size5_offset0_length5/cuda
2022-07-26T22:15:38.0240930Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern1_size5_offset0_length5/cuda (2759 ms)
2022-07-26T22:15:38.0241312Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length1/cuda
2022-07-26T22:15:38.0241705Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length1/cuda (3057 ms)
2022-07-26T22:15:38.0242094Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length3/cuda
2022-07-26T22:15:38.0242702Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length3/cuda (3332 ms)
2022-07-26T22:15:38.0243175Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length8/cuda
2022-07-26T22:15:38.0243571Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length8/cuda (3592 ms)
2022-07-26T22:15:38.0243963Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset2_length8/cuda
2022-07-26T22:15:38.0244342Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset2_length8/cuda (3744 ms)
2022-07-26T22:15:38.0244734Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern2_size2_offset0_length2/cuda
2022-07-26T22:15:38.0245131Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern2_size2_offset0_length2/cuda (4023 ms)
2022-07-26T22:15:38.0245521Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset0_length8/cuda
2022-07-26T22:15:38.0245898Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset0_length8/cuda (4195 ms)
2022-07-26T22:15:38.0246293Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset0_length10/cuda
2022-07-26T22:15:38.0246693Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset0_length10/cuda (4201 ms)
2022-07-26T22:15:38.0247138Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset2_length8/cuda
2022-07-26T22:15:38.0247822Z [       OK ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset2_length8/cuda (4886 ms)
2022-07-26T22:15:38.0248351Z [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern4_size4_offset0_length4/cuda

[...]

22-07-26T22:15:41.8979144Z iree/hal/drivers/cuda                                            =   2.69 sec*proc (1 test)
2022-07-26T22:15:41.8979458Z iree/hal/drivers/cuda/cts                                        = 315.66 sec*proc (9 tests)
2022-07-26T22:15:41.8979801Z iree/hal/drivers/local_sync/cts                                  =   0.04 sec*proc (18 tests)
2022-07-26T22:15:41.8980149Z iree/hal/drivers/local_task/cts                                  =   0.41 sec*proc (24 tests)
2022-07-26T22:15:41.8980486Z iree/hal/drivers/vulkan                                          =   2.26 sec*proc (1 test)
2022-07-26T22:15:41.8980805Z iree/hal/drivers/vulkan/cts                                      = 343.62 sec*proc (11 tests)

[...]

2022-07-26T22:15:41.9099919Z Total Test time (real) = 174.42 sec
2022-07-26T22:15:41.9100063Z
2022-07-26T22:15:41.9100151Z The following tests FAILED:
2022-07-26T22:15:41.9100410Z Errors while running CTest
2022-07-26T22:15:41.9100932Z 	1026 - iree/hal/drivers/cuda/cts/cuda_buffer_mapping_test (Timeout)
2022-07-26T22:15:41.9101353Z 	1027 - iree/hal/drivers/cuda/cts/cuda_command_buffer_test (Timeout)
2022-07-26T22:15:41.9102009Z 	1033 - iree/hal/drivers/cuda/cts/cuda_graph_command_buffer_test (Timeout)
2022-07-26T22:15:41.9102797Z 	1078 - iree/hal/drivers/vulkan/cts/vulkan_buffer_mapping_test (Timeout)
2022-07-26T22:15:41.9103240Z 	1079 - iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test (Timeout)

Contrast the latest run at head on Kokoro

iree/hal/drivers/cuda                                            =   0.90 sec*proc (1 test)
iree/hal/drivers/cuda/cts                                        =  56.54 sec*proc (9 tests)
iree/hal/drivers/local_sync/cts                                  =   1.88 sec*proc (18 tests)
iree/hal/drivers/local_task/cts                                  =   7.40 sec*proc (24 tests)
iree/hal/drivers/vulkan                                          =   0.46 sec*proc (1 test)
iree/hal/drivers/vulkan/cts                                      =  92.13 sec*proc (11 tests)

@ScottTodd any thoughts on what sort of thing could cause this? It looks like they're the same tests in both cases, so I'm guessing this is not random? Do these do a lot of IO, by any chance?

@ScottTodd any thoughts on what sort of thing could cause this? It looks like they're the same tests in both cases, so I'm guessing this is not random? Do these do a lot of IO, by any chance?

Those tests read and write buffers in GPU memory a few times, but the buffers themselves are pretty tiny (1KB). Timeouts could indicate device loss maybe? Are the drivers up to date on these machines?

Well dropping test parallelism seems to fix it. I don't really understand why this only shows up on GitHub actions and not on Kokoro, but I think I'm going to remain confused for another day

So I forgot to mention that I actually want to have the GPU job disabled on presubmit to start because I don't want to enable a100 presubmits in general until we've got auto-scaling working properly

Forgot to tag originally, but part of https://github.com/iree-org/iree/issues/9855


Expose arbitrary project URLs

As discussed on distutils-sig, PyPI allows one to specify arbitrary URLs to show up in the sidebar of pypi.org. It would be great to expose this in flit somehow. Perhaps a [urls] or [metadata.urls] section where each key is the name of the link and the value is the URL itself, e.g.
[metadata.urls]
Documentation = "https://flit.readthedocs.io"
Development = "https://github.com/takluyver/flit"

Over time this could replace the homepage key in [metadata] by letting people specify that key themselves.

it would also bee a good case to see wether we can write a bot that autosubmit fixes to all projects using flit.ini/pyproject.toml.

Sounds good. Let's add this after the switch to pyproject.toml, as a carrot for people switching to the new format.

I've made PR #168 to add this feature. It calls the table [tool.flit.metadata.urls].


[Bug]: Runtime variable and line number tables are generated incorrectly for binding pattern variables

Description
$subject.
Related to https://github.com/ballerina-platform/ballerina-lang/issues/42411.
Steps to Reproduce
Use the below sample code and add a debug breakpoint point last line of the main() function
type Person record {|
    int id;
    string fname;
    string lname;
|};

type SampleErrorData record {|
    int code;
    string reason;
|};

type SampleError error<SampleErrorData>;

public function main() {

    // simple binding pattern
    var profession = "Software Engineer";

    // list binding pattern
    [int, [string, string]] [id, [firstName, _]] = getDetails();

    // mapping binding pattern
    string givenName;
    string surname;
    {fname: givenName, lname: surname} = getPerson();

    // error binding pattern
    var error(_, cause, code = code, reason = reason) = getSampleError();

    // binding patterns inside a match statement
    matchCommand(["Remove", "*", true]);
}

function getDetails() returns [int, [string, string]] {
    return [
        1234,
        ["John", "Doe"]
    ];
}

function getPerson() returns Person {
    Person person = {id: 1001, fname: "Anne", lname: "Frank"};
    return person;
}

function getSampleError() returns SampleError {
    return error("Transaction Failure", error("Database Error"), code = 20, reason = "deadlock condition");
}

function matchCommand(any commands) {
    match commands {
        var [show] => {
            string name = "show";
        }
        // The list binding pattern below binds lists that contain three list items
        // where the third element in the list is the boolean value `true`.
        var [remove, all, isDir] if isDir is true => {
            string name = "remove";
        }
        // The list binding pattern below binds lists that contain three list items.
        var [remove, all, _] => {
            string name = "remove";
        }
        // The list binding pattern below binds lists that contain two list items,
        // in which the second list item is also a list of two items.
        var [copy, [file1, file2]] => {
            string name = "copy";
        }
        _ => {
            string name = "unknown";
        }
    }
}

When the debug point gets hit, observe the visible local variables. No binding pattern variables are visible to the location.

Affected Version(s)
2201.10.x and below
OS, DB, other environment details and versions
No response
Related area
-> Runtime
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

Type binding variables ( ex. id, firstname, givenName, surName in main method) are inside BlangBlockStatement. So when we generating scopes for the bir, scope is set only to given block. So when generating target bytecode, Line numbers are restricted to given block line numbers only.
When we generating BIR, we do not have a way to seperate out type binding variables with other scope variables. (Ex. inside if). This might needs to be handle in AST generation. @gimantha @MaryamZi

Seems to work for the error binding pattern, so may be possible for the other two.

For the binding pattern, we currently create a block node during the desugaring phase and add variable definitions within that block node. As a solution for this issue, we propose adding these variable definitions directly to the parent node instead of nesting them within a block node.
Currently, the desugaring phase rewrites the existing node. With this change, we need to modify the process to add the necessary node to either the function scope or the block scope, depending on the context.


[HELP] Get updates for a specific chat

I'm using https://gitlab.com/Fnux/elixir-tdlib/-/tree/master which uses https://github.com/oott123/tdlib-json-cli.
I've done logging in and it worked OK. My database is also OK, and I can restart app and I'm signed in.
First, I wait until I get updateAuthorizationState with an authorization_state of authorizationStateReady.
What I do is call openChat with a specific chat id, then I wait for updateNewMessage and check if this message is for the chat I'm interested in. If it is, I process message and then send a viewMessages for that message to let servers know that this message was viewed.
It kind of works. I also have my account open in desktop app.
What I observe is that my app receives updateNewMessage with a delay of about 2 minutes. IDK why, and I'm asking if I'm doing it OK.
This 2 minutes delay is what I observe, and is not an exact value, but it feels like it always is the same. I'm sure I get the updates with a delay, but the value may vary.
IDK, is there anything I should call that makes this delay vanish? I've debugged for some hours, but I couldn't find the issue.
I've also tried listening for updateNewChat, and after I see that specific chat I call openChat. I sometimes get updateNewChat and sometimes not, but it does not make a difference.
Any help or tip is greatly appreciated!

What I observe is that my app receives updateNewMessage with a delay of about 2 minutes.

This could happen if you are using not up-to-date version of TDLib. You need to update it frequently to avoid the delay.


Log File Does Not Report Assets Count or Asset Download Errors

When completing the download, the tool reported that 59 assets were missing (Assets: 17564 / 17623).

Due to this, I checked the logs to see which assets it had failed to download. However, I could not find any sort of errors reported. Thinking that this was perhaps an incorrect number being reported, I looked at the bottom of the log for the count when I realized that it is missing.

I believe the count should be recorded in the log as it is also shown in the application (see the first image). Additionally, I understand the disclaimer that the tool may be unable to download everything from my account. However, if the tool is reporting assets that it had found, then it should state a warning or error about retrieving that asset instead of silently ignoring the issue. I know this sort of thing would not be acceptable by many Neos groups.

You're meant to see this:

In the UI which took... forever to write... :'(
I'll see about figuring out why BOTH are broken :'(

Alright much better:

Time to use the above UI to display info aswell. GridViews are not fun.

I agree. It's like HTML tables. Not fun.

Fixed in #69 , probably needs a bunch of UI tweaks but those can happen later. PR for timeout issue coming soon(90% of asset failures are caused by this)


Proposition for a second example

I was playing with your lib trying to make it works with wamp and surprisingly it worked ! It's really interesting because wamp makes message passing and RPC with a backend painless.
You need a wamp router, autobahn python and your lib to make these examples run.
These example are intentionally a bit complex, I wanted to test everything before rewriting a medium sized PyQT5 app to use wamp. I can make them simpler if you find them interesting.
simple_wamp_backend.py
gui_wamp_client.py
Here is the part that launch gui_wamp_client.py file:
if __name__ == "__main__":
    QT_app = QApplication(sys.argv)

    loop = QEventLoop(QT_app)
    asyncio.set_event_loop(loop)

    runner = ApplicationRunner(url="ws://<IP_ADDRESS>:8080/ws", realm="realm1")
    runner.run(MainWindow)

have a good day :-)

It's kind of overly specific for an example.
Also, you're not using asyncio signal handling (loop.add_signal_handler:
https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.BaseEventLoop.add_signal_handler
)
You should just be able to do loop.stop() and be good (unless you want to
pop-up some sort of error message like "don't go")
I also curious about this:
https://gist.github.com/icefo/5cc6d3a90c2785b79f64#file-simple_wamp_backend-py-L49-L53
loop.add_signal_handler(signal.SIGINT, loop.stop)
loop.add_signal_handler(signal.SIGTERM, loop.stop)

should be sufficient.
A tutorial/example for receiving signals might be a good idea though.
On Thu, Oct 29, 2015 at 9:23 AM, icefo<EMAIL_ADDRESS>wrote:

I was playing with your lib trying to make it work with wamp
http://wamp-proto.org/ and surprisingly it worked ! It's really
interesting because wamp makes message passing and RPC with a backend
painless.
You need a wamp router http://crossbar.io/, autobahn python
http://autobahn.ws/python/ and your lib to make these examples run.
These example are intentionally a bit complex, I wanted to test
everything before rewriting a medium sized PyQT5 app to use wamp. I can
make them simpler if you find them interesting.
simple_wamp_backend.py
https://gist.github.com/icefo/5cc6d3a90c2785b79f64
gui_wamp_client.py https://gist.github.com/icefo/62b4009d3cada5539750
Here is the part that launch gui_wamp_client.py file:
if name == "main":
QT_app = QApplication(sys.argv)
loop = QEventLoop(QT_app)
asyncio.set_event_loop(loop)

runner = ApplicationRunner(url="ws://<IP_ADDRESS>:8080/ws", realm="realm1")
runner.run(MainWindow)

have a good day :-)
—
Reply to this email directly or view it on GitHub
https://github.com/harvimt/quamash/issues/51.

Also you should be using super() not calling init manually.
On Thu, Oct 29, 2015 at 9:55 AM, Mark Harviston<EMAIL_ADDRESS>wrote:

It's kind of overly specific for an example.
Also, you're not using asyncio signal handling (loop.add_signal_handler:
https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.BaseEventLoop.add_signal_handler
)
You should just be able to do loop.stop() and be good (unless you want to
pop-up some sort of error message like "don't go")
I also curious about this:
https://gist.github.com/icefo/5cc6d3a90c2785b79f64#file-simple_wamp_backend-py-L49-L53
loop.add_signal_handler(signal.SIGINT, loop.stop)
loop.add_signal_handler(signal.SIGTERM, loop.stop)

should be sufficient.
A tutorial/example for receiving signals might be a good idea though.
On Thu, Oct 29, 2015 at 9:23 AM, icefo<EMAIL_ADDRESS>wrote:

I was playing with your lib trying to make it work with wamp
http://wamp-proto.org/ and surprisingly it worked ! It's really
interesting because wamp makes message passing and RPC with a backend
painless.
You need a wamp router http://crossbar.io/, autobahn python
http://autobahn.ws/python/ and your lib to make these examples run.
These example are intentionally a bit complex, I wanted to test
everything before rewriting a medium sized PyQT5 app to use wamp. I can
make them simpler if you find them interesting.
simple_wamp_backend.py
https://gist.github.com/icefo/5cc6d3a90c2785b79f64
gui_wamp_client.py https://gist.github.com/icefo/62b4009d3cada5539750
Here is the part that launch gui_wamp_client.py file:
if name == "main":
QT_app = QApplication(sys.argv)
loop = QEventLoop(QT_app)
asyncio.set_event_loop(loop)

runner = ApplicationRunner(url="ws://<IP_ADDRESS>:8080/ws", realm="realm1")
runner.run(MainWindow)

have a good day :-)
—
Reply to this email directly or view it on GitHub
https://github.com/harvimt/quamash/issues/51.

The exit_cleanup is like that because the bigger app launch process and need to wait for them to complete before exiting and without the highlighted part I get that when I press Ctrl-C:
Task was destroyed but it is pending!
task: <Task pending coro=<exit_cleanup() running at /home/adrien/Documents/PyCharm/PycharmProjects/Pc_num/wamp_tests/server.py:44> wait_for=<Future pending cb=[Task._wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending coro=<time_teller() running at /home/adrien/Documents/PyCharm/PycharmProjects/Pc_num/wamp_tests/server.py:39> wait_for=<Future pending cb=[Task._wakeup()]>>

Thank you for "loop.add_signal_handler" I didn't see it the doc. This might solve some strange bugs I'm facing.
I was using super() but I stopped when I had to pass arguments. I'll read the docs about that.
Thank you for your answers and your lib :-)


migrate to bun

📝 Changed routes:

/community
/wallet-sdk

(view full size)
(view full size)

Commit df7ba628167a5331edcec1bcbc49f1eddaa336d6 (https://thirdweb-7m1y4vyji.thirdweb-preview.com).


new icons for android to match the material design from google

I’ve created new icons following the material design guidelines from
google.

Thank you very much!


Create Integration Tests for AlgorithmResources controller

Integration tests cover round trip - store, retrieve, delete, confirm delete

Still need to perform integration testing for CWMS/CCP


Location Tool: Named Custom Locations Should Appear in Search

Problem
After a custom location is saved, it should appear in the location search if it is either public, or private and owned by your organization or an affiliate/group organization.
Solution

Location Name should be required.
1.1 If the Location Name is left blank, the system can make a guess by combining the Location Name and Organization name, for example: "Team Rubicon Primary Response Area"
Location Type should be required.
After the location is saved, it should appear in the location search.

Related: Go to https://app.staging.crisiscleanup.io/locations/1858/edit: If the location was saved without choosing a location name and type, and then you choose Location Type = "Primary Response Area," then a list of organizations should appear. But doesn't.

Approved.


Fixed the courses image is not showing

Description
I have fixed the image now the image will be shown on the courses page
Fixes #1198
Replace issue_no with the issue number which is fixed in this PR
Screenshots

Checklist

[ ] Tests have been added or updated to cover the changes
[ ] Documentation has been updated to reflect the changes
[ ] Code follows the established coding style guidelines
[ ] All tests are passing

Resolve conflict

@thestarsahil  Done sir


Compiler error with unique_ptr pug::xml_node

Hi,
I apologise if this might turn out to be trivial but I am puzzled with the following issue. The strange thing is that it compiled correctly before. Also the demo programs compile correctly.
The error occurs at header file inclusion0:

GCC 7.5.0
In file included from /usr/include/c++/7/memory:80:0,
from /usr/local/include/bsoncxx/v_noabi/bsoncxx/builder/core.hpp:17,
from /usr/local/include/bsoncxx/v_noabi/bsoncxx/builder/stream/document.hpp:17,
from /home/erik/src/C++/CosinaGenConCSV/CosinaGenConCSV.cpp:15:
/usr/include/c++/7/bits/unique_ptr.h: In instantiation of ‘void std::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = pugi::xml_node]’:
/usr/include/c++/7/bits/unique_ptr.h:371:17:   required from ‘void std::unique_ptr<_Tp, _Dp>::reset(std::unique_ptr<_Tp, _Dp>::pointer) [with _Tp = pugi::xml_node; _Dp = std::default_deletepugi::xml_node; std::unique_ptr<_Tp, _Dp>::pointer = pugi::xml_node*]’
/usr/include/c++/7/bits/unique_ptr.h:278:7:   required from ‘std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(std::unique_ptr<_Tp, _Dp>&&) [with _Tp = pugi::xml_node; _Dp = std::default_deletepugi::xml_node]’
/home/erik/src/C++/CosinaGenConCSV/../../OpenXLSX/library/headers/XLCell.hpp:66:27:   required from here
/usr/include/c++/7/bits/unique_ptr.h:76:22: error: invalid application of ‘sizeof’ to incomplete type ‘pugi::xml_node’
static_assert(sizeof(_Tp)>0,

Apologies, seems that I need glasses. It is problem with the bsoncxx.


"CORD-19 Reference Title" dataset and MEDLINE/PubMed models

Thanks for releasing the PubMed models and benchmark results.
We're interested in learning more about the CORD-19 Reference Title dataset.
Could you provide us with more details e.g. dataset size, train/val/test split, etc.?
Will you release the fine-tuning scripts for these datasets?

Task
Description

CORD-19 Reference Title
The CORD-19 Reference Title task is a task derived from the CORD-19 dataset[4] which contains scholarly articles about COVID-19. This task is a sentence pair classification task where the first sentence is a sentence from the article containing a reference (e.g., "Roses are red [1]."). The second sentence is a title from the article references (e.g., "A Survey of Roses"). The label is 1 if the sentence and title match or 0 if the title was randomly selected (from another reference in that article).

CoLA
The Corpus of Linguistic Acceptability (CoLA)[5] consists of English acceptability judgments drawn from books and journal articles on linguistic theory. Each example is a sequence of words annotated with whether it is a grammatical English sentence.

MRPC
The Microsoft Research Paraphrase Corpus (MRPC)[6] is a corpus of sentence pairs automatically extracted from online news sources, with human annotations for whether the sentences in the pair are semantically equivalent.

https://tfhub.dev/google/collections/experts/bert/1
https://tfhub.dev/google/experts/bert/pubmed/1

The task is generated from the 2020-04-24 scrape of the CORD-19 dataset as described above. Here are some more details that may be helpful. Our eval dataset includes splits for train (63350 examples), test (8041 examples), and validation (7773 examples). Sentences are sampled with a minimum of 10 tokens and maximum of 1024 tokens. Examples are produced with ~equal numbers of positive and negative examples - a reference title and a sentence which cites that reference are produced, and whenever possible, the same reference title and a sentence that does not cite that reference is also produced.
At this time, we have no plans to publish the generated dataset.
The model can be fine-tuned with the https://github.com/tensorflow/models/blob/master/official/nlp/bert/run_classifier.py script from the TF Model Garden using max_seq_length=128 and --hub_module_url with the relevant TFHub.dev model handle.

Thank you, @kempy @rmothukuru @j-grimstad
Is this PubMed model pretrained from scratch (pretraining from random weights)? Or is it continual pretraining from the regular bert-base-uncased?
The model ( https://tfhub.dev/google/experts/bert/pubmed/1 ) uses the regular vocab, so I'm guessing it's continual pretraining, but 500K steps with a batch size of 2048 sounds too much for continual pretraining.

Oops, sorry for the late reply @usuyama. It is trained from scratch on the PubMed corpus, but uses the original BERT vocab since there was no significant difference in our experiments from using a custom vocab.

@usuyama,please reopen this if you have more questions in future.Thanks.


Release: Versioning statement

Is your feature request related to a problem? Please describe.
Scorecard should issue a versioning statement.
Alternatives
Proposal 1: CalVer

Releases can be scheduled in advance without worrying about what qualifies as major/minor
Precedent: https://calver.org/#other-notable-projects
This approach breaks consistency with previous scorecard releases

Proposal 2: SemVer

Update the docs to issue a SemVer statemeng

E.g.: Any update to scoring triggers a major version release, any update to scoring that fixes a bug but doesn't change the algorithm triggers a minor version release.

Would need to think about feature-flagging scoring changes by release (this is only partially implemented: https://github.com/ossf/scorecard/blob/4ebe521141260a4b308b2b709a43ddd201689c32/options/options.go#L201)

Scorecard API
With either versioning scheme, the Scorecard API should include in results:

Commit SHA of Scorecard
Version, if available

Scorecard-Action
Scorecard-Action should use the latest stable version of Scorecard.

I think Go has standardized on SemVer, so at the end of the day it's whether we want that version to be:

github.com/ossf/scorecard/v5
github.com/ossf/scorecard/v2023.1.1 (or similar)

Personally, I prefer the former.

Update the docs to issue a SemVer statemeng
E.g.: Any update to scoring triggers a major version release, any update to scoring that fixes a bug but doesn't change the algorithm triggers a minor version release.

I think this discussion gets easier with Structured results.
 Which I think can be done with the addition of a new rule for the new behavior, deprecation of the old rule, and then a removal at some point.

Would need to think about feature-flagging scoring changes by release (this is only partially implemented:

I was under the impression we were consolidating on just SCORECARD_EXPERIMENTAL to feature-flag.
API

With either versioning scheme, the Scorecard API should include in results:
Commit SHA of Scorecard
Version, if available

This sounds like no change from the current behavior
Action

Scorecard-Action should use the latest stable version of Scorecard.

Again, no change from the current behavior


Tiny fixes

with the removal of pr_jobs.groovy and the upgrade of Maven version we are sure tha the jobs are not overridden again and the "old" Maven 3.5.2 version applied.
As FDBs, downstream.production and upstream builds are using Jenkinsfile they use Maven 3.5.4 (IIRC this was a buggy version of Maven). Not clear to me where this constant is used. So I left it like it is. To have in mind that we are using somehow right now three different maven version.
I would syncr. all Mavens to 3.6.3.

can you please also announce this change for our ML ?

it would be also very nice to upgrade jdk 8 to the latest one, but I think it is ok to do it in different PR as this needs to create new image for build nodes too.

@mareknovotny rebased!
The seed-job on Jenkins execute the pr_job.groovy and compile_downstream_build.groovy.
Once this seed-job is executed it also "updates" seed_job-groovy - so the seed-job itself. It will be overwritten. This has not any more the jobs  pr_job and compile_downstream!


trait_pivot_wider error, list cols generated.

author: fontikar
date: 2021-06-16
output: "reprex::reprex_document"
title: plump-imago_reprex.R
Discovered pivot_wider error when trying to pivot a subset of austraits that contains only "Falster" studies. Need to investigate. Generates list-cols which is what we don't want. Need to write a test for this too! I suspect maybe dataset_id is non-unique so it can't pivot?
#Extract multiple studies
# Filtering multiple studies by same lead author (e.g. Falster) and assigning it to an object
dataset_ids <- austraits$methods$dataset_id %>% unique() #All possible dataset_ids
#> Error in austraits$methods$dataset_id %>% unique(): could not find function "%>%"
falster_ids <- dataset_ids[str_which(dataset_ids, "Falster")]  # Extracting dataset_ids with lead author "Falster"
#> Error in eval(expr, envir, enclos): object 'dataset_ids' not found

falster_studies <- extract_dataset(austraits, falster_ids)
#> Error in extract_dataset(austraits, falster_ids): could not find function "extract_dataset"

trait_pivot_wider(falster_studies$traits)
#> Error in trait_pivot_wider(falster_studies$traits): could not find function "trait_pivot_wider"

Created on 2021-06-16 by the reprex package (v2.0.0)

I FIXED THIS! SO HAPPY! I created a unique ID and pivotted wider and the removed it. Pushed to develop branch  7b9d53e
data %>%        dplyr::rename(to_spread = !!v) %>%       dplyr::mutate(unique_id = paste(.data$dataset_id, dplyr::row_number(), sep = "_")) %>%        dplyr::select(.data$dataset_id:.data$unique_id) %>% #select all the cols       tidyr::pivot_wider(names_from = .data$trait_name, values_from = .data$to_spread) %>%        dplyr::select(-.data$unique_id)


add build instructions to README

add build instructions to README: Replace "TBW"

Just add what you did for conda-gromacs-2016#1


Layout buttons on title bar are not keyboard accessible

Testing #143581
It seems I can't tab into the layout actions. If I click one of the button, then I can tab into that button but not others.

This is what I was seeing. It's confusing that

We can only tab into the first button
The layout buttons are the very last one in the tab order, I expect it to be the first.

I'm not sure if they should be first, cc @isidorn
they are accessible via keyboard but this is not the most convenient way for a keyboard user to access these functions, so I feel they should be "out of the way"

They should act like all our other toolbars. The whole toolbar is one tab-stop, pressing left / right navigates between the actions inside the toolbar.
And yes, they deserve one tab-stop, they should not be completely out of the way.

The current behaviour is that which isi describes as correct


Cache shrinkwrap extractions

We just kinda grab the tarball every time rn. We can cache that separately.

Gonna mark this as a duplicate of #35, since that one's more detailed and specific about what needs to be done and where -- this particular issue was created before most of that code was really in place.


Medication output

Dear developers,
For the Medication module am I interpreting the graphic provided correctly and there is not Output class associated with the Medication process?
With kind regards,
Núria

Clear. Thanks @pabloalarconm!


Support for Gelbooru 0.1.11?

I was trying to add http://shorty.booru.org to the list of boorus, however it doesn't work, it shows a red X instead of a favicon, and isn't being shown in the search bar

The API isn't disabled, since ShortyBooru it works in a mobile app, Anime Boxes.
Using the newest, 1.5.0 version on Windows 10.

Gelbooru 0.1.11 doesn't have any API functionality.
Anime Boxes most likely parses the html from the web front-end, and that is something ahoviewer isn't designed to do.


Statement of facts contains extraneous language

[key parameters: Barry County, legally incapacitated adult, domestic petition]
The statement of facts attached to cc 375 makes statements about aliases and children that the user was never asked. I think these should be excluded unless it's Oakland.

similar issue with alias language in the sexual assault petition (12 year old petitioner, Calhoun cty).
Should check nondomestic template too.


[VQC-CHALLENGE] [QC_SUST] [03/11/22]

Team members

Ishtiaque Rahman<EMAIL_ADDRESS>Sakibul Islam Rayhan<EMAIL_ADDRESS>MH Tanver<EMAIL_ADDRESS>Imtiaz Kabir Iftu<EMAIL_ADDRESS>Alve Rahman<EMAIL_ADDRESS>Rahul Dev Sharma<EMAIL_ADDRESS>
Submission summary
Optimization method: Gradient Descent Optimization
Accuracy: 100%
Cost: 0.001
Additional comments
Changed the optimization method from SPSA to Gradient Descent Optimization for faster convergence and trained for 250 iterations.

Thanks for your submission! Your model achieved 100% accuracy on our judging data set with a quantum cost of 2500, and currently ranks 13th on the overall leaderboard.
REMINDER: The final submission deadline is Friday, November 4th 10am EST, and any new PR's opened will not be reviewed until after the deadline.


Installed Logtrail, but don't have "L" button in Kibana menu

I installed Logtrail on Kibana (Elastic 5.6.3 stack with X-Pack), but haven't received "L" menu in Kibana.
I don't see any relevant things into Kibana logs.
Any suggestions?
TIA,
Vitaly
kibana-plugin list
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

Did you restart Kibana after installation of Logtrail?
On Tue, Apr 10, 2018 at 19:10 vitalykarasik<EMAIL_ADDRESS>wrote:

I installed Logtrail on Kibana (Elastic 5.6.3 stack with X-Pack), but
haven't received "L" menu in Kibana.
I don't see any relevant things into Kibana logs.
Any suggestions?
TIA,
Vitaly
kibana-plugin list
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/sivasamyk/logtrail/issues/266, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABZXetuiOgT6dRhpf51UJm0TZDzWL4Kiks5tnLZDgaJpZM4TOR0c
.

Yes, and I restarted kibana 2nd time  now just to be sure.

I'm curious if there is a way to get list of loaded Kibana plugins?

Kibana prints the plugins loaded in server logs. Can you check the Kibana server logs?

Sivasamy, many thanks for your assistance!
And shame on me - I ran kibana-install as root, so Kibana just didn't see this plugin.


Update to C7 0.8

I'm not sure how to handle async body, any thoughts?
        case .asyncReceiver(let asyncReceiver):
            while !asyncReceiver.closed {
                asyncReceiver.receive(upTo: 2014, timingOut: .never) { getData in
                    do {
                        let data = try getData()
                        try transport.send(String(data.count, radix: 16).data)
                        try transport.send(newLine)
                        try transport.send(data)
                        try transport.send(newLine)
                    } catch {

                    }
                }
            }
            asyncReceiver.flush(timingOut: .never) { wat in
                do {
                    try transport.send("0".data)
                    try transport.send(newLine)
                    try transport.send(newLine)
                } catch {

                }
            }

doesn't that work?

We're good here :)


feat: updated docs for k8s 1.30

This PR updates the docs to show the changes for 1.30

Changes are included in other PR


Fix #680: concurrent requests over http IllegalMonitorException

This PR addresses GitHub issue: #680 .
Briefly describe the changes proposed in this PR:

RepositoryInterceptor in RDF4J Server no longer keeps a shared RepositoryConnection, instead it creates a new, pre-configured connection whenever needed. Callers are responsible for closing the connection when done.
Native store internal locking simplified

These fixes have been tested in combination with the test case provided in #680, and it seems to resolve the issue. In addition all existing tests greenline.
I will look into adding the provided test case to our suite as a regression test.

FWIW I have the feeling I keep falling into the same trap, over and over. The fix I'm doing in NativeStore is similar to something I've tried before, and, on the face of it, reasonable. When testing locally everything succeeds. But for some reason it breaks the build on Travis.

Also not 100% sure about the changes to RepositoryInterceptor yet. Hold off on deep review for now, as it may not be necessary for #680, so I might  revert it.

I had a closer look, and I think the failing test (RDFStore.testMultiThreadedAccess) is actually a flawed test - it checks multithreaded access on the same SailConnection, which is something we don't guarantee to work.

Yes, I agree, the test is flawed by the shared connection.
Its use of "sleep" instead of a CountDownLatch or similar to ensure synchronicity at the join points is another flaw.

I decided to leave the changes to RepositoryInterceptor in, as I think the new design is more robust and easier to maintain. Any further reviews are appreciated.


XCode 8.3 (develop): Installs fine, but doesn't work?

I've installed the develop branch of XVim to my XCode 8.3.1 (newly downloaded yesterday). It built fine, installed the package, and I clicked the "load" button when XCode booted.
However, nothing seems to have changed in XCode. Is there a setting I need to enable to get Vim functionality working..? I have an empty .xvimrc at the moment.

Interesting. I did the same today and it worked fine for me, no problems. I ran make uninstall first though, to remove any old files. I'm not sure if that helps.

Just to be clear, I don't have to enable anything first? XCode should just
load plugins automatically? This is also my first time using XCode.
Is there any way I can verify that the plugin code is loaded / running?
Should there be print outs in a log somewhere?
The plugin also seems to be installed int he XCide plugins folder and has
the correct UUID in the properties.
I tried the uninstall, but no dice there either.
On Sat, Apr 8, 2017, 11:39 PM Aqib Shah<EMAIL_ADDRESS>wrote:

Interesting. I did the same today and it worked fine for me, no problems.
I ran make uninstall first though, to remove any old files. I'm not sure
if that helps.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/XVimProject/XVim/issues/1060#issuecomment-292767579,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABB2CLEWOqmiaabUbGvjYRyRE2QAF8rbks5ruH0GgaJpZM4M3yby
.

Since you're using Xcode 8, did you first follow https://github.com/XVimProject/XVim/blob/master/INSTALL_Xcode8.md ?
I just did a clean install from develop and it worked fine.

Dang! Yep, wow, sorry for taking your time.
I saw that link on the main page, but I assumed I was already reading that install readme on the main page, rather than it being a different guide. Seems to work fine now!
Thanks


WorkloadHealthScale formatter shows incorrect number of pending Pods

This bug is in the latest version of master.
To reproduce,

Schedule multiple Deployments. In my setup each Deployment has 10 replicas. They are all in a pending state because the workloads are unschedulable or crashing for testing purposes.
In the Deployments list page, open the WorkloadHealthScale formatter.
The Pending count is expected to be 10, but is actually the sum total of all Pods in the cluster.

Closing this issue because the problem was my development environment. I had created a bunch of Deployments that all had the same selectors, so they all selected each other's Pods. After giving them unique selectors, this problem was solved.


Add bulk inserts for Cosmos DB for reduced cost.

:white_check_mark: Build mentorbot 1.0.72-stcheqmm completed (commit https://github.com/MentorSource/mentorbot/commit/a580b061a7 by @rosenkolev)

Codecov Report

Merging #24 into master will decrease coverage by 2.58%.
The diff coverage is 65.38%.

@@            Coverage Diff            @@
##           master     #24      +/-   ##
=========================================
- Coverage   92.39%   89.8%   -2.59%
=========================================
  Files          20      20
  Lines         933     942       +9
=========================================
- Hits          862     846      -16
- Misses         71      96      +25

Impacted Files
Coverage Δ

...torBot.Functions/Services/DocumentClientService.cs
11.11% <0%> (-79.37%)
:arrow_down:

...MentorBot.Functions/Processors/OpenAirProcessor.cs
100% <100%> (ø)
:arrow_up:

...orBot.Functions/AzureFunctions/HangoutChatEvent.cs
100% <100%> (ø)
:arrow_up:

src/MentorBot.Functions/AzureFunctions/Queries.cs
100% <100%> (ø)
:arrow_up:

...MentorBot.Functions/Connectors/OpenAirConnector.cs
81.55% <100%> (ø)
:arrow_up:

src/MentorBot.Functions/Services/StorageService.cs
86.2% <63.63%> (-9.95%)
:arrow_down:

Continue to review full report at Codecov.

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


Create pages for editing and creating users

Add action button atop the table of accounts to create new account by redirecting to a new page.
Allow creating multiple accounts (details are to be discussed, perhaps we should offload this task to Backend to handle multiple accounts) at a time.
Add a page that will load details of an account.

Done wih one account for now. Multiple accounts shall be dealt with on backend


merge from template-sync/template-arlac77-github

.github/workflows/ci.yml

chore: add<EMAIL_ADDRESS>(jobs.test-node.steps.uses)
chore: add<EMAIL_ADDRESS>(jobs.release.steps.uses)

.github/workflows/codeql_analysis.yml

chore: add<EMAIL_ADDRESS>(jobs.analyze.steps.uses)

.github/workflows/update_package_lock.yml

chore: add<EMAIL_ADDRESS>(jobs.update_package_lock.steps.uses)

.github/workflows/update_readme_api.yml

chore: add<EMAIL_ADDRESS>(jobs.update_readme_api.steps.uses)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>0
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 22.976%

Totals

Change from base Build<PHONE_NUMBER>7:
0.0%

Covered Lines:
102

Relevant Lines:
453

💛  - Coveralls


mtlnvg__renderDelete crash (old version)

I'm experiencing an occasional crash when quitting my application and destroying the Nanovg context.  There is a message on the console,
BUG IN CLIENT OF LIBDISPATCH: Semaphore object deallocated while in use
which led me to  this workaround https://lists.apple.com/archives/cocoa-dev/2014/Apr/msg00484.html
Not yet sure if this completely fixes it
https://github.com/iPlug2/iPlug2/commit/2526e838c7515b16e3c66e3edd7dae7f2712c675
I'm currently stuck with an older version of MetalNanoVG,  because with the latest I am getting some deadlocks that didn't happen before (https://github.com/iPlug2/iPlug2/issues/152)( but maybe due to incorrect use).  I need to investigate in a barebones app. However,  it looks like the dispatch_semaphore_create call is similar
would be possible to explain the usage of libdispatch in MetalNanoVG,  so I can try and better understand the problems?

That's a bit weird. Your solution should have the same meaning as the original one.

If I want to render something to an fbo, can that be done inside a main begin/endframe pair?

You need nvgBeginFrame() and nvgEndFrame() for every FBO. The correct way to use FBO is something like...
# Creates a FBO
MNVGframebuffer* fb = mnvgCreateFramebuffer(ctx, ...)

# Uses the FBO
mnvgBindFramebuffer(fb)
nvgBeginFrame(ctx, ...)
... # drawing something
nvgEndFrame(ctx);
nvgBindFramebuffer(NULL);

...

# Deletes the FBO
mnvgDeleteFramebuffer(fb)

Hi @olliwang - I did the FBO stuff for IPlug2 - it looks like we probably are not always balanced in our calls (more calls nvgEndFrame() than nvgBeginFrame())

Am I right that this could be the issue?

So - I blanked our calls but it didn't fix the issue so I've taken more of a look at the semaphore calls, having done enough threading in the past to have a reasonable idea of how things work.
The logic of the semaphores is totally unclear to me. It seems to be linked to the number of frame buffers for backing, but here we are starting and finishing FBOs for our own purposes a lot of the time.
@olliwang  - would you mind explaining what this code is trying to do? It may be that I've misunderstood it, but I can't figure out how it is protecting the progression of events in a way that makes sense here.A single semaphore to protect multiple resources seems a bit strange to me.

@AlexHarker You can't have more nvgEndFrame() than nvgBeginFrame().
About semaphore, please check Apple's official guide at https://developer.apple.com/library/archive/documentation/3DDrawing/Conceptual/MTLBestPracticesGuide/TripleBuffering.html

Thanks - yes - now I see that this is doing threading things I can see the need for a blanked count.
I think I am getting to grips with the semaphore at the moment, but it is still blocking in our case, although I have demonstrated our calls to be balanced - I'll do some more digging to see what I can find.

OK - thanks for the noise - I checked my balancing in the wrong place and now I've checked the balancing directly in MetalNanoVG I've managed to correct the blanking properly.
Sorry for the noise.

closing this, since we think it was due to mismatched nvgEndFrame() /  nvgBeginFrame


Strange errors on :Linediff

This happens on every second :Linediff, right before vimdiff opening.
"/tmp/vVwhNek/20" [New File]
Error detected while processing function <SNR>20_Linediff..<SNR>20_PerformDiff..linediff#differ#CreateDiffBuffer..linediff#differ#SetupDiffBuffer:
line    7:
"/tmp/vVwhNek/21" [New File]
E492: Not an editor command: %04v][%p%%]\ [%L\ lines]
Press ENTER or type command to continue

This %04v][%p%%]\ [%L\ lines] is part of the statusline definition in my vimrc file.

Should be alright in the latest master. The problem was in the \| you had in your statusline. This was being executed like this:
exe "setlocal statusline=" . escape(statusline, ' ')

The fix was adding the pipe in the escape list.
I think there was a reasonable way to do let &statusline = "..." in vim and have it active only in the current buffer, but I can't really remember how. This would also solve the problem, and wouldn't need escaping.